module Stratosphere.QuickSight.Analysis.BodySectionRepeatDimensionConfigurationProperty (
        module Exports,
        BodySectionRepeatDimensionConfigurationProperty(..),
        mkBodySectionRepeatDimensionConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.QuickSight.Analysis.BodySectionDynamicCategoryDimensionConfigurationProperty as Exports
import {-# SOURCE #-} Stratosphere.QuickSight.Analysis.BodySectionDynamicNumericDimensionConfigurationProperty as Exports
import Stratosphere.ResourceProperties
data BodySectionRepeatDimensionConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-bodysectionrepeatdimensionconfiguration.html>
    BodySectionRepeatDimensionConfigurationProperty {BodySectionRepeatDimensionConfigurationProperty -> ()
haddock_workaround_ :: (),
                                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-bodysectionrepeatdimensionconfiguration.html#cfn-quicksight-analysis-bodysectionrepeatdimensionconfiguration-dynamiccategorydimensionconfiguration>
                                                     BodySectionRepeatDimensionConfigurationProperty
-> Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
dynamicCategoryDimensionConfiguration :: (Prelude.Maybe BodySectionDynamicCategoryDimensionConfigurationProperty),
                                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-bodysectionrepeatdimensionconfiguration.html#cfn-quicksight-analysis-bodysectionrepeatdimensionconfiguration-dynamicnumericdimensionconfiguration>
                                                     BodySectionRepeatDimensionConfigurationProperty
-> Maybe BodySectionDynamicNumericDimensionConfigurationProperty
dynamicNumericDimensionConfiguration :: (Prelude.Maybe BodySectionDynamicNumericDimensionConfigurationProperty)}
  deriving stock (BodySectionRepeatDimensionConfigurationProperty
-> BodySectionRepeatDimensionConfigurationProperty -> Bool
(BodySectionRepeatDimensionConfigurationProperty
 -> BodySectionRepeatDimensionConfigurationProperty -> Bool)
-> (BodySectionRepeatDimensionConfigurationProperty
    -> BodySectionRepeatDimensionConfigurationProperty -> Bool)
-> Eq BodySectionRepeatDimensionConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BodySectionRepeatDimensionConfigurationProperty
-> BodySectionRepeatDimensionConfigurationProperty -> Bool
== :: BodySectionRepeatDimensionConfigurationProperty
-> BodySectionRepeatDimensionConfigurationProperty -> Bool
$c/= :: BodySectionRepeatDimensionConfigurationProperty
-> BodySectionRepeatDimensionConfigurationProperty -> Bool
/= :: BodySectionRepeatDimensionConfigurationProperty
-> BodySectionRepeatDimensionConfigurationProperty -> Bool
Prelude.Eq, Int -> BodySectionRepeatDimensionConfigurationProperty -> ShowS
[BodySectionRepeatDimensionConfigurationProperty] -> ShowS
BodySectionRepeatDimensionConfigurationProperty -> String
(Int -> BodySectionRepeatDimensionConfigurationProperty -> ShowS)
-> (BodySectionRepeatDimensionConfigurationProperty -> String)
-> ([BodySectionRepeatDimensionConfigurationProperty] -> ShowS)
-> Show BodySectionRepeatDimensionConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> BodySectionRepeatDimensionConfigurationProperty -> ShowS
showsPrec :: Int -> BodySectionRepeatDimensionConfigurationProperty -> ShowS
$cshow :: BodySectionRepeatDimensionConfigurationProperty -> String
show :: BodySectionRepeatDimensionConfigurationProperty -> String
$cshowList :: [BodySectionRepeatDimensionConfigurationProperty] -> ShowS
showList :: [BodySectionRepeatDimensionConfigurationProperty] -> ShowS
Prelude.Show)
mkBodySectionRepeatDimensionConfigurationProperty ::
  BodySectionRepeatDimensionConfigurationProperty
mkBodySectionRepeatDimensionConfigurationProperty :: BodySectionRepeatDimensionConfigurationProperty
mkBodySectionRepeatDimensionConfigurationProperty
  = BodySectionRepeatDimensionConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       dynamicCategoryDimensionConfiguration :: Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
dynamicCategoryDimensionConfiguration = Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
forall a. Maybe a
Prelude.Nothing,
       dynamicNumericDimensionConfiguration :: Maybe BodySectionDynamicNumericDimensionConfigurationProperty
dynamicNumericDimensionConfiguration = Maybe BodySectionDynamicNumericDimensionConfigurationProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties BodySectionRepeatDimensionConfigurationProperty where
  toResourceProperties :: BodySectionRepeatDimensionConfigurationProperty
-> ResourceProperties
toResourceProperties
    BodySectionRepeatDimensionConfigurationProperty {Maybe BodySectionDynamicNumericDimensionConfigurationProperty
Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
()
haddock_workaround_ :: BodySectionRepeatDimensionConfigurationProperty -> ()
dynamicCategoryDimensionConfiguration :: BodySectionRepeatDimensionConfigurationProperty
-> Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
dynamicNumericDimensionConfiguration :: BodySectionRepeatDimensionConfigurationProperty
-> Maybe BodySectionDynamicNumericDimensionConfigurationProperty
haddock_workaround_ :: ()
dynamicCategoryDimensionConfiguration :: Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
dynamicNumericDimensionConfiguration :: Maybe BodySectionDynamicNumericDimensionConfigurationProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::QuickSight::Analysis.BodySectionRepeatDimensionConfiguration",
         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
-> BodySectionDynamicCategoryDimensionConfigurationProperty
-> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"DynamicCategoryDimensionConfiguration"
                              (BodySectionDynamicCategoryDimensionConfigurationProperty
 -> (Key, Value))
-> Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
-> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
dynamicCategoryDimensionConfiguration,
                            Key
-> BodySectionDynamicNumericDimensionConfigurationProperty
-> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"DynamicNumericDimensionConfiguration"
                              (BodySectionDynamicNumericDimensionConfigurationProperty
 -> (Key, Value))
-> Maybe BodySectionDynamicNumericDimensionConfigurationProperty
-> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe BodySectionDynamicNumericDimensionConfigurationProperty
dynamicNumericDimensionConfiguration])}
instance JSON.ToJSON BodySectionRepeatDimensionConfigurationProperty where
  toJSON :: BodySectionRepeatDimensionConfigurationProperty -> Value
