module Stratosphere.QuickSight.Dashboard.PivotTableFieldOptionsProperty (
        module Exports, PivotTableFieldOptionsProperty(..),
        mkPivotTableFieldOptionsProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.QuickSight.Dashboard.PivotTableDataPathOptionProperty as Exports
import {-# SOURCE #-} Stratosphere.QuickSight.Dashboard.PivotTableFieldCollapseStateOptionProperty as Exports
import {-# SOURCE #-} Stratosphere.QuickSight.Dashboard.PivotTableFieldOptionProperty as Exports
import Stratosphere.ResourceProperties
data PivotTableFieldOptionsProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-pivottablefieldoptions.html>
    PivotTableFieldOptionsProperty {PivotTableFieldOptionsProperty -> ()
haddock_workaround_ :: (),
                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-pivottablefieldoptions.html#cfn-quicksight-dashboard-pivottablefieldoptions-collapsestateoptions>
                                    PivotTableFieldOptionsProperty
-> Maybe [PivotTableFieldCollapseStateOptionProperty]
collapseStateOptions :: (Prelude.Maybe [PivotTableFieldCollapseStateOptionProperty]),
                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-pivottablefieldoptions.html#cfn-quicksight-dashboard-pivottablefieldoptions-datapathoptions>
                                    PivotTableFieldOptionsProperty
-> Maybe [PivotTableDataPathOptionProperty]
dataPathOptions :: (Prelude.Maybe [PivotTableDataPathOptionProperty]),
                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-pivottablefieldoptions.html#cfn-quicksight-dashboard-pivottablefieldoptions-selectedfieldoptions>
                                    PivotTableFieldOptionsProperty
-> Maybe [PivotTableFieldOptionProperty]
selectedFieldOptions :: (Prelude.Maybe [PivotTableFieldOptionProperty])}
  deriving stock (PivotTableFieldOptionsProperty
-> PivotTableFieldOptionsProperty -> Bool
(PivotTableFieldOptionsProperty
 -> PivotTableFieldOptionsProperty -> Bool)
-> (PivotTableFieldOptionsProperty
    -> PivotTableFieldOptionsProperty -> Bool)
-> Eq PivotTableFieldOptionsProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PivotTableFieldOptionsProperty
-> PivotTableFieldOptionsProperty -> Bool
== :: PivotTableFieldOptionsProperty
-> PivotTableFieldOptionsProperty -> Bool
$c/= :: PivotTableFieldOptionsProperty
-> PivotTableFieldOptionsProperty -> Bool
/= :: PivotTableFieldOptionsProperty
-> PivotTableFieldOptionsProperty -> Bool
Prelude.Eq, Int -> PivotTableFieldOptionsProperty -> ShowS
[PivotTableFieldOptionsProperty] -> ShowS
PivotTableFieldOptionsProperty -> String
(Int -> PivotTableFieldOptionsProperty -> ShowS)
-> (PivotTableFieldOptionsProperty -> String)
-> ([PivotTableFieldOptionsProperty] -> ShowS)
-> Show PivotTableFieldOptionsProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PivotTableFieldOptionsProperty -> ShowS
showsPrec :: Int -> PivotTableFieldOptionsProperty -> ShowS
$cshow :: PivotTableFieldOptionsProperty -> String
show :: PivotTableFieldOptionsProperty -> String
$cshowList :: [PivotTableFieldOptionsProperty] -> ShowS
showList :: [PivotTableFieldOptionsProperty] -> ShowS
Prelude.Show)
mkPivotTableFieldOptionsProperty :: PivotTableFieldOptionsProperty
mkPivotTableFieldOptionsProperty :: PivotTableFieldOptionsProperty
mkPivotTableFieldOptionsProperty
  = PivotTableFieldOptionsProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), collapseStateOptions :: Maybe [PivotTableFieldCollapseStateOptionProperty]
collapseStateOptions = Maybe [PivotTableFieldCollapseStateOptionProperty]
forall a. Maybe a
Prelude.Nothing,
       dataPathOptions :: Maybe [PivotTableDataPathOptionProperty]
dataPathOptions = Maybe [PivotTableDataPathOptionProperty]
forall a. Maybe a
Prelude.Nothing,
       selectedFieldOptions :: Maybe [PivotTableFieldOptionProperty]
selectedFieldOptions = Maybe [PivotTableFieldOptionProperty]
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties PivotTableFieldOptionsProperty where
  toResourceProperties :: PivotTableFieldOptionsProperty -> ResourceProperties
toResourceProperties PivotTableFieldOptionsProperty {Maybe [PivotTableDataPathOptionProperty]
Maybe [PivotTableFieldCollapseStateOptionProperty]
Maybe [PivotTableFieldOptionProperty]
()
haddock_workaround_ :: PivotTableFieldOptionsProperty -> ()
collapseStateOptions :: PivotTableFieldOptionsProperty
-> Maybe [PivotTableFieldCollapseStateOptionProperty]
dataPathOptions :: PivotTableFieldOptionsProperty
-> Maybe [PivotTableDataPathOptionProperty]
selectedFieldOptions :: PivotTableFieldOptionsProperty
-> Maybe [PivotTableFieldOptionProperty]
haddock_workaround_ :: ()
collapseStateOptions :: Maybe [PivotTableFieldCollapseStateOptionProperty]
dataPathOptions :: Maybe [PivotTableDataPathOptionProperty]
selectedFieldOptions :: Maybe [PivotTableFieldOptionProperty]
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::QuickSight::Dashboard.PivotTableFieldOptions",
         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 -> [PivotTableFieldCollapseStateOptionProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"CollapseStateOptions" ([PivotTableFieldCollapseStateOptionProperty] -> (Key, Value))
-> Maybe [PivotTableFieldCollapseStateOptionProperty]
-> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [PivotTableFieldCollapseStateOptionProperty]
collapseStateOptions,
                            Key -> [PivotTableDataPathOptionProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"DataPathOptions" ([PivotTableDataPathOptionProperty] -> (Key, Value))
-> Maybe [PivotTableDataPathOptionProperty] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [PivotTableDataPathOptionProperty]
dataPathOptions,
                            Key -> [PivotTableFieldOptionProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"SelectedFieldOptions"
                              ([PivotTableFieldOptionProperty] -> (Key, Value))
-> Maybe [PivotTableFieldOptionProperty] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [PivotTableFieldOptionProperty]
selectedFieldOptions])}
instance JSON.ToJSON PivotTableFieldOptionsProperty where
  toJSON :: PivotTableFieldOptionsProperty -> Value
toJSON PivotTableFieldOptionsProperty {Maybe [PivotTableDataPathOptionProperty]
Maybe [PivotTableFieldCollapseStateOptionProperty]
Maybe [PivotTableFieldOptionProperty]
()
haddock_workaround_ :: PivotTableFieldOptionsProperty -> ()
collapseStateOptions :: PivotTableFieldOptionsProperty
-> Maybe [PivotTableFieldCollapseStateOptionProperty]
dataPathOptions :: PivotTableFieldOptionsProperty
-> Maybe [PivotTableDataPathOptionProperty]
selectedFieldOptions :: PivotTableFieldOptionsProperty
-> Maybe [PivotTableFieldOptionProperty]
haddock_workaround_ :: ()
collapseStateOptions :: Maybe [PivotTableFieldCollapseStateOptionProperty]
dataPathOptions :: Maybe [PivotTableDataPathOptionProperty]
selectedFieldOptions :: Maybe [PivotTableFieldOptionProperty]
..}
    = [(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 -> [PivotTableFieldCollapseStateOptionProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"CollapseStateOptions" ([PivotTableFieldCollapseStateOptionProperty] -> (Key, Value))
-> Maybe [PivotTableFieldCollapseStateOptionProperty]
-> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [PivotTableFieldCollapseStateOptionProperty]
collapseStateOptions,
               Key -> [PivotTableDataPathOptionProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"DataPathOptions" ([PivotTableDataPathOptionProperty] -> (Key, Value))
-> Maybe [PivotTableDataPathOptionProperty] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [PivotTableDataPathOptionProperty]
dataPathOptions,
               Key -> [PivotTableFieldOptionProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"SelectedFieldOptions"
                 ([PivotTableFieldOptionProperty] -> (Key, Value))
-> Maybe [PivotTableFieldOptionProperty] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [PivotTableFieldOptionProperty]
selectedFieldOptions]))
instance Property "CollapseStateOptions" PivotTableFieldOptionsProperty where
  type PropertyType "CollapseStateOptions" PivotTableFieldOptionsProperty = [PivotTableFieldCollapseStateOptionProperty]
  set :: PropertyType "CollapseStateOptions" PivotTableFieldOptionsProperty
-> PivotTableFieldOptionsProperty -> PivotTableFieldOptionsProperty
set PropertyType "CollapseStateOptions" PivotTableFieldOptionsProperty
newValue PivotTableFieldOptionsProperty {Maybe [PivotTableDataPathOptionProperty]
Maybe [PivotTableFieldCollapseStateOptionProperty]
Maybe [PivotTableFieldOptionProperty]
()
haddock_workaround_ :: PivotTableFieldOptionsProperty -> ()
collapseStateOptions :: PivotTableFieldOptionsProperty
-> Maybe [PivotTableFieldCollapseStateOptionProperty]
dataPathOptions :: PivotTableFieldOptionsProperty
-> Maybe [PivotTableDataPathOptionProperty]
selectedFieldOptions :: PivotTableFieldOptionsProperty
-> Maybe [PivotTableFieldOptionProperty]
haddock_workaround_ :: ()
collapseStateOptions :: Maybe [PivotTableFieldCollapseStateOptionProperty]
dataPathOptions :: Maybe [PivotTableDataPathOptionProperty]
selectedFieldOptions :: Maybe [PivotTableFieldOptionProperty]
..}
    = PivotTableFieldOptionsProperty
        {collapseStateOptions :: Maybe [PivotTableFieldCollapseStateOptionProperty]
collapseStateOptions = [PivotTableFieldCollapseStateOptionProperty]
-> Maybe [PivotTableFieldCollapseStateOptionProperty]
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure [PivotTableFieldCollapseStateOptionProperty]
PropertyType "CollapseStateOptions" PivotTableFieldOptionsProperty
newValue, Maybe [PivotTableDataPathOptionProperty]
Maybe [PivotTableFieldOptionProperty]
()
haddock_workaround_ :: ()
dataPathOptions :: Maybe [PivotTableDataPathOptionProperty]
selectedFieldOptions :: Maybe [PivotTableFieldOptionProperty]
haddock_workaround_ :: ()
dataPathOptions :: Maybe [PivotTableDataPathOptionProperty]
selectedFieldOptions :: Maybe [PivotTableFieldOptionProperty]
..}
instance Property "DataPathOptions" PivotTableFieldOptionsProperty where
  type PropertyType "DataPathOptions" PivotTableFieldOptionsProperty = [PivotTableDataPathOptionProperty]
  set :: PropertyType "DataPathOptions" PivotTableFieldOptionsProperty
-> PivotTableFieldOptionsProperty -> PivotTableFieldOptionsProperty
set PropertyType "DataPathOptions" PivotTableFieldOptionsProperty
newValue PivotTableFieldOptionsProperty {Maybe [PivotTableDataPathOptionProperty]
Maybe [PivotTableFieldCollapseStateOptionProperty]
Maybe [PivotTableFieldOptionProperty]
()
haddock_workaround_ :: PivotTableFieldOptionsProperty -> ()
collapseStateOptions :: PivotTableFieldOptionsProperty
-> Maybe [PivotTableFieldCollapseStateOptionProperty]
dataPathOptions :: PivotTableFieldOptionsProperty
-> Maybe [PivotTableDataPathOptionProperty]
selectedFieldOptions :: PivotTableFieldOptionsProperty
-> Maybe [PivotTableFieldOptionProperty]
haddock_workaround_ :: ()
collapseStateOptions :: Maybe [PivotTableFieldCollapseStateOptionProperty]
dataPathOptions :: Maybe [PivotTableDataPathOptionProperty]
selectedFieldOptions :: Maybe [PivotTableFieldOptionProperty]
..}
    = PivotTableFieldOptionsProperty
        {dataPathOptions :: Maybe [PivotTableDataPathOptionProperty]
dataPathOptions = [PivotTableDataPathOptionProperty]
-> Maybe [PivotTableDataPathOptionProperty]
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure [PivotTableDataPathOptionProperty]
PropertyType "DataPathOptions" PivotTableFieldOptionsProperty
newValue, Maybe [PivotTableFieldCollapseStateOptionProperty]
Maybe [PivotTableFieldOptionProperty]
()
haddock_workaround_ :: ()
collapseStateOptions :: Maybe [PivotTableFieldCollapseStateOptionProperty]
selectedFieldOptions :: Maybe [PivotTableFieldOptionProperty]
haddock_workaround_ :: ()
collapseStateOptions :: Maybe [PivotTableFieldCollapseStateOptionProperty]
selectedFieldOptions :: Maybe [PivotTableFieldOptionProperty]
..}
instance Property "SelectedFieldOptions" PivotTableFieldOptionsProperty where
  type PropertyType "SelectedFieldOptions" PivotTableFieldOptionsProperty = [PivotTableFieldOptionProperty]
  set :: PropertyType "SelectedFieldOptions" PivotTableFieldOptionsProperty
-> PivotTableFieldOptionsProperty -> PivotTableFieldOptionsProperty
set PropertyType "SelectedFieldOptions" PivotTableFieldOptionsProperty
newValue PivotTableFieldOptionsProperty {Maybe [PivotTableDataPathOptionProperty]
Maybe [PivotTableFieldCollapseStateOptionProperty]
Maybe [PivotTableFieldOptionProperty]
()
haddock_workaround_ :: PivotTableFieldOptionsProperty -> ()
collapseStateOptions :: PivotTableFieldOptionsProperty
-> Maybe [PivotTableFieldCollapseStateOptionProperty]
dataPathOptions :: PivotTableFieldOptionsProperty
-> Maybe [PivotTableDataPathOptionProperty]
selectedFieldOptions :: PivotTableFieldOptionsProperty
-> Maybe [PivotTableFieldOptionProperty]
haddock_workaround_ :: ()
collapseStateOptions :: Maybe [PivotTableFieldCollapseStateOptionProperty]
dataPathOptions :: Maybe [PivotTableDataPathOptionProperty]
selectedFieldOptions :: Maybe [PivotTableFieldOptionProperty]
..}
    = PivotTableFieldOptionsProperty
        {selectedFieldOptions :: Maybe [PivotTableFieldOptionProperty]
selectedFieldOptions = [PivotTableFieldOptionProperty]
-> Maybe [PivotTableFieldOptionProperty]
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure [PivotTableFieldOptionProperty]
PropertyType "SelectedFieldOptions" PivotTableFieldOptionsProperty
newValue, Maybe [PivotTableDataPathOptionProperty]
Maybe [PivotTableFieldCollapseStateOptionProperty]
()
haddock_workaround_ :: ()
collapseStateOptions :: Maybe [PivotTableFieldCollapseStateOptionProperty]
dataPathOptions :: Maybe [PivotTableDataPathOptionProperty]
haddock_workaround_ :: ()
collapseStateOptions :: Maybe [PivotTableFieldCollapseStateOptionProperty]
dataPathOptions :: Maybe [PivotTableDataPathOptionProperty]
..}