module Stratosphere.QuickSight.Analysis.SpacingProperty (
        SpacingProperty(..), mkSpacingProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data SpacingProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-spacing.html>
    SpacingProperty {SpacingProperty -> ()
haddock_workaround_ :: (),
                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-spacing.html#cfn-quicksight-analysis-spacing-bottom>
                     SpacingProperty -> Maybe (Value Text)
bottom :: (Prelude.Maybe (Value Prelude.Text)),
                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-spacing.html#cfn-quicksight-analysis-spacing-left>
                     SpacingProperty -> Maybe (Value Text)
left :: (Prelude.Maybe (Value Prelude.Text)),
                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-spacing.html#cfn-quicksight-analysis-spacing-right>
                     SpacingProperty -> Maybe (Value Text)
right :: (Prelude.Maybe (Value Prelude.Text)),
                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-spacing.html#cfn-quicksight-analysis-spacing-top>
                     SpacingProperty -> Maybe (Value Text)
top :: (Prelude.Maybe (Value Prelude.Text))}
  deriving stock (SpacingProperty -> SpacingProperty -> Bool
(SpacingProperty -> SpacingProperty -> Bool)
-> (SpacingProperty -> SpacingProperty -> Bool)
-> Eq SpacingProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SpacingProperty -> SpacingProperty -> Bool
== :: SpacingProperty -> SpacingProperty -> Bool
$c/= :: SpacingProperty -> SpacingProperty -> Bool
/= :: SpacingProperty -> SpacingProperty -> Bool
Prelude.Eq, Int -> SpacingProperty -> ShowS
[SpacingProperty] -> ShowS
SpacingProperty -> String
(Int -> SpacingProperty -> ShowS)
-> (SpacingProperty -> String)
-> ([SpacingProperty] -> ShowS)
-> Show SpacingProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SpacingProperty -> ShowS
showsPrec :: Int -> SpacingProperty -> ShowS
$cshow :: SpacingProperty -> String
show :: SpacingProperty -> String
$cshowList :: [SpacingProperty] -> ShowS
showList :: [SpacingProperty] -> ShowS
Prelude.Show)
mkSpacingProperty :: SpacingProperty
mkSpacingProperty :: SpacingProperty
mkSpacingProperty
  = SpacingProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), bottom :: Maybe (Value Text)
bottom = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing,
       left :: Maybe (Value Text)
left = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing, right :: Maybe (Value Text)
right = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing,
       top :: Maybe (Value Text)
top = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties SpacingProperty where
  toResourceProperties :: SpacingProperty -> ResourceProperties
toResourceProperties SpacingProperty {Maybe (Value Text)
()
haddock_workaround_ :: SpacingProperty -> ()
bottom :: SpacingProperty -> Maybe (Value Text)
left :: SpacingProperty -> Maybe (Value Text)
right :: SpacingProperty -> Maybe (Value Text)
top :: SpacingProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
bottom :: Maybe (Value Text)
left :: Maybe (Value Text)
right :: Maybe (Value Text)
top :: Maybe (Value Text)
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::QuickSight::Analysis.Spacing",
         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 -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Bottom" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
bottom,
                            Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Left" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
left,
                            Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Right" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
right,
                            Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Top" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
top])}
instance JSON.ToJSON SpacingProperty where
  toJSON :: SpacingProperty -> Value
toJSON SpacingProperty {Maybe (Value Text)
()
haddock_workaround_ :: SpacingProperty -> ()
bottom :: SpacingProperty -> Maybe (Value Text)
left :: SpacingProperty -> Maybe (Value Text)
right :: SpacingProperty -> Maybe (Value Text)
top :: SpacingProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
bottom :: Maybe (Value Text)
left :: Maybe (Value Text)
right :: Maybe (Value Text)
top :: Maybe (Value Text)
..}
    = [(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 -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Bottom" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
bottom,
               Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Left" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
left,
               Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Right" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
right,
               Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Top" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
top]))
instance Property "Bottom" SpacingProperty where
  type PropertyType "Bottom" SpacingProperty = Value Prelude.Text
  set :: PropertyType "Bottom" SpacingProperty