toJSON BodySectionRepeatDimensionConfigurationProperty {Maybe BodySectionDynamicNumericDimensionConfigurationProperty
Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
()
haddock_workaround_ :: BodySectionRepeatDimensionConfigurationProperty -> ()
dynamicCategoryDimensionConfiguration :: BodySectionRepeatDimensionConfigurationProperty
-> Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
dynamicNumericDimensionConfiguration :: BodySectionRepeatDimensionConfigurationProperty
-> Maybe BodySectionDynamicNumericDimensionConfigurationProperty
haddock_workaround_ :: ()
dynamicCategoryDimensionConfiguration :: Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
dynamicNumericDimensionConfiguration :: Maybe BodySectionDynamicNumericDimensionConfigurationProperty
..}
    = [(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
-> BodySectionDynamicCategoryDimensionConfigurationProperty
-> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"DynamicCategoryDimensionConfiguration"
                 (BodySectionDynamicCategoryDimensionConfigurationProperty
 -> (Key, Value))
-> Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
-> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
dynamicCategoryDimensionConfiguration,
               Key
-> BodySectionDynamicNumericDimensionConfigurationProperty
-> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"DynamicNumericDimensionConfiguration"
                 (BodySectionDynamicNumericDimensionConfigurationProperty
 -> (Key, Value))
-> Maybe BodySectionDynamicNumericDimensionConfigurationProperty
-> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe BodySectionDynamicNumericDimensionConfigurationProperty
dynamicNumericDimensionConfiguration]))
instance Property "DynamicCategoryDimensionConfiguration" BodySectionRepeatDimensionConfigurationProperty where
  type PropertyType "DynamicCategoryDimensionConfiguration" BodySectionRepeatDimensionConfigurationProperty = BodySectionDynamicCategoryDimensionConfigurationProperty
  set :: PropertyType
  "DynamicCategoryDimensionConfiguration"
  BodySectionRepeatDimensionConfigurationProperty
