module Stratosphere.QuickSight.DataSet.IncrementalRefreshProperty (
        module Exports, IncrementalRefreshProperty(..),
        mkIncrementalRefreshProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.QuickSight.DataSet.LookbackWindowProperty as Exports
import Stratosphere.ResourceProperties
data IncrementalRefreshProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dataset-incrementalrefresh.html>
    IncrementalRefreshProperty {IncrementalRefreshProperty -> ()
haddock_workaround_ :: (),
                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dataset-incrementalrefresh.html#cfn-quicksight-dataset-incrementalrefresh-lookbackwindow>
                                IncrementalRefreshProperty -> LookbackWindowProperty
lookbackWindow :: LookbackWindowProperty}
  deriving stock (IncrementalRefreshProperty -> IncrementalRefreshProperty -> Bool
(IncrementalRefreshProperty -> IncrementalRefreshProperty -> Bool)
-> (IncrementalRefreshProperty
    -> IncrementalRefreshProperty -> Bool)
-> Eq IncrementalRefreshProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: IncrementalRefreshProperty -> IncrementalRefreshProperty -> Bool
== :: IncrementalRefreshProperty -> IncrementalRefreshProperty -> Bool
$c/= :: IncrementalRefreshProperty -> IncrementalRefreshProperty -> Bool
/= :: IncrementalRefreshProperty -> IncrementalRefreshProperty -> Bool
Prelude.Eq, Int -> IncrementalRefreshProperty -> ShowS
[IncrementalRefreshProperty] -> ShowS
IncrementalRefreshProperty -> String
(Int -> IncrementalRefreshProperty -> ShowS)
-> (IncrementalRefreshProperty -> String)
-> ([IncrementalRefreshProperty] -> ShowS)
-> Show IncrementalRefreshProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> IncrementalRefreshProperty -> ShowS
showsPrec :: Int -> IncrementalRefreshProperty -> ShowS
$cshow :: IncrementalRefreshProperty -> String
show :: IncrementalRefreshProperty -> String
$cshowList :: [IncrementalRefreshProperty] -> ShowS
showList :: [IncrementalRefreshProperty] -> ShowS
Prelude.Show)
mkIncrementalRefreshProperty ::
  LookbackWindowProperty -> IncrementalRefreshProperty
mkIncrementalRefreshProperty :: LookbackWindowProperty -> IncrementalRefreshProperty
mkIncrementalRefreshProperty LookbackWindowProperty
lookbackWindow
  = IncrementalRefreshProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), lookbackWindow :: LookbackWindowProperty
lookbackWindow = LookbackWindowProperty
lookbackWindow}
instance ToResourceProperties IncrementalRefreshProperty where
  toResourceProperties :: IncrementalRefreshProperty -> ResourceProperties
toResourceProperties IncrementalRefreshProperty {()
LookbackWindowProperty
haddock_workaround_ :: IncrementalRefreshProperty -> ()
lookbackWindow :: IncrementalRefreshProperty -> LookbackWindowProperty
haddock_workaround_ :: ()
lookbackWindow :: LookbackWindowProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::QuickSight::DataSet.IncrementalRefresh",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"LookbackWindow" Key -> LookbackWindowProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= LookbackWindowProperty
lookbackWindow]}
instance JSON.ToJSON IncrementalRefreshProperty where
  toJSON :: IncrementalRefreshProperty -> Value
toJSON IncrementalRefreshProperty {()
LookbackWindowProperty
haddock_workaround_ :: IncrementalRefreshProperty -> ()
lookbackWindow :: IncrementalRefreshProperty -> LookbackWindowProperty
haddock_workaround_ :: ()
lookbackWindow :: LookbackWindowProperty
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"LookbackWindow" Key -> LookbackWindowProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= LookbackWindowProperty
lookbackWindow]
instance Property "LookbackWindow" IncrementalRefreshProperty where
  type PropertyType "LookbackWindow" IncrementalRefreshProperty = LookbackWindowProperty
  set :: PropertyType "LookbackWindow" IncrementalRefreshProperty
-> IncrementalRefreshProperty -> IncrementalRefreshProperty
set PropertyType "LookbackWindow" IncrementalRefreshProperty
newValue IncrementalRefreshProperty {()
LookbackWindowProperty
haddock_workaround_ :: IncrementalRefreshProperty -> ()
lookbackWindow :: IncrementalRefreshProperty -> LookbackWindowProperty
haddock_workaround_ :: ()
lookbackWindow :: LookbackWindowProperty
..}
    = IncrementalRefreshProperty {lookbackWindow :: LookbackWindowProperty
lookbackWindow = PropertyType "LookbackWindow" IncrementalRefreshProperty
LookbackWindowProperty
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}