module Stratosphere.Timestream.ScheduledQuery.ScheduleConfigurationProperty (
        ScheduleConfigurationProperty(..), mkScheduleConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ScheduleConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-scheduleconfiguration.html>
    ScheduleConfigurationProperty {ScheduleConfigurationProperty -> ()
haddock_workaround_ :: (),
                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-scheduledquery-scheduleconfiguration.html#cfn-timestream-scheduledquery-scheduleconfiguration-scheduleexpression>
                                   ScheduleConfigurationProperty -> Value Text
scheduleExpression :: (Value Prelude.Text)}
  deriving stock (ScheduleConfigurationProperty
-> ScheduleConfigurationProperty -> Bool
(ScheduleConfigurationProperty
 -> ScheduleConfigurationProperty -> Bool)
-> (ScheduleConfigurationProperty
    -> ScheduleConfigurationProperty -> Bool)
-> Eq ScheduleConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ScheduleConfigurationProperty
-> ScheduleConfigurationProperty -> Bool
== :: ScheduleConfigurationProperty
-> ScheduleConfigurationProperty -> Bool
$c/= :: ScheduleConfigurationProperty
-> ScheduleConfigurationProperty -> Bool
/= :: ScheduleConfigurationProperty
-> ScheduleConfigurationProperty -> Bool
Prelude.Eq, Int -> ScheduleConfigurationProperty -> ShowS
[ScheduleConfigurationProperty] -> ShowS
ScheduleConfigurationProperty -> String
(Int -> ScheduleConfigurationProperty -> ShowS)
-> (ScheduleConfigurationProperty -> String)
-> ([ScheduleConfigurationProperty] -> ShowS)
-> Show ScheduleConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ScheduleConfigurationProperty -> ShowS
showsPrec :: Int -> ScheduleConfigurationProperty -> ShowS
$cshow :: ScheduleConfigurationProperty -> String
show :: ScheduleConfigurationProperty -> String
$cshowList :: [ScheduleConfigurationProperty] -> ShowS
showList :: [ScheduleConfigurationProperty] -> ShowS
Prelude.Show)
mkScheduleConfigurationProperty ::
  Value Prelude.Text -> ScheduleConfigurationProperty
mkScheduleConfigurationProperty :: Value Text -> ScheduleConfigurationProperty
mkScheduleConfigurationProperty Value Text
scheduleExpression
  = ScheduleConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), scheduleExpression :: Value Text
scheduleExpression = Value Text
scheduleExpression}
instance ToResourceProperties ScheduleConfigurationProperty where
  toResourceProperties :: ScheduleConfigurationProperty -> ResourceProperties
toResourceProperties ScheduleConfigurationProperty {()
Value Text
haddock_workaround_ :: ScheduleConfigurationProperty -> ()
scheduleExpression :: ScheduleConfigurationProperty -> Value Text
haddock_workaround_ :: ()
scheduleExpression :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Timestream::ScheduledQuery.ScheduleConfiguration",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"ScheduleExpression" 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
scheduleExpression]}
instance JSON.ToJSON ScheduleConfigurationProperty where
  toJSON :: ScheduleConfigurationProperty -> Value
toJSON ScheduleConfigurationProperty {()
Value Text
haddock_workaround_ :: ScheduleConfigurationProperty -> ()
scheduleExpression :: ScheduleConfigurationProperty -> Value Text
haddock_workaround_ :: ()
scheduleExpression :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"ScheduleExpression" 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
scheduleExpression]
instance Property "ScheduleExpression" ScheduleConfigurationProperty where
  type PropertyType "ScheduleExpression" ScheduleConfigurationProperty = Value Prelude.Text
  set :: PropertyType "ScheduleExpression" ScheduleConfigurationProperty
-> ScheduleConfigurationProperty -> ScheduleConfigurationProperty
set PropertyType "ScheduleExpression" ScheduleConfigurationProperty
newValue ScheduleConfigurationProperty {()
Value Text
haddock_workaround_ :: ScheduleConfigurationProperty -> ()
scheduleExpression :: ScheduleConfigurationProperty -> Value Text
haddock_workaround_ :: ()
scheduleExpression :: Value Text
..}
    = ScheduleConfigurationProperty {scheduleExpression :: Value Text
scheduleExpression = PropertyType "ScheduleExpression" ScheduleConfigurationProperty
Value Text
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}