module Stratosphere.QuickSight.Analysis.WhatIfRangeScenarioProperty (
        WhatIfRangeScenarioProperty(..), mkWhatIfRangeScenarioProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data WhatIfRangeScenarioProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-whatifrangescenario.html>
    WhatIfRangeScenarioProperty {WhatIfRangeScenarioProperty -> ()
haddock_workaround_ :: (),
                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-whatifrangescenario.html#cfn-quicksight-analysis-whatifrangescenario-enddate>
                                 WhatIfRangeScenarioProperty -> Value Text
endDate :: (Value Prelude.Text),
                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-whatifrangescenario.html#cfn-quicksight-analysis-whatifrangescenario-startdate>
                                 WhatIfRangeScenarioProperty -> Value Text
startDate :: (Value Prelude.Text),
                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-whatifrangescenario.html#cfn-quicksight-analysis-whatifrangescenario-value>
                                 WhatIfRangeScenarioProperty -> Value Double
value :: (Value Prelude.Double)}
  deriving stock (WhatIfRangeScenarioProperty -> WhatIfRangeScenarioProperty -> Bool
(WhatIfRangeScenarioProperty
 -> WhatIfRangeScenarioProperty -> Bool)
-> (WhatIfRangeScenarioProperty
    -> WhatIfRangeScenarioProperty -> Bool)
-> Eq WhatIfRangeScenarioProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: WhatIfRangeScenarioProperty -> WhatIfRangeScenarioProperty -> Bool
== :: WhatIfRangeScenarioProperty -> WhatIfRangeScenarioProperty -> Bool
$c/= :: WhatIfRangeScenarioProperty -> WhatIfRangeScenarioProperty -> Bool
/= :: WhatIfRangeScenarioProperty -> WhatIfRangeScenarioProperty -> Bool
Prelude.Eq, Int -> WhatIfRangeScenarioProperty -> ShowS
[WhatIfRangeScenarioProperty] -> ShowS
WhatIfRangeScenarioProperty -> String
(Int -> WhatIfRangeScenarioProperty -> ShowS)
-> (WhatIfRangeScenarioProperty -> String)
-> ([WhatIfRangeScenarioProperty] -> ShowS)
-> Show WhatIfRangeScenarioProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> WhatIfRangeScenarioProperty -> ShowS
showsPrec :: Int -> WhatIfRangeScenarioProperty -> ShowS
$cshow :: WhatIfRangeScenarioProperty -> String
show :: WhatIfRangeScenarioProperty -> String
$cshowList :: [WhatIfRangeScenarioProperty] -> ShowS
showList :: [WhatIfRangeScenarioProperty] -> ShowS
Prelude.Show)
mkWhatIfRangeScenarioProperty ::
  Value Prelude.Text
  -> Value Prelude.Text
     -> Value Prelude.Double -> WhatIfRangeScenarioProperty
mkWhatIfRangeScenarioProperty :: Value Text
-> Value Text -> Value Double -> WhatIfRangeScenarioProperty
mkWhatIfRangeScenarioProperty Value Text
endDate Value Text
startDate Value Double
value
  = WhatIfRangeScenarioProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), endDate :: Value Text
endDate = Value Text
endDate,
       startDate :: Value Text
startDate = Value Text
startDate, value :: Value Double
value = Value Double
value}
instance ToResourceProperties WhatIfRangeScenarioProperty where
  toResourceProperties :: WhatIfRangeScenarioProperty -> ResourceProperties
toResourceProperties WhatIfRangeScenarioProperty {()
Value Double
Value Text
haddock_workaround_ :: WhatIfRangeScenarioProperty -> ()
endDate :: WhatIfRangeScenarioProperty -> Value Text
startDate :: WhatIfRangeScenarioProperty -> Value Text
value :: WhatIfRangeScenarioProperty -> Value Double
haddock_workaround_ :: ()
endDate :: Value Text
startDate :: Value Text
value :: Value Double
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::QuickSight::Analysis.WhatIfRangeScenario",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"EndDate" 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..= Value Text
endDate,
                       Key
"StartDate" 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..= Value Text
startDate, Key
"Value" Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Double
value]}
instance JSON.ToJSON WhatIfRangeScenarioProperty where
  toJSON :: WhatIfRangeScenarioProperty -> Value
