module Stratosphere.ApplicationSignals.ServiceLevelObjective.WindowProperty ( WindowProperty(..), mkWindowProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import Stratosphere.ResourceProperties import Stratosphere.Value data WindowProperty = -- | See: WindowProperty {haddock_workaround_ :: (), -- | See: duration :: (Value Prelude.Integer), -- | See: durationUnit :: (Value Prelude.Text)} deriving stock (Prelude.Eq, Prelude.Show) mkWindowProperty :: Value Prelude.Integer -> Value Prelude.Text -> WindowProperty mkWindowProperty duration durationUnit = WindowProperty {haddock_workaround_ = (), duration = duration, durationUnit = durationUnit} instance ToResourceProperties WindowProperty where toResourceProperties WindowProperty {..} = ResourceProperties {awsType = "AWS::ApplicationSignals::ServiceLevelObjective.Window", supportsTags = Prelude.False, properties = ["Duration" JSON..= duration, "DurationUnit" JSON..= durationUnit]} instance JSON.ToJSON WindowProperty where toJSON WindowProperty {..} = JSON.object ["Duration" JSON..= duration, "DurationUnit" JSON..= durationUnit] instance Property "Duration" WindowProperty where type PropertyType "Duration" WindowProperty = Value Prelude.Integer set newValue WindowProperty {..} = WindowProperty {duration = newValue, ..} instance Property "DurationUnit" WindowProperty where type PropertyType "DurationUnit" WindowProperty = Value Prelude.Text set newValue WindowProperty {..} = WindowProperty {durationUnit = newValue, ..}