-> BodySectionRepeatDimensionConfigurationProperty
-> BodySectionRepeatDimensionConfigurationProperty
set PropertyType
  "DynamicCategoryDimensionConfiguration"
  BodySectionRepeatDimensionConfigurationProperty
newValue BodySectionRepeatDimensionConfigurationProperty {Maybe BodySectionDynamicNumericDimensionConfigurationProperty
Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
()
haddock_workaround_ :: BodySectionRepeatDimensionConfigurationProperty -> ()
dynamicCategoryDimensionConfiguration :: BodySectionRepeatDimensionConfigurationProperty
-> Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
dynamicNumericDimensionConfiguration :: BodySectionRepeatDimensionConfigurationProperty
-> Maybe BodySectionDynamicNumericDimensionConfigurationProperty
haddock_workaround_ :: ()
dynamicCategoryDimensionConfiguration :: Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
dynamicNumericDimensionConfiguration :: Maybe BodySectionDynamicNumericDimensionConfigurationProperty
..}
    = BodySectionRepeatDimensionConfigurationProperty
        {dynamicCategoryDimensionConfiguration :: Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
dynamicCategoryDimensionConfiguration = BodySectionDynamicCategoryDimensionConfigurationProperty
-> Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType
  "DynamicCategoryDimensionConfiguration"
  BodySectionRepeatDimensionConfigurationProperty
BodySectionDynamicCategoryDimensionConfigurationProperty
newValue, Maybe BodySectionDynamicNumericDimensionConfigurationProperty
()
haddock_workaround_ :: ()
dynamicNumericDimensionConfiguration :: Maybe BodySectionDynamicNumericDimensionConfigurationProperty
haddock_workaround_ :: ()
dynamicNumericDimensionConfiguration :: Maybe BodySectionDynamicNumericDimensionConfigurationProperty
..}
instance Property "DynamicNumericDimensionConfiguration" BodySectionRepeatDimensionConfigurationProperty where
  type PropertyType "DynamicNumericDimensionConfiguration" BodySectionRepeatDimensionConfigurationProperty = BodySectionDynamicNumericDimensionConfigurationProperty
  set :: PropertyType
  "DynamicNumericDimensionConfiguration"
  BodySectionRepeatDimensionConfigurationProperty
-> BodySectionRepeatDimensionConfigurationProperty
-> BodySectionRepeatDimensionConfigurationProperty
set PropertyType
  "DynamicNumericDimensionConfiguration"
  BodySectionRepeatDimensionConfigurationProperty
newValue BodySectionRepeatDimensionConfigurationProperty {Maybe BodySectionDynamicNumericDimensionConfigurationProperty
Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
()
haddock_workaround_ :: BodySectionRepeatDimensionConfigurationProperty -> ()
dynamicCategoryDimensionConfiguration :: BodySectionRepeatDimensionConfigurationProperty
-> Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
dynamicNumericDimensionConfiguration :: BodySectionRepeatDimensionConfigurationProperty
-> Maybe BodySectionDynamicNumericDimensionConfigurationProperty
haddock_workaround_ :: ()
dynamicCategoryDimensionConfiguration :: Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
dynamicNumericDimensionConfiguration :: Maybe BodySectionDynamicNumericDimensionConfigurationProperty
..}
    = BodySectionRepeatDimensionConfigurationProperty
        {dynamicNumericDimensionConfiguration :: Maybe BodySectionDynamicNumericDimensionConfigurationProperty
dynamicNumericDimensionConfiguration = BodySectionDynamicNumericDimensionConfigurationProperty
-> Maybe BodySectionDynamicNumericDimensionConfigurationProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType
  "DynamicNumericDimensionConfiguration"
  BodySectionRepeatDimensionConfigurationProperty
BodySectionDynamicNumericDimensionConfigurationProperty
newValue, Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
()
haddock_workaround_ :: ()
dynamicCategoryDimensionConfiguration :: Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
haddock_workaround_ :: ()
dynamicCategoryDimensionConfiguration :: Maybe BodySectionDynamicCategoryDimensionConfigurationProperty
..}