-> SpacingProperty -> SpacingProperty
set PropertyType "Bottom" SpacingProperty
newValue SpacingProperty {Maybe (Value Text)
()
haddock_workaround_ :: SpacingProperty -> ()
bottom :: SpacingProperty -> Maybe (Value Text)
left :: SpacingProperty -> Maybe (Value Text)
right :: SpacingProperty -> Maybe (Value Text)
top :: SpacingProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
bottom :: Maybe (Value Text)
left :: Maybe (Value Text)
right :: Maybe (Value Text)
top :: Maybe (Value Text)
..}
    = SpacingProperty {bottom :: Maybe (Value Text)
bottom = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Bottom" SpacingProperty
Value Text
newValue, Maybe (Value Text)
()
haddock_workaround_ :: ()
left :: Maybe (Value Text)
right :: Maybe (Value Text)
top :: Maybe (Value Text)
haddock_workaround_ :: ()
left :: Maybe (Value Text)
right :: Maybe (Value Text)
top :: Maybe (Value Text)
..}
instance Property "Left" SpacingProperty where
  type PropertyType "Left" SpacingProperty = Value Prelude.Text
  set :: PropertyType "Left" SpacingProperty
-> SpacingProperty -> SpacingProperty
set PropertyType "Left" SpacingProperty
newValue SpacingProperty {Maybe (Value Text)
()
haddock_workaround_ :: SpacingProperty -> ()
bottom :: SpacingProperty -> Maybe (Value Text)
left :: SpacingProperty -> Maybe (Value Text)
right :: SpacingProperty -> Maybe (Value Text)
top :: SpacingProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
bottom :: Maybe (Value Text)
left :: Maybe (Value Text)
right :: Maybe (Value Text)
top :: Maybe (Value Text)
..}
    = SpacingProperty {left :: Maybe (Value Text)
left = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Left" SpacingProperty
Value Text
newValue, Maybe (Value Text)
()
haddock_workaround_ :: ()
bottom :: Maybe (Value Text)
right :: Maybe (Value Text)
top :: Maybe (Value Text)
haddock_workaround_ :: ()
bottom :: Maybe (Value Text)
right :: Maybe (Value Text)
top :: Maybe (Value Text)
..}
instance Property "Right" SpacingProperty where
  type PropertyType "Right" SpacingProperty = Value Prelude.Text
  set :: PropertyType "Right" SpacingProperty
-> SpacingProperty -> SpacingProperty
set PropertyType "Right" SpacingProperty
newValue SpacingProperty {Maybe (Value Text)
()
haddock_workaround_ :: SpacingProperty -> ()
bottom :: SpacingProperty -> Maybe (Value Text)
left :: SpacingProperty -> Maybe (Value Text)
right :: SpacingProperty -> Maybe (Value Text)
top :: SpacingProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
bottom :: Maybe (Value Text)
left :: Maybe (Value Text)
right :: Maybe (Value Text)
top :: Maybe (Value Text)
..}
    = SpacingProperty {right :: Maybe (Value Text)
right = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Right" SpacingProperty
Value Text
newValue, Maybe (Value Text)
()
haddock_workaround_ :: ()
bottom :: Maybe (Value Text)
left :: Maybe (Value Text)
top :: Maybe (Value Text)
haddock_workaround_ :: ()
bottom :: Maybe (Value Text)
left :: Maybe (Value Text)
top :: Maybe (Value Text)
..}
instance Property "Top" SpacingProperty where
  type PropertyType "Top" SpacingProperty = Value Prelude.Text
  set :: PropertyType "Top" SpacingProperty
-> SpacingProperty -> SpacingProperty
set PropertyType "Top" SpacingProperty
newValue SpacingProperty {Maybe (Value Text)
()
haddock_workaround_ :: SpacingProperty -> ()
bottom :: SpacingProperty -> Maybe (Value Text)
left :: SpacingProperty -> Maybe (Value Text)
right :: SpacingProperty -> Maybe (Value Text)
top :: SpacingProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
bottom :: Maybe (Value Text)
left :: Maybe (Value Text)
right :: Maybe (Value Text)
top :: Maybe (Value Text)
..}
    = SpacingProperty {top :: Maybe (Value Text)
top = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Top" SpacingProperty
Value Text
newValue, Maybe (Value Text)
()
haddock_workaround_ :: ()
bottom :: Maybe (Value Text)
left :: Maybe (Value Text)
right :: Maybe (Value Text)
haddock_workaround_ :: ()
bottom :: Maybe (Value Text)
left :: Maybe (Value Text)
right :: Maybe (Value Text)
..}