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