toJSON WhatIfRangeScenarioProperty {()
Value Double
Value Text
haddock_workaround_ :: WhatIfRangeScenarioProperty -> ()
endDate :: WhatIfRangeScenarioProperty -> Value Text
startDate :: WhatIfRangeScenarioProperty -> Value Text
value :: WhatIfRangeScenarioProperty -> Value Double
haddock_workaround_ :: ()
endDate :: Value Text
startDate :: Value Text
value :: Value Double
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"EndDate" 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..= Value Text
endDate, Key
"StartDate" 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..= Value Text
startDate,
         Key
"Value" Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Double
value]
instance Property "EndDate" WhatIfRangeScenarioProperty where
  type PropertyType "EndDate" WhatIfRangeScenarioProperty = Value Prelude.Text
  set :: PropertyType "EndDate" WhatIfRangeScenarioProperty
-> WhatIfRangeScenarioProperty -> WhatIfRangeScenarioProperty
set PropertyType "EndDate" WhatIfRangeScenarioProperty
newValue WhatIfRangeScenarioProperty {()
Value Double
Value Text
haddock_workaround_ :: WhatIfRangeScenarioProperty -> ()
endDate :: WhatIfRangeScenarioProperty -> Value Text
startDate :: WhatIfRangeScenarioProperty -> Value Text
value :: WhatIfRangeScenarioProperty -> Value Double
haddock_workaround_ :: ()
endDate :: Value Text
startDate :: Value Text
value :: Value Double
..}
    = WhatIfRangeScenarioProperty {endDate :: Value Text
endDate = PropertyType "EndDate" WhatIfRangeScenarioProperty
Value Text
newValue, ()
Value Double
Value Text
haddock_workaround_ :: ()
startDate :: Value Text
value :: Value Double
haddock_workaround_ :: ()
startDate :: Value Text
value :: Value Double
..}
instance Property "StartDate" WhatIfRangeScenarioProperty where
  type PropertyType "StartDate" WhatIfRangeScenarioProperty = Value Prelude.Text
  set :: PropertyType "StartDate" WhatIfRangeScenarioProperty
-> WhatIfRangeScenarioProperty -> WhatIfRangeScenarioProperty
set PropertyType "StartDate" WhatIfRangeScenarioProperty
newValue WhatIfRangeScenarioProperty {()
Value Double
Value Text
haddock_workaround_ :: WhatIfRangeScenarioProperty -> ()
endDate :: WhatIfRangeScenarioProperty -> Value Text
startDate :: WhatIfRangeScenarioProperty -> Value Text
value :: WhatIfRangeScenarioProperty -> Value Double
haddock_workaround_ :: ()
endDate :: Value Text
startDate :: Value Text
value :: Value Double
..}
    = WhatIfRangeScenarioProperty {startDate :: Value Text
startDate = PropertyType "StartDate" WhatIfRangeScenarioProperty
Value Text
newValue, ()
Value Double
Value Text
haddock_workaround_ :: ()
endDate :: Value Text
value :: Value Double
haddock_workaround_ :: ()
endDate :: Value Text
value :: Value Double
..}
instance Property "Value" WhatIfRangeScenarioProperty where
  type PropertyType "Value" WhatIfRangeScenarioProperty = Value Prelude.Double
  set :: PropertyType "Value" WhatIfRangeScenarioProperty
-> WhatIfRangeScenarioProperty -> WhatIfRangeScenarioProperty
set PropertyType "Value" WhatIfRangeScenarioProperty
newValue WhatIfRangeScenarioProperty {()
Value Double
Value Text
haddock_workaround_ :: WhatIfRangeScenarioProperty -> ()
endDate :: WhatIfRangeScenarioProperty -> Value Text
startDate :: WhatIfRangeScenarioProperty -> Value Text
value :: WhatIfRangeScenarioProperty -> Value Double
haddock_workaround_ :: ()
endDate :: Value Text
startDate :: Value Text
value :: Value Double
..}
    = WhatIfRangeScenarioProperty {value :: Value Double
value = PropertyType "Value" WhatIfRangeScenarioProperty
Value Double
newValue, ()
Value Text
haddock_workaround_ :: ()
endDate :: Value Text
startDate :: Value Text
haddock_workaround_ :: ()
endDate :: Value Text
startDate :: Value Text
..}