packages feed

stratosphere-applicationautoscaling (empty) → 1.0.0

raw patch · 54 files changed

+2164/−0 lines, 54 filesdep +aesondep +basedep +stratosphere

Dependencies added: aeson, base, stratosphere

Files

+ LICENSE.md view
@@ -0,0 +1,20 @@+Copyright (c) 2016 David Reaver+Copyright (c) 2022 Markus Schirp++Permission is hereby granted, free of charge, to any person obtaining a copy of+this software and associated documentation files (the "Software"), to deal in+the Software without restriction, including without limitation the rights to+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies+of the Software, and to permit persons to whom the Software is furnished to do+so, subject to the following conditions:++The above copyright notice and this permission notice shall be included in all+copies or substantial portions of the Software.++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE+SOFTWARE.
+ gen/Stratosphere/ApplicationAutoScaling/ScalableTarget.hs view
@@ -0,0 +1,108 @@+module Stratosphere.ApplicationAutoScaling.ScalableTarget (+        module Exports, ScalableTarget(..), mkScalableTarget+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalableTarget.ScheduledActionProperty as Exports+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalableTarget.SuspendedStateProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ScalableTarget+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html>+    ScalableTarget {haddock_workaround_ :: (),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-maxcapacity>+                    maxCapacity :: (Value Prelude.Integer),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-mincapacity>+                    minCapacity :: (Value Prelude.Integer),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-resourceid>+                    resourceId :: (Value Prelude.Text),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-rolearn>+                    roleARN :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-scalabledimension>+                    scalableDimension :: (Value Prelude.Text),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-scheduledactions>+                    scheduledActions :: (Prelude.Maybe [ScheduledActionProperty]),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-servicenamespace>+                    serviceNamespace :: (Value Prelude.Text),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-suspendedstate>+                    suspendedState :: (Prelude.Maybe SuspendedStateProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkScalableTarget ::+  Value Prelude.Integer+  -> Value Prelude.Integer+     -> Value Prelude.Text+        -> Value Prelude.Text -> Value Prelude.Text -> ScalableTarget+mkScalableTarget+  maxCapacity+  minCapacity+  resourceId+  scalableDimension+  serviceNamespace+  = ScalableTarget+      {haddock_workaround_ = (), maxCapacity = maxCapacity,+       minCapacity = minCapacity, resourceId = resourceId,+       scalableDimension = scalableDimension,+       serviceNamespace = serviceNamespace, roleARN = Prelude.Nothing,+       scheduledActions = Prelude.Nothing,+       suspendedState = Prelude.Nothing}+instance ToResourceProperties ScalableTarget where+  toResourceProperties ScalableTarget {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalableTarget",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["MaxCapacity" JSON..= maxCapacity,+                            "MinCapacity" JSON..= minCapacity, "ResourceId" JSON..= resourceId,+                            "ScalableDimension" JSON..= scalableDimension,+                            "ServiceNamespace" JSON..= serviceNamespace]+                           (Prelude.catMaybes+                              [(JSON..=) "RoleARN" Prelude.<$> roleARN,+                               (JSON..=) "ScheduledActions" Prelude.<$> scheduledActions,+                               (JSON..=) "SuspendedState" Prelude.<$> suspendedState]))}+instance JSON.ToJSON ScalableTarget where+  toJSON ScalableTarget {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["MaxCapacity" JSON..= maxCapacity,+               "MinCapacity" JSON..= minCapacity, "ResourceId" JSON..= resourceId,+               "ScalableDimension" JSON..= scalableDimension,+               "ServiceNamespace" JSON..= serviceNamespace]+              (Prelude.catMaybes+                 [(JSON..=) "RoleARN" Prelude.<$> roleARN,+                  (JSON..=) "ScheduledActions" Prelude.<$> scheduledActions,+                  (JSON..=) "SuspendedState" Prelude.<$> suspendedState])))+instance Property "MaxCapacity" ScalableTarget where+  type PropertyType "MaxCapacity" ScalableTarget = Value Prelude.Integer+  set newValue ScalableTarget {..}+    = ScalableTarget {maxCapacity = newValue, ..}+instance Property "MinCapacity" ScalableTarget where+  type PropertyType "MinCapacity" ScalableTarget = Value Prelude.Integer+  set newValue ScalableTarget {..}+    = ScalableTarget {minCapacity = newValue, ..}+instance Property "ResourceId" ScalableTarget where+  type PropertyType "ResourceId" ScalableTarget = Value Prelude.Text+  set newValue ScalableTarget {..}+    = ScalableTarget {resourceId = newValue, ..}+instance Property "RoleARN" ScalableTarget where+  type PropertyType "RoleARN" ScalableTarget = Value Prelude.Text+  set newValue ScalableTarget {..}+    = ScalableTarget {roleARN = Prelude.pure newValue, ..}+instance Property "ScalableDimension" ScalableTarget where+  type PropertyType "ScalableDimension" ScalableTarget = Value Prelude.Text+  set newValue ScalableTarget {..}+    = ScalableTarget {scalableDimension = newValue, ..}+instance Property "ScheduledActions" ScalableTarget where+  type PropertyType "ScheduledActions" ScalableTarget = [ScheduledActionProperty]+  set newValue ScalableTarget {..}+    = ScalableTarget {scheduledActions = Prelude.pure newValue, ..}+instance Property "ServiceNamespace" ScalableTarget where+  type PropertyType "ServiceNamespace" ScalableTarget = Value Prelude.Text+  set newValue ScalableTarget {..}+    = ScalableTarget {serviceNamespace = newValue, ..}+instance Property "SuspendedState" ScalableTarget where+  type PropertyType "SuspendedState" ScalableTarget = SuspendedStateProperty+  set newValue ScalableTarget {..}+    = ScalableTarget {suspendedState = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalableTarget/ScalableTargetActionProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.ApplicationAutoScaling.ScalableTarget.ScalableTargetActionProperty (+        ScalableTargetActionProperty(..), mkScalableTargetActionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ScalableTargetActionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scalabletargetaction.html>+    ScalableTargetActionProperty {haddock_workaround_ :: (),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scalabletargetaction.html#cfn-applicationautoscaling-scalabletarget-scalabletargetaction-maxcapacity>+                                  maxCapacity :: (Prelude.Maybe (Value Prelude.Integer)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scalabletargetaction.html#cfn-applicationautoscaling-scalabletarget-scalabletargetaction-mincapacity>+                                  minCapacity :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkScalableTargetActionProperty :: ScalableTargetActionProperty+mkScalableTargetActionProperty+  = ScalableTargetActionProperty+      {haddock_workaround_ = (), maxCapacity = Prelude.Nothing,+       minCapacity = Prelude.Nothing}+instance ToResourceProperties ScalableTargetActionProperty where+  toResourceProperties ScalableTargetActionProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "MaxCapacity" Prelude.<$> maxCapacity,+                            (JSON..=) "MinCapacity" Prelude.<$> minCapacity])}+instance JSON.ToJSON ScalableTargetActionProperty where+  toJSON ScalableTargetActionProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "MaxCapacity" Prelude.<$> maxCapacity,+               (JSON..=) "MinCapacity" Prelude.<$> minCapacity]))+instance Property "MaxCapacity" ScalableTargetActionProperty where+  type PropertyType "MaxCapacity" ScalableTargetActionProperty = Value Prelude.Integer+  set newValue ScalableTargetActionProperty {..}+    = ScalableTargetActionProperty+        {maxCapacity = Prelude.pure newValue, ..}+instance Property "MinCapacity" ScalableTargetActionProperty where+  type PropertyType "MinCapacity" ScalableTargetActionProperty = Value Prelude.Integer+  set newValue ScalableTargetActionProperty {..}+    = ScalableTargetActionProperty+        {minCapacity = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalableTarget/ScalableTargetActionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalableTarget.ScalableTargetActionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ScalableTargetActionProperty :: Prelude.Type+instance ToResourceProperties ScalableTargetActionProperty+instance Prelude.Eq ScalableTargetActionProperty+instance Prelude.Show ScalableTargetActionProperty+instance JSON.ToJSON ScalableTargetActionProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalableTarget/ScheduledActionProperty.hs view
@@ -0,0 +1,85 @@+module Stratosphere.ApplicationAutoScaling.ScalableTarget.ScheduledActionProperty (+        module Exports, ScheduledActionProperty(..),+        mkScheduledActionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalableTarget.ScalableTargetActionProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ScheduledActionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html>+    ScheduledActionProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-endtime>+                             endTime :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-scalabletargetaction>+                             scalableTargetAction :: (Prelude.Maybe ScalableTargetActionProperty),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-schedule>+                             schedule :: (Value Prelude.Text),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-scheduledactionname>+                             scheduledActionName :: (Value Prelude.Text),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-starttime>+                             startTime :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-timezone>+                             timezone :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkScheduledActionProperty ::+  Value Prelude.Text -> Value Prelude.Text -> ScheduledActionProperty+mkScheduledActionProperty schedule scheduledActionName+  = ScheduledActionProperty+      {haddock_workaround_ = (), schedule = schedule,+       scheduledActionName = scheduledActionName,+       endTime = Prelude.Nothing, scalableTargetAction = Prelude.Nothing,+       startTime = Prelude.Nothing, timezone = Prelude.Nothing}+instance ToResourceProperties ScheduledActionProperty where+  toResourceProperties ScheduledActionProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Schedule" JSON..= schedule,+                            "ScheduledActionName" JSON..= scheduledActionName]+                           (Prelude.catMaybes+                              [(JSON..=) "EndTime" Prelude.<$> endTime,+                               (JSON..=) "ScalableTargetAction" Prelude.<$> scalableTargetAction,+                               (JSON..=) "StartTime" Prelude.<$> startTime,+                               (JSON..=) "Timezone" Prelude.<$> timezone]))}+instance JSON.ToJSON ScheduledActionProperty where+  toJSON ScheduledActionProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Schedule" JSON..= schedule,+               "ScheduledActionName" JSON..= scheduledActionName]+              (Prelude.catMaybes+                 [(JSON..=) "EndTime" Prelude.<$> endTime,+                  (JSON..=) "ScalableTargetAction" Prelude.<$> scalableTargetAction,+                  (JSON..=) "StartTime" Prelude.<$> startTime,+                  (JSON..=) "Timezone" Prelude.<$> timezone])))+instance Property "EndTime" ScheduledActionProperty where+  type PropertyType "EndTime" ScheduledActionProperty = Value Prelude.Text+  set newValue ScheduledActionProperty {..}+    = ScheduledActionProperty {endTime = Prelude.pure newValue, ..}+instance Property "ScalableTargetAction" ScheduledActionProperty where+  type PropertyType "ScalableTargetAction" ScheduledActionProperty = ScalableTargetActionProperty+  set newValue ScheduledActionProperty {..}+    = ScheduledActionProperty+        {scalableTargetAction = Prelude.pure newValue, ..}+instance Property "Schedule" ScheduledActionProperty where+  type PropertyType "Schedule" ScheduledActionProperty = Value Prelude.Text+  set newValue ScheduledActionProperty {..}+    = ScheduledActionProperty {schedule = newValue, ..}+instance Property "ScheduledActionName" ScheduledActionProperty where+  type PropertyType "ScheduledActionName" ScheduledActionProperty = Value Prelude.Text+  set newValue ScheduledActionProperty {..}+    = ScheduledActionProperty {scheduledActionName = newValue, ..}+instance Property "StartTime" ScheduledActionProperty where+  type PropertyType "StartTime" ScheduledActionProperty = Value Prelude.Text+  set newValue ScheduledActionProperty {..}+    = ScheduledActionProperty {startTime = Prelude.pure newValue, ..}+instance Property "Timezone" ScheduledActionProperty where+  type PropertyType "Timezone" ScheduledActionProperty = Value Prelude.Text+  set newValue ScheduledActionProperty {..}+    = ScheduledActionProperty {timezone = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalableTarget/ScheduledActionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalableTarget.ScheduledActionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ScheduledActionProperty :: Prelude.Type+instance ToResourceProperties ScheduledActionProperty+instance Prelude.Eq ScheduledActionProperty+instance Prelude.Show ScheduledActionProperty+instance JSON.ToJSON ScheduledActionProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalableTarget/SuspendedStateProperty.hs view
@@ -0,0 +1,64 @@+module Stratosphere.ApplicationAutoScaling.ScalableTarget.SuspendedStateProperty (+        SuspendedStateProperty(..), mkSuspendedStateProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SuspendedStateProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-suspendedstate.html>+    SuspendedStateProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-suspendedstate.html#cfn-applicationautoscaling-scalabletarget-suspendedstate-dynamicscalinginsuspended>+                            dynamicScalingInSuspended :: (Prelude.Maybe (Value Prelude.Bool)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-suspendedstate.html#cfn-applicationautoscaling-scalabletarget-suspendedstate-dynamicscalingoutsuspended>+                            dynamicScalingOutSuspended :: (Prelude.Maybe (Value Prelude.Bool)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-suspendedstate.html#cfn-applicationautoscaling-scalabletarget-suspendedstate-scheduledscalingsuspended>+                            scheduledScalingSuspended :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSuspendedStateProperty :: SuspendedStateProperty+mkSuspendedStateProperty+  = SuspendedStateProperty+      {haddock_workaround_ = (),+       dynamicScalingInSuspended = Prelude.Nothing,+       dynamicScalingOutSuspended = Prelude.Nothing,+       scheduledScalingSuspended = Prelude.Nothing}+instance ToResourceProperties SuspendedStateProperty where+  toResourceProperties SuspendedStateProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalableTarget.SuspendedState",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DynamicScalingInSuspended"+                              Prelude.<$> dynamicScalingInSuspended,+                            (JSON..=) "DynamicScalingOutSuspended"+                              Prelude.<$> dynamicScalingOutSuspended,+                            (JSON..=) "ScheduledScalingSuspended"+                              Prelude.<$> scheduledScalingSuspended])}+instance JSON.ToJSON SuspendedStateProperty where+  toJSON SuspendedStateProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DynamicScalingInSuspended"+                 Prelude.<$> dynamicScalingInSuspended,+               (JSON..=) "DynamicScalingOutSuspended"+                 Prelude.<$> dynamicScalingOutSuspended,+               (JSON..=) "ScheduledScalingSuspended"+                 Prelude.<$> scheduledScalingSuspended]))+instance Property "DynamicScalingInSuspended" SuspendedStateProperty where+  type PropertyType "DynamicScalingInSuspended" SuspendedStateProperty = Value Prelude.Bool+  set newValue SuspendedStateProperty {..}+    = SuspendedStateProperty+        {dynamicScalingInSuspended = Prelude.pure newValue, ..}+instance Property "DynamicScalingOutSuspended" SuspendedStateProperty where+  type PropertyType "DynamicScalingOutSuspended" SuspendedStateProperty = Value Prelude.Bool+  set newValue SuspendedStateProperty {..}+    = SuspendedStateProperty+        {dynamicScalingOutSuspended = Prelude.pure newValue, ..}+instance Property "ScheduledScalingSuspended" SuspendedStateProperty where+  type PropertyType "ScheduledScalingSuspended" SuspendedStateProperty = Value Prelude.Bool+  set newValue SuspendedStateProperty {..}+    = SuspendedStateProperty+        {scheduledScalingSuspended = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalableTarget/SuspendedStateProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalableTarget.SuspendedStateProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SuspendedStateProperty :: Prelude.Type+instance ToResourceProperties SuspendedStateProperty+instance Prelude.Eq SuspendedStateProperty+instance Prelude.Show SuspendedStateProperty+instance JSON.ToJSON SuspendedStateProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy.hs view
@@ -0,0 +1,121 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy (+        module Exports, ScalingPolicy(..), mkScalingPolicy+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingPolicyConfigurationProperty as Exports+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.StepScalingPolicyConfigurationProperty as Exports+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.TargetTrackingScalingPolicyConfigurationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ScalingPolicy+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html>+    ScalingPolicy {haddock_workaround_ :: (),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-policyname>+                   policyName :: (Value Prelude.Text),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-policytype>+                   policyType :: (Value Prelude.Text),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingpolicyconfiguration>+                   predictiveScalingPolicyConfiguration :: (Prelude.Maybe PredictiveScalingPolicyConfigurationProperty),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-resourceid>+                   resourceId :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-scalabledimension>+                   scalableDimension :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-scalingtargetid>+                   scalingTargetId :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-servicenamespace>+                   serviceNamespace :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration>+                   stepScalingPolicyConfiguration :: (Prelude.Maybe StepScalingPolicyConfigurationProperty),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration>+                   targetTrackingScalingPolicyConfiguration :: (Prelude.Maybe TargetTrackingScalingPolicyConfigurationProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkScalingPolicy ::+  Value Prelude.Text -> Value Prelude.Text -> ScalingPolicy+mkScalingPolicy policyName policyType+  = ScalingPolicy+      {haddock_workaround_ = (), policyName = policyName,+       policyType = policyType,+       predictiveScalingPolicyConfiguration = Prelude.Nothing,+       resourceId = Prelude.Nothing, scalableDimension = Prelude.Nothing,+       scalingTargetId = Prelude.Nothing,+       serviceNamespace = Prelude.Nothing,+       stepScalingPolicyConfiguration = Prelude.Nothing,+       targetTrackingScalingPolicyConfiguration = Prelude.Nothing}+instance ToResourceProperties ScalingPolicy where+  toResourceProperties ScalingPolicy {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalingPolicy",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["PolicyName" JSON..= policyName, "PolicyType" JSON..= policyType]+                           (Prelude.catMaybes+                              [(JSON..=) "PredictiveScalingPolicyConfiguration"+                                 Prelude.<$> predictiveScalingPolicyConfiguration,+                               (JSON..=) "ResourceId" Prelude.<$> resourceId,+                               (JSON..=) "ScalableDimension" Prelude.<$> scalableDimension,+                               (JSON..=) "ScalingTargetId" Prelude.<$> scalingTargetId,+                               (JSON..=) "ServiceNamespace" Prelude.<$> serviceNamespace,+                               (JSON..=) "StepScalingPolicyConfiguration"+                                 Prelude.<$> stepScalingPolicyConfiguration,+                               (JSON..=) "TargetTrackingScalingPolicyConfiguration"+                                 Prelude.<$> targetTrackingScalingPolicyConfiguration]))}+instance JSON.ToJSON ScalingPolicy where+  toJSON ScalingPolicy {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["PolicyName" JSON..= policyName, "PolicyType" JSON..= policyType]+              (Prelude.catMaybes+                 [(JSON..=) "PredictiveScalingPolicyConfiguration"+                    Prelude.<$> predictiveScalingPolicyConfiguration,+                  (JSON..=) "ResourceId" Prelude.<$> resourceId,+                  (JSON..=) "ScalableDimension" Prelude.<$> scalableDimension,+                  (JSON..=) "ScalingTargetId" Prelude.<$> scalingTargetId,+                  (JSON..=) "ServiceNamespace" Prelude.<$> serviceNamespace,+                  (JSON..=) "StepScalingPolicyConfiguration"+                    Prelude.<$> stepScalingPolicyConfiguration,+                  (JSON..=) "TargetTrackingScalingPolicyConfiguration"+                    Prelude.<$> targetTrackingScalingPolicyConfiguration])))+instance Property "PolicyName" ScalingPolicy where+  type PropertyType "PolicyName" ScalingPolicy = Value Prelude.Text+  set newValue ScalingPolicy {..}+    = ScalingPolicy {policyName = newValue, ..}+instance Property "PolicyType" ScalingPolicy where+  type PropertyType "PolicyType" ScalingPolicy = Value Prelude.Text+  set newValue ScalingPolicy {..}+    = ScalingPolicy {policyType = newValue, ..}+instance Property "PredictiveScalingPolicyConfiguration" ScalingPolicy where+  type PropertyType "PredictiveScalingPolicyConfiguration" ScalingPolicy = PredictiveScalingPolicyConfigurationProperty+  set newValue ScalingPolicy {..}+    = ScalingPolicy+        {predictiveScalingPolicyConfiguration = Prelude.pure newValue, ..}+instance Property "ResourceId" ScalingPolicy where+  type PropertyType "ResourceId" ScalingPolicy = Value Prelude.Text+  set newValue ScalingPolicy {..}+    = ScalingPolicy {resourceId = Prelude.pure newValue, ..}+instance Property "ScalableDimension" ScalingPolicy where+  type PropertyType "ScalableDimension" ScalingPolicy = Value Prelude.Text+  set newValue ScalingPolicy {..}+    = ScalingPolicy {scalableDimension = Prelude.pure newValue, ..}+instance Property "ScalingTargetId" ScalingPolicy where+  type PropertyType "ScalingTargetId" ScalingPolicy = Value Prelude.Text+  set newValue ScalingPolicy {..}+    = ScalingPolicy {scalingTargetId = Prelude.pure newValue, ..}+instance Property "ServiceNamespace" ScalingPolicy where+  type PropertyType "ServiceNamespace" ScalingPolicy = Value Prelude.Text+  set newValue ScalingPolicy {..}+    = ScalingPolicy {serviceNamespace = Prelude.pure newValue, ..}+instance Property "StepScalingPolicyConfiguration" ScalingPolicy where+  type PropertyType "StepScalingPolicyConfiguration" ScalingPolicy = StepScalingPolicyConfigurationProperty+  set newValue ScalingPolicy {..}+    = ScalingPolicy+        {stepScalingPolicyConfiguration = Prelude.pure newValue, ..}+instance Property "TargetTrackingScalingPolicyConfiguration" ScalingPolicy where+  type PropertyType "TargetTrackingScalingPolicyConfiguration" ScalingPolicy = TargetTrackingScalingPolicyConfigurationProperty+  set newValue ScalingPolicy {..}+    = ScalingPolicy+        {targetTrackingScalingPolicyConfiguration = Prelude.pure newValue,+         ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/CustomizedMetricSpecificationProperty.hs view
@@ -0,0 +1,89 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.CustomizedMetricSpecificationProperty (+        module Exports, CustomizedMetricSpecificationProperty(..),+        mkCustomizedMetricSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.MetricDimensionProperty as Exports+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.TargetTrackingMetricDataQueryProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CustomizedMetricSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html>+    CustomizedMetricSpecificationProperty {haddock_workaround_ :: (),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-dimensions>+                                           dimensions :: (Prelude.Maybe [MetricDimensionProperty]),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-metricname>+                                           metricName :: (Prelude.Maybe (Value Prelude.Text)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-metrics>+                                           metrics :: (Prelude.Maybe [TargetTrackingMetricDataQueryProperty]),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-namespace>+                                           namespace :: (Prelude.Maybe (Value Prelude.Text)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-statistic>+                                           statistic :: (Prelude.Maybe (Value Prelude.Text)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-unit>+                                           unit :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCustomizedMetricSpecificationProperty ::+  CustomizedMetricSpecificationProperty+mkCustomizedMetricSpecificationProperty+  = CustomizedMetricSpecificationProperty+      {haddock_workaround_ = (), dimensions = Prelude.Nothing,+       metricName = Prelude.Nothing, metrics = Prelude.Nothing,+       namespace = Prelude.Nothing, statistic = Prelude.Nothing,+       unit = Prelude.Nothing}+instance ToResourceProperties CustomizedMetricSpecificationProperty where+  toResourceProperties CustomizedMetricSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Dimensions" Prelude.<$> dimensions,+                            (JSON..=) "MetricName" Prelude.<$> metricName,+                            (JSON..=) "Metrics" Prelude.<$> metrics,+                            (JSON..=) "Namespace" Prelude.<$> namespace,+                            (JSON..=) "Statistic" Prelude.<$> statistic,+                            (JSON..=) "Unit" Prelude.<$> unit])}+instance JSON.ToJSON CustomizedMetricSpecificationProperty where+  toJSON CustomizedMetricSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Dimensions" Prelude.<$> dimensions,+               (JSON..=) "MetricName" Prelude.<$> metricName,+               (JSON..=) "Metrics" Prelude.<$> metrics,+               (JSON..=) "Namespace" Prelude.<$> namespace,+               (JSON..=) "Statistic" Prelude.<$> statistic,+               (JSON..=) "Unit" Prelude.<$> unit]))+instance Property "Dimensions" CustomizedMetricSpecificationProperty where+  type PropertyType "Dimensions" CustomizedMetricSpecificationProperty = [MetricDimensionProperty]+  set newValue CustomizedMetricSpecificationProperty {..}+    = CustomizedMetricSpecificationProperty+        {dimensions = Prelude.pure newValue, ..}+instance Property "MetricName" CustomizedMetricSpecificationProperty where+  type PropertyType "MetricName" CustomizedMetricSpecificationProperty = Value Prelude.Text+  set newValue CustomizedMetricSpecificationProperty {..}+    = CustomizedMetricSpecificationProperty+        {metricName = Prelude.pure newValue, ..}+instance Property "Metrics" CustomizedMetricSpecificationProperty where+  type PropertyType "Metrics" CustomizedMetricSpecificationProperty = [TargetTrackingMetricDataQueryProperty]+  set newValue CustomizedMetricSpecificationProperty {..}+    = CustomizedMetricSpecificationProperty+        {metrics = Prelude.pure newValue, ..}+instance Property "Namespace" CustomizedMetricSpecificationProperty where+  type PropertyType "Namespace" CustomizedMetricSpecificationProperty = Value Prelude.Text+  set newValue CustomizedMetricSpecificationProperty {..}+    = CustomizedMetricSpecificationProperty+        {namespace = Prelude.pure newValue, ..}+instance Property "Statistic" CustomizedMetricSpecificationProperty where+  type PropertyType "Statistic" CustomizedMetricSpecificationProperty = Value Prelude.Text+  set newValue CustomizedMetricSpecificationProperty {..}+    = CustomizedMetricSpecificationProperty+        {statistic = Prelude.pure newValue, ..}+instance Property "Unit" CustomizedMetricSpecificationProperty where+  type PropertyType "Unit" CustomizedMetricSpecificationProperty = Value Prelude.Text+  set newValue CustomizedMetricSpecificationProperty {..}+    = CustomizedMetricSpecificationProperty+        {unit = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/CustomizedMetricSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.CustomizedMetricSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CustomizedMetricSpecificationProperty :: Prelude.Type+instance ToResourceProperties CustomizedMetricSpecificationProperty+instance Prelude.Eq CustomizedMetricSpecificationProperty+instance Prelude.Show CustomizedMetricSpecificationProperty+instance JSON.ToJSON CustomizedMetricSpecificationProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/MetricDimensionProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.MetricDimensionProperty (+        MetricDimensionProperty(..), mkMetricDimensionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MetricDimensionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-metricdimension.html>+    MetricDimensionProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-metricdimension.html#cfn-applicationautoscaling-scalingpolicy-metricdimension-name>+                             name :: (Value Prelude.Text),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-metricdimension.html#cfn-applicationautoscaling-scalingpolicy-metricdimension-value>+                             value :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMetricDimensionProperty ::+  Value Prelude.Text -> Value Prelude.Text -> MetricDimensionProperty+mkMetricDimensionProperty name value+  = MetricDimensionProperty+      {haddock_workaround_ = (), name = name, value = value}+instance ToResourceProperties MetricDimensionProperty where+  toResourceProperties MetricDimensionProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension",+         supportsTags = Prelude.False,+         properties = ["Name" JSON..= name, "Value" JSON..= value]}+instance JSON.ToJSON MetricDimensionProperty where+  toJSON MetricDimensionProperty {..}+    = JSON.object ["Name" JSON..= name, "Value" JSON..= value]+instance Property "Name" MetricDimensionProperty where+  type PropertyType "Name" MetricDimensionProperty = Value Prelude.Text+  set newValue MetricDimensionProperty {..}+    = MetricDimensionProperty {name = newValue, ..}+instance Property "Value" MetricDimensionProperty where+  type PropertyType "Value" MetricDimensionProperty = Value Prelude.Text+  set newValue MetricDimensionProperty {..}+    = MetricDimensionProperty {value = newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/MetricDimensionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.MetricDimensionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MetricDimensionProperty :: Prelude.Type+instance ToResourceProperties MetricDimensionProperty+instance Prelude.Eq MetricDimensionProperty+instance Prelude.Show MetricDimensionProperty+instance JSON.ToJSON MetricDimensionProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredefinedMetricSpecificationProperty.hs view
@@ -0,0 +1,52 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredefinedMetricSpecificationProperty (+        PredefinedMetricSpecificationProperty(..),+        mkPredefinedMetricSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PredefinedMetricSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predefinedmetricspecification.html>+    PredefinedMetricSpecificationProperty {haddock_workaround_ :: (),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predefinedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-predefinedmetricspecification-predefinedmetrictype>+                                           predefinedMetricType :: (Value Prelude.Text),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predefinedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-predefinedmetricspecification-resourcelabel>+                                           resourceLabel :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredefinedMetricSpecificationProperty ::+  Value Prelude.Text -> PredefinedMetricSpecificationProperty+mkPredefinedMetricSpecificationProperty predefinedMetricType+  = PredefinedMetricSpecificationProperty+      {haddock_workaround_ = (),+       predefinedMetricType = predefinedMetricType,+       resourceLabel = Prelude.Nothing}+instance ToResourceProperties PredefinedMetricSpecificationProperty where+  toResourceProperties PredefinedMetricSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["PredefinedMetricType" JSON..= predefinedMetricType]+                           (Prelude.catMaybes+                              [(JSON..=) "ResourceLabel" Prelude.<$> resourceLabel]))}+instance JSON.ToJSON PredefinedMetricSpecificationProperty where+  toJSON PredefinedMetricSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["PredefinedMetricType" JSON..= predefinedMetricType]+              (Prelude.catMaybes+                 [(JSON..=) "ResourceLabel" Prelude.<$> resourceLabel])))+instance Property "PredefinedMetricType" PredefinedMetricSpecificationProperty where+  type PropertyType "PredefinedMetricType" PredefinedMetricSpecificationProperty = Value Prelude.Text+  set newValue PredefinedMetricSpecificationProperty {..}+    = PredefinedMetricSpecificationProperty+        {predefinedMetricType = newValue, ..}+instance Property "ResourceLabel" PredefinedMetricSpecificationProperty where+  type PropertyType "ResourceLabel" PredefinedMetricSpecificationProperty = Value Prelude.Text+  set newValue PredefinedMetricSpecificationProperty {..}+    = PredefinedMetricSpecificationProperty+        {resourceLabel = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredefinedMetricSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredefinedMetricSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredefinedMetricSpecificationProperty :: Prelude.Type+instance ToResourceProperties PredefinedMetricSpecificationProperty+instance Prelude.Eq PredefinedMetricSpecificationProperty+instance Prelude.Show PredefinedMetricSpecificationProperty+instance JSON.ToJSON PredefinedMetricSpecificationProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingCustomizedCapacityMetricProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingCustomizedCapacityMetricProperty (+        module Exports,+        PredictiveScalingCustomizedCapacityMetricProperty(..),+        mkPredictiveScalingCustomizedCapacityMetricProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingMetricDataQueryProperty as Exports+import Stratosphere.ResourceProperties+data PredictiveScalingCustomizedCapacityMetricProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingcustomizedcapacitymetric.html>+    PredictiveScalingCustomizedCapacityMetricProperty {haddock_workaround_ :: (),+                                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingcustomizedcapacitymetric.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingcustomizedcapacitymetric-metricdataqueries>+                                                       metricDataQueries :: [PredictiveScalingMetricDataQueryProperty]}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredictiveScalingCustomizedCapacityMetricProperty ::+  [PredictiveScalingMetricDataQueryProperty]+  -> PredictiveScalingCustomizedCapacityMetricProperty+mkPredictiveScalingCustomizedCapacityMetricProperty+  metricDataQueries+  = PredictiveScalingCustomizedCapacityMetricProperty+      {haddock_workaround_ = (), metricDataQueries = metricDataQueries}+instance ToResourceProperties PredictiveScalingCustomizedCapacityMetricProperty where+  toResourceProperties+    PredictiveScalingCustomizedCapacityMetricProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalingPolicy.PredictiveScalingCustomizedCapacityMetric",+         supportsTags = Prelude.False,+         properties = ["MetricDataQueries" JSON..= metricDataQueries]}+instance JSON.ToJSON PredictiveScalingCustomizedCapacityMetricProperty where+  toJSON PredictiveScalingCustomizedCapacityMetricProperty {..}+    = JSON.object ["MetricDataQueries" JSON..= metricDataQueries]+instance Property "MetricDataQueries" PredictiveScalingCustomizedCapacityMetricProperty where+  type PropertyType "MetricDataQueries" PredictiveScalingCustomizedCapacityMetricProperty = [PredictiveScalingMetricDataQueryProperty]+  set newValue PredictiveScalingCustomizedCapacityMetricProperty {..}+    = PredictiveScalingCustomizedCapacityMetricProperty+        {metricDataQueries = newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingCustomizedCapacityMetricProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingCustomizedCapacityMetricProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredictiveScalingCustomizedCapacityMetricProperty :: Prelude.Type+instance ToResourceProperties PredictiveScalingCustomizedCapacityMetricProperty+instance Prelude.Eq PredictiveScalingCustomizedCapacityMetricProperty+instance Prelude.Show PredictiveScalingCustomizedCapacityMetricProperty+instance JSON.ToJSON PredictiveScalingCustomizedCapacityMetricProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingCustomizedLoadMetricProperty.hs view
@@ -0,0 +1,36 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingCustomizedLoadMetricProperty (+        module Exports, PredictiveScalingCustomizedLoadMetricProperty(..),+        mkPredictiveScalingCustomizedLoadMetricProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingMetricDataQueryProperty as Exports+import Stratosphere.ResourceProperties+data PredictiveScalingCustomizedLoadMetricProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingcustomizedloadmetric.html>+    PredictiveScalingCustomizedLoadMetricProperty {haddock_workaround_ :: (),+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingcustomizedloadmetric.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingcustomizedloadmetric-metricdataqueries>+                                                   metricDataQueries :: [PredictiveScalingMetricDataQueryProperty]}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredictiveScalingCustomizedLoadMetricProperty ::+  [PredictiveScalingMetricDataQueryProperty]+  -> PredictiveScalingCustomizedLoadMetricProperty+mkPredictiveScalingCustomizedLoadMetricProperty metricDataQueries+  = PredictiveScalingCustomizedLoadMetricProperty+      {haddock_workaround_ = (), metricDataQueries = metricDataQueries}+instance ToResourceProperties PredictiveScalingCustomizedLoadMetricProperty where+  toResourceProperties+    PredictiveScalingCustomizedLoadMetricProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalingPolicy.PredictiveScalingCustomizedLoadMetric",+         supportsTags = Prelude.False,+         properties = ["MetricDataQueries" JSON..= metricDataQueries]}+instance JSON.ToJSON PredictiveScalingCustomizedLoadMetricProperty where+  toJSON PredictiveScalingCustomizedLoadMetricProperty {..}+    = JSON.object ["MetricDataQueries" JSON..= metricDataQueries]+instance Property "MetricDataQueries" PredictiveScalingCustomizedLoadMetricProperty where+  type PropertyType "MetricDataQueries" PredictiveScalingCustomizedLoadMetricProperty = [PredictiveScalingMetricDataQueryProperty]+  set newValue PredictiveScalingCustomizedLoadMetricProperty {..}+    = PredictiveScalingCustomizedLoadMetricProperty+        {metricDataQueries = newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingCustomizedLoadMetricProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingCustomizedLoadMetricProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredictiveScalingCustomizedLoadMetricProperty :: Prelude.Type+instance ToResourceProperties PredictiveScalingCustomizedLoadMetricProperty+instance Prelude.Eq PredictiveScalingCustomizedLoadMetricProperty+instance Prelude.Show PredictiveScalingCustomizedLoadMetricProperty+instance JSON.ToJSON PredictiveScalingCustomizedLoadMetricProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingCustomizedScalingMetricProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingCustomizedScalingMetricProperty (+        module Exports,+        PredictiveScalingCustomizedScalingMetricProperty(..),+        mkPredictiveScalingCustomizedScalingMetricProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingMetricDataQueryProperty as Exports+import Stratosphere.ResourceProperties+data PredictiveScalingCustomizedScalingMetricProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingcustomizedscalingmetric.html>+    PredictiveScalingCustomizedScalingMetricProperty {haddock_workaround_ :: (),+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingcustomizedscalingmetric.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingcustomizedscalingmetric-metricdataqueries>+                                                      metricDataQueries :: [PredictiveScalingMetricDataQueryProperty]}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredictiveScalingCustomizedScalingMetricProperty ::+  [PredictiveScalingMetricDataQueryProperty]+  -> PredictiveScalingCustomizedScalingMetricProperty+mkPredictiveScalingCustomizedScalingMetricProperty+  metricDataQueries+  = PredictiveScalingCustomizedScalingMetricProperty+      {haddock_workaround_ = (), metricDataQueries = metricDataQueries}+instance ToResourceProperties PredictiveScalingCustomizedScalingMetricProperty where+  toResourceProperties+    PredictiveScalingCustomizedScalingMetricProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalingPolicy.PredictiveScalingCustomizedScalingMetric",+         supportsTags = Prelude.False,+         properties = ["MetricDataQueries" JSON..= metricDataQueries]}+instance JSON.ToJSON PredictiveScalingCustomizedScalingMetricProperty where+  toJSON PredictiveScalingCustomizedScalingMetricProperty {..}+    = JSON.object ["MetricDataQueries" JSON..= metricDataQueries]+instance Property "MetricDataQueries" PredictiveScalingCustomizedScalingMetricProperty where+  type PropertyType "MetricDataQueries" PredictiveScalingCustomizedScalingMetricProperty = [PredictiveScalingMetricDataQueryProperty]+  set newValue PredictiveScalingCustomizedScalingMetricProperty {..}+    = PredictiveScalingCustomizedScalingMetricProperty+        {metricDataQueries = newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingCustomizedScalingMetricProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingCustomizedScalingMetricProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredictiveScalingCustomizedScalingMetricProperty :: Prelude.Type+instance ToResourceProperties PredictiveScalingCustomizedScalingMetricProperty+instance Prelude.Eq PredictiveScalingCustomizedScalingMetricProperty+instance Prelude.Show PredictiveScalingCustomizedScalingMetricProperty+instance JSON.ToJSON PredictiveScalingCustomizedScalingMetricProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingMetricDataQueryProperty.hs view
@@ -0,0 +1,76 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingMetricDataQueryProperty (+        module Exports, PredictiveScalingMetricDataQueryProperty(..),+        mkPredictiveScalingMetricDataQueryProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingMetricStatProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PredictiveScalingMetricDataQueryProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetricdataquery.html>+    PredictiveScalingMetricDataQueryProperty {haddock_workaround_ :: (),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetricdataquery.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingmetricdataquery-expression>+                                              expression :: (Prelude.Maybe (Value Prelude.Text)),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetricdataquery.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingmetricdataquery-id>+                                              id :: (Prelude.Maybe (Value Prelude.Text)),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetricdataquery.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingmetricdataquery-label>+                                              label :: (Prelude.Maybe (Value Prelude.Text)),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetricdataquery.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingmetricdataquery-metricstat>+                                              metricStat :: (Prelude.Maybe PredictiveScalingMetricStatProperty),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetricdataquery.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingmetricdataquery-returndata>+                                              returnData :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredictiveScalingMetricDataQueryProperty ::+  PredictiveScalingMetricDataQueryProperty+mkPredictiveScalingMetricDataQueryProperty+  = PredictiveScalingMetricDataQueryProperty+      {haddock_workaround_ = (), expression = Prelude.Nothing,+       id = Prelude.Nothing, label = Prelude.Nothing,+       metricStat = Prelude.Nothing, returnData = Prelude.Nothing}+instance ToResourceProperties PredictiveScalingMetricDataQueryProperty where+  toResourceProperties PredictiveScalingMetricDataQueryProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalingPolicy.PredictiveScalingMetricDataQuery",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Expression" Prelude.<$> expression,+                            (JSON..=) "Id" Prelude.<$> id, (JSON..=) "Label" Prelude.<$> label,+                            (JSON..=) "MetricStat" Prelude.<$> metricStat,+                            (JSON..=) "ReturnData" Prelude.<$> returnData])}+instance JSON.ToJSON PredictiveScalingMetricDataQueryProperty where+  toJSON PredictiveScalingMetricDataQueryProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Expression" Prelude.<$> expression,+               (JSON..=) "Id" Prelude.<$> id, (JSON..=) "Label" Prelude.<$> label,+               (JSON..=) "MetricStat" Prelude.<$> metricStat,+               (JSON..=) "ReturnData" Prelude.<$> returnData]))+instance Property "Expression" PredictiveScalingMetricDataQueryProperty where+  type PropertyType "Expression" PredictiveScalingMetricDataQueryProperty = Value Prelude.Text+  set newValue PredictiveScalingMetricDataQueryProperty {..}+    = PredictiveScalingMetricDataQueryProperty+        {expression = Prelude.pure newValue, ..}+instance Property "Id" PredictiveScalingMetricDataQueryProperty where+  type PropertyType "Id" PredictiveScalingMetricDataQueryProperty = Value Prelude.Text+  set newValue PredictiveScalingMetricDataQueryProperty {..}+    = PredictiveScalingMetricDataQueryProperty+        {id = Prelude.pure newValue, ..}+instance Property "Label" PredictiveScalingMetricDataQueryProperty where+  type PropertyType "Label" PredictiveScalingMetricDataQueryProperty = Value Prelude.Text+  set newValue PredictiveScalingMetricDataQueryProperty {..}+    = PredictiveScalingMetricDataQueryProperty+        {label = Prelude.pure newValue, ..}+instance Property "MetricStat" PredictiveScalingMetricDataQueryProperty where+  type PropertyType "MetricStat" PredictiveScalingMetricDataQueryProperty = PredictiveScalingMetricStatProperty+  set newValue PredictiveScalingMetricDataQueryProperty {..}+    = PredictiveScalingMetricDataQueryProperty+        {metricStat = Prelude.pure newValue, ..}+instance Property "ReturnData" PredictiveScalingMetricDataQueryProperty where+  type PropertyType "ReturnData" PredictiveScalingMetricDataQueryProperty = Value Prelude.Bool+  set newValue PredictiveScalingMetricDataQueryProperty {..}+    = PredictiveScalingMetricDataQueryProperty+        {returnData = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingMetricDataQueryProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingMetricDataQueryProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredictiveScalingMetricDataQueryProperty :: Prelude.Type+instance ToResourceProperties PredictiveScalingMetricDataQueryProperty+instance Prelude.Eq PredictiveScalingMetricDataQueryProperty+instance Prelude.Show PredictiveScalingMetricDataQueryProperty+instance JSON.ToJSON PredictiveScalingMetricDataQueryProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingMetricDimensionProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingMetricDimensionProperty (+        PredictiveScalingMetricDimensionProperty(..),+        mkPredictiveScalingMetricDimensionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PredictiveScalingMetricDimensionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetricdimension.html>+    PredictiveScalingMetricDimensionProperty {haddock_workaround_ :: (),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetricdimension.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingmetricdimension-name>+                                              name :: (Prelude.Maybe (Value Prelude.Text)),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetricdimension.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingmetricdimension-value>+                                              value :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredictiveScalingMetricDimensionProperty ::+  PredictiveScalingMetricDimensionProperty+mkPredictiveScalingMetricDimensionProperty+  = PredictiveScalingMetricDimensionProperty+      {haddock_workaround_ = (), name = Prelude.Nothing,+       value = Prelude.Nothing}+instance ToResourceProperties PredictiveScalingMetricDimensionProperty where+  toResourceProperties PredictiveScalingMetricDimensionProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalingPolicy.PredictiveScalingMetricDimension",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Name" Prelude.<$> name,+                            (JSON..=) "Value" Prelude.<$> value])}+instance JSON.ToJSON PredictiveScalingMetricDimensionProperty where+  toJSON PredictiveScalingMetricDimensionProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Name" Prelude.<$> name,+               (JSON..=) "Value" Prelude.<$> value]))+instance Property "Name" PredictiveScalingMetricDimensionProperty where+  type PropertyType "Name" PredictiveScalingMetricDimensionProperty = Value Prelude.Text+  set newValue PredictiveScalingMetricDimensionProperty {..}+    = PredictiveScalingMetricDimensionProperty+        {name = Prelude.pure newValue, ..}+instance Property "Value" PredictiveScalingMetricDimensionProperty where+  type PropertyType "Value" PredictiveScalingMetricDimensionProperty = Value Prelude.Text+  set newValue PredictiveScalingMetricDimensionProperty {..}+    = PredictiveScalingMetricDimensionProperty+        {value = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingMetricDimensionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingMetricDimensionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredictiveScalingMetricDimensionProperty :: Prelude.Type+instance ToResourceProperties PredictiveScalingMetricDimensionProperty+instance Prelude.Eq PredictiveScalingMetricDimensionProperty+instance Prelude.Show PredictiveScalingMetricDimensionProperty+instance JSON.ToJSON PredictiveScalingMetricDimensionProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingMetricProperty.hs view
@@ -0,0 +1,59 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingMetricProperty (+        module Exports, PredictiveScalingMetricProperty(..),+        mkPredictiveScalingMetricProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingMetricDimensionProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PredictiveScalingMetricProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetric.html>+    PredictiveScalingMetricProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetric.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingmetric-dimensions>+                                     dimensions :: (Prelude.Maybe [PredictiveScalingMetricDimensionProperty]),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetric.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingmetric-metricname>+                                     metricName :: (Prelude.Maybe (Value Prelude.Text)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetric.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingmetric-namespace>+                                     namespace :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredictiveScalingMetricProperty ::+  PredictiveScalingMetricProperty+mkPredictiveScalingMetricProperty+  = PredictiveScalingMetricProperty+      {haddock_workaround_ = (), dimensions = Prelude.Nothing,+       metricName = Prelude.Nothing, namespace = Prelude.Nothing}+instance ToResourceProperties PredictiveScalingMetricProperty where+  toResourceProperties PredictiveScalingMetricProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalingPolicy.PredictiveScalingMetric",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Dimensions" Prelude.<$> dimensions,+                            (JSON..=) "MetricName" Prelude.<$> metricName,+                            (JSON..=) "Namespace" Prelude.<$> namespace])}+instance JSON.ToJSON PredictiveScalingMetricProperty where+  toJSON PredictiveScalingMetricProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Dimensions" Prelude.<$> dimensions,+               (JSON..=) "MetricName" Prelude.<$> metricName,+               (JSON..=) "Namespace" Prelude.<$> namespace]))+instance Property "Dimensions" PredictiveScalingMetricProperty where+  type PropertyType "Dimensions" PredictiveScalingMetricProperty = [PredictiveScalingMetricDimensionProperty]+  set newValue PredictiveScalingMetricProperty {..}+    = PredictiveScalingMetricProperty+        {dimensions = Prelude.pure newValue, ..}+instance Property "MetricName" PredictiveScalingMetricProperty where+  type PropertyType "MetricName" PredictiveScalingMetricProperty = Value Prelude.Text+  set newValue PredictiveScalingMetricProperty {..}+    = PredictiveScalingMetricProperty+        {metricName = Prelude.pure newValue, ..}+instance Property "Namespace" PredictiveScalingMetricProperty where+  type PropertyType "Namespace" PredictiveScalingMetricProperty = Value Prelude.Text+  set newValue PredictiveScalingMetricProperty {..}+    = PredictiveScalingMetricProperty+        {namespace = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingMetricProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingMetricProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredictiveScalingMetricProperty :: Prelude.Type+instance ToResourceProperties PredictiveScalingMetricProperty+instance Prelude.Eq PredictiveScalingMetricProperty+instance Prelude.Show PredictiveScalingMetricProperty+instance JSON.ToJSON PredictiveScalingMetricProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingMetricSpecificationProperty.hs view
@@ -0,0 +1,121 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingMetricSpecificationProperty (+        module Exports, PredictiveScalingMetricSpecificationProperty(..),+        mkPredictiveScalingMetricSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingCustomizedCapacityMetricProperty as Exports+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingCustomizedLoadMetricProperty as Exports+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingCustomizedScalingMetricProperty as Exports+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingPredefinedLoadMetricProperty as Exports+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingPredefinedMetricPairProperty as Exports+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingPredefinedScalingMetricProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PredictiveScalingMetricSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetricspecification.html>+    PredictiveScalingMetricSpecificationProperty {haddock_workaround_ :: (),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingmetricspecification-customizedcapacitymetricspecification>+                                                  customizedCapacityMetricSpecification :: (Prelude.Maybe PredictiveScalingCustomizedCapacityMetricProperty),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingmetricspecification-customizedloadmetricspecification>+                                                  customizedLoadMetricSpecification :: (Prelude.Maybe PredictiveScalingCustomizedLoadMetricProperty),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingmetricspecification-customizedscalingmetricspecification>+                                                  customizedScalingMetricSpecification :: (Prelude.Maybe PredictiveScalingCustomizedScalingMetricProperty),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingmetricspecification-predefinedloadmetricspecification>+                                                  predefinedLoadMetricSpecification :: (Prelude.Maybe PredictiveScalingPredefinedLoadMetricProperty),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingmetricspecification-predefinedmetricpairspecification>+                                                  predefinedMetricPairSpecification :: (Prelude.Maybe PredictiveScalingPredefinedMetricPairProperty),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingmetricspecification-predefinedscalingmetricspecification>+                                                  predefinedScalingMetricSpecification :: (Prelude.Maybe PredictiveScalingPredefinedScalingMetricProperty),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingmetricspecification-targetvalue>+                                                  targetValue :: (Value Prelude.Double)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredictiveScalingMetricSpecificationProperty ::+  Value Prelude.Double+  -> PredictiveScalingMetricSpecificationProperty+mkPredictiveScalingMetricSpecificationProperty targetValue+  = PredictiveScalingMetricSpecificationProperty+      {haddock_workaround_ = (), targetValue = targetValue,+       customizedCapacityMetricSpecification = Prelude.Nothing,+       customizedLoadMetricSpecification = Prelude.Nothing,+       customizedScalingMetricSpecification = Prelude.Nothing,+       predefinedLoadMetricSpecification = Prelude.Nothing,+       predefinedMetricPairSpecification = Prelude.Nothing,+       predefinedScalingMetricSpecification = Prelude.Nothing}+instance ToResourceProperties PredictiveScalingMetricSpecificationProperty where+  toResourceProperties+    PredictiveScalingMetricSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalingPolicy.PredictiveScalingMetricSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["TargetValue" JSON..= targetValue]+                           (Prelude.catMaybes+                              [(JSON..=) "CustomizedCapacityMetricSpecification"+                                 Prelude.<$> customizedCapacityMetricSpecification,+                               (JSON..=) "CustomizedLoadMetricSpecification"+                                 Prelude.<$> customizedLoadMetricSpecification,+                               (JSON..=) "CustomizedScalingMetricSpecification"+                                 Prelude.<$> customizedScalingMetricSpecification,+                               (JSON..=) "PredefinedLoadMetricSpecification"+                                 Prelude.<$> predefinedLoadMetricSpecification,+                               (JSON..=) "PredefinedMetricPairSpecification"+                                 Prelude.<$> predefinedMetricPairSpecification,+                               (JSON..=) "PredefinedScalingMetricSpecification"+                                 Prelude.<$> predefinedScalingMetricSpecification]))}+instance JSON.ToJSON PredictiveScalingMetricSpecificationProperty where+  toJSON PredictiveScalingMetricSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["TargetValue" JSON..= targetValue]+              (Prelude.catMaybes+                 [(JSON..=) "CustomizedCapacityMetricSpecification"+                    Prelude.<$> customizedCapacityMetricSpecification,+                  (JSON..=) "CustomizedLoadMetricSpecification"+                    Prelude.<$> customizedLoadMetricSpecification,+                  (JSON..=) "CustomizedScalingMetricSpecification"+                    Prelude.<$> customizedScalingMetricSpecification,+                  (JSON..=) "PredefinedLoadMetricSpecification"+                    Prelude.<$> predefinedLoadMetricSpecification,+                  (JSON..=) "PredefinedMetricPairSpecification"+                    Prelude.<$> predefinedMetricPairSpecification,+                  (JSON..=) "PredefinedScalingMetricSpecification"+                    Prelude.<$> predefinedScalingMetricSpecification])))+instance Property "CustomizedCapacityMetricSpecification" PredictiveScalingMetricSpecificationProperty where+  type PropertyType "CustomizedCapacityMetricSpecification" PredictiveScalingMetricSpecificationProperty = PredictiveScalingCustomizedCapacityMetricProperty+  set newValue PredictiveScalingMetricSpecificationProperty {..}+    = PredictiveScalingMetricSpecificationProperty+        {customizedCapacityMetricSpecification = Prelude.pure newValue, ..}+instance Property "CustomizedLoadMetricSpecification" PredictiveScalingMetricSpecificationProperty where+  type PropertyType "CustomizedLoadMetricSpecification" PredictiveScalingMetricSpecificationProperty = PredictiveScalingCustomizedLoadMetricProperty+  set newValue PredictiveScalingMetricSpecificationProperty {..}+    = PredictiveScalingMetricSpecificationProperty+        {customizedLoadMetricSpecification = Prelude.pure newValue, ..}+instance Property "CustomizedScalingMetricSpecification" PredictiveScalingMetricSpecificationProperty where+  type PropertyType "CustomizedScalingMetricSpecification" PredictiveScalingMetricSpecificationProperty = PredictiveScalingCustomizedScalingMetricProperty+  set newValue PredictiveScalingMetricSpecificationProperty {..}+    = PredictiveScalingMetricSpecificationProperty+        {customizedScalingMetricSpecification = Prelude.pure newValue, ..}+instance Property "PredefinedLoadMetricSpecification" PredictiveScalingMetricSpecificationProperty where+  type PropertyType "PredefinedLoadMetricSpecification" PredictiveScalingMetricSpecificationProperty = PredictiveScalingPredefinedLoadMetricProperty+  set newValue PredictiveScalingMetricSpecificationProperty {..}+    = PredictiveScalingMetricSpecificationProperty+        {predefinedLoadMetricSpecification = Prelude.pure newValue, ..}+instance Property "PredefinedMetricPairSpecification" PredictiveScalingMetricSpecificationProperty where+  type PropertyType "PredefinedMetricPairSpecification" PredictiveScalingMetricSpecificationProperty = PredictiveScalingPredefinedMetricPairProperty+  set newValue PredictiveScalingMetricSpecificationProperty {..}+    = PredictiveScalingMetricSpecificationProperty+        {predefinedMetricPairSpecification = Prelude.pure newValue, ..}+instance Property "PredefinedScalingMetricSpecification" PredictiveScalingMetricSpecificationProperty where+  type PropertyType "PredefinedScalingMetricSpecification" PredictiveScalingMetricSpecificationProperty = PredictiveScalingPredefinedScalingMetricProperty+  set newValue PredictiveScalingMetricSpecificationProperty {..}+    = PredictiveScalingMetricSpecificationProperty+        {predefinedScalingMetricSpecification = Prelude.pure newValue, ..}+instance Property "TargetValue" PredictiveScalingMetricSpecificationProperty where+  type PropertyType "TargetValue" PredictiveScalingMetricSpecificationProperty = Value Prelude.Double+  set newValue PredictiveScalingMetricSpecificationProperty {..}+    = PredictiveScalingMetricSpecificationProperty+        {targetValue = newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingMetricSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingMetricSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredictiveScalingMetricSpecificationProperty :: Prelude.Type+instance ToResourceProperties PredictiveScalingMetricSpecificationProperty+instance Prelude.Eq PredictiveScalingMetricSpecificationProperty+instance Prelude.Show PredictiveScalingMetricSpecificationProperty+instance JSON.ToJSON PredictiveScalingMetricSpecificationProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingMetricStatProperty.hs view
@@ -0,0 +1,59 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingMetricStatProperty (+        module Exports, PredictiveScalingMetricStatProperty(..),+        mkPredictiveScalingMetricStatProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingMetricProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PredictiveScalingMetricStatProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetricstat.html>+    PredictiveScalingMetricStatProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetricstat.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingmetricstat-metric>+                                         metric :: (Prelude.Maybe PredictiveScalingMetricProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetricstat.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingmetricstat-stat>+                                         stat :: (Prelude.Maybe (Value Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingmetricstat.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingmetricstat-unit>+                                         unit :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredictiveScalingMetricStatProperty ::+  PredictiveScalingMetricStatProperty+mkPredictiveScalingMetricStatProperty+  = PredictiveScalingMetricStatProperty+      {haddock_workaround_ = (), metric = Prelude.Nothing,+       stat = Prelude.Nothing, unit = Prelude.Nothing}+instance ToResourceProperties PredictiveScalingMetricStatProperty where+  toResourceProperties PredictiveScalingMetricStatProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalingPolicy.PredictiveScalingMetricStat",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Metric" Prelude.<$> metric,+                            (JSON..=) "Stat" Prelude.<$> stat,+                            (JSON..=) "Unit" Prelude.<$> unit])}+instance JSON.ToJSON PredictiveScalingMetricStatProperty where+  toJSON PredictiveScalingMetricStatProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Metric" Prelude.<$> metric,+               (JSON..=) "Stat" Prelude.<$> stat,+               (JSON..=) "Unit" Prelude.<$> unit]))+instance Property "Metric" PredictiveScalingMetricStatProperty where+  type PropertyType "Metric" PredictiveScalingMetricStatProperty = PredictiveScalingMetricProperty+  set newValue PredictiveScalingMetricStatProperty {..}+    = PredictiveScalingMetricStatProperty+        {metric = Prelude.pure newValue, ..}+instance Property "Stat" PredictiveScalingMetricStatProperty where+  type PropertyType "Stat" PredictiveScalingMetricStatProperty = Value Prelude.Text+  set newValue PredictiveScalingMetricStatProperty {..}+    = PredictiveScalingMetricStatProperty+        {stat = Prelude.pure newValue, ..}+instance Property "Unit" PredictiveScalingMetricStatProperty where+  type PropertyType "Unit" PredictiveScalingMetricStatProperty = Value Prelude.Text+  set newValue PredictiveScalingMetricStatProperty {..}+    = PredictiveScalingMetricStatProperty+        {unit = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingMetricStatProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingMetricStatProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredictiveScalingMetricStatProperty :: Prelude.Type+instance ToResourceProperties PredictiveScalingMetricStatProperty+instance Prelude.Eq PredictiveScalingMetricStatProperty+instance Prelude.Show PredictiveScalingMetricStatProperty+instance JSON.ToJSON PredictiveScalingMetricStatProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingPolicyConfigurationProperty.hs view
@@ -0,0 +1,88 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingPolicyConfigurationProperty (+        module Exports, PredictiveScalingPolicyConfigurationProperty(..),+        mkPredictiveScalingPolicyConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingMetricSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PredictiveScalingPolicyConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingpolicyconfiguration.html>+    PredictiveScalingPolicyConfigurationProperty {haddock_workaround_ :: (),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingpolicyconfiguration-maxcapacitybreachbehavior>+                                                  maxCapacityBreachBehavior :: (Prelude.Maybe (Value Prelude.Text)),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingpolicyconfiguration-maxcapacitybuffer>+                                                  maxCapacityBuffer :: (Prelude.Maybe (Value Prelude.Integer)),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingpolicyconfiguration-metricspecifications>+                                                  metricSpecifications :: [PredictiveScalingMetricSpecificationProperty],+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingpolicyconfiguration-mode>+                                                  mode :: (Prelude.Maybe (Value Prelude.Text)),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingpolicyconfiguration-schedulingbuffertime>+                                                  schedulingBufferTime :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredictiveScalingPolicyConfigurationProperty ::+  [PredictiveScalingMetricSpecificationProperty]+  -> PredictiveScalingPolicyConfigurationProperty+mkPredictiveScalingPolicyConfigurationProperty metricSpecifications+  = PredictiveScalingPolicyConfigurationProperty+      {haddock_workaround_ = (),+       metricSpecifications = metricSpecifications,+       maxCapacityBreachBehavior = Prelude.Nothing,+       maxCapacityBuffer = Prelude.Nothing, mode = Prelude.Nothing,+       schedulingBufferTime = Prelude.Nothing}+instance ToResourceProperties PredictiveScalingPolicyConfigurationProperty where+  toResourceProperties+    PredictiveScalingPolicyConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalingPolicy.PredictiveScalingPolicyConfiguration",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["MetricSpecifications" JSON..= metricSpecifications]+                           (Prelude.catMaybes+                              [(JSON..=) "MaxCapacityBreachBehavior"+                                 Prelude.<$> maxCapacityBreachBehavior,+                               (JSON..=) "MaxCapacityBuffer" Prelude.<$> maxCapacityBuffer,+                               (JSON..=) "Mode" Prelude.<$> mode,+                               (JSON..=) "SchedulingBufferTime"+                                 Prelude.<$> schedulingBufferTime]))}+instance JSON.ToJSON PredictiveScalingPolicyConfigurationProperty where+  toJSON PredictiveScalingPolicyConfigurationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["MetricSpecifications" JSON..= metricSpecifications]+              (Prelude.catMaybes+                 [(JSON..=) "MaxCapacityBreachBehavior"+                    Prelude.<$> maxCapacityBreachBehavior,+                  (JSON..=) "MaxCapacityBuffer" Prelude.<$> maxCapacityBuffer,+                  (JSON..=) "Mode" Prelude.<$> mode,+                  (JSON..=) "SchedulingBufferTime"+                    Prelude.<$> schedulingBufferTime])))+instance Property "MaxCapacityBreachBehavior" PredictiveScalingPolicyConfigurationProperty where+  type PropertyType "MaxCapacityBreachBehavior" PredictiveScalingPolicyConfigurationProperty = Value Prelude.Text+  set newValue PredictiveScalingPolicyConfigurationProperty {..}+    = PredictiveScalingPolicyConfigurationProperty+        {maxCapacityBreachBehavior = Prelude.pure newValue, ..}+instance Property "MaxCapacityBuffer" PredictiveScalingPolicyConfigurationProperty where+  type PropertyType "MaxCapacityBuffer" PredictiveScalingPolicyConfigurationProperty = Value Prelude.Integer+  set newValue PredictiveScalingPolicyConfigurationProperty {..}+    = PredictiveScalingPolicyConfigurationProperty+        {maxCapacityBuffer = Prelude.pure newValue, ..}+instance Property "MetricSpecifications" PredictiveScalingPolicyConfigurationProperty where+  type PropertyType "MetricSpecifications" PredictiveScalingPolicyConfigurationProperty = [PredictiveScalingMetricSpecificationProperty]+  set newValue PredictiveScalingPolicyConfigurationProperty {..}+    = PredictiveScalingPolicyConfigurationProperty+        {metricSpecifications = newValue, ..}+instance Property "Mode" PredictiveScalingPolicyConfigurationProperty where+  type PropertyType "Mode" PredictiveScalingPolicyConfigurationProperty = Value Prelude.Text+  set newValue PredictiveScalingPolicyConfigurationProperty {..}+    = PredictiveScalingPolicyConfigurationProperty+        {mode = Prelude.pure newValue, ..}+instance Property "SchedulingBufferTime" PredictiveScalingPolicyConfigurationProperty where+  type PropertyType "SchedulingBufferTime" PredictiveScalingPolicyConfigurationProperty = Value Prelude.Integer+  set newValue PredictiveScalingPolicyConfigurationProperty {..}+    = PredictiveScalingPolicyConfigurationProperty+        {schedulingBufferTime = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingPolicyConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingPolicyConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredictiveScalingPolicyConfigurationProperty :: Prelude.Type+instance ToResourceProperties PredictiveScalingPolicyConfigurationProperty+instance Prelude.Eq PredictiveScalingPolicyConfigurationProperty+instance Prelude.Show PredictiveScalingPolicyConfigurationProperty+instance JSON.ToJSON PredictiveScalingPolicyConfigurationProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingPredefinedLoadMetricProperty.hs view
@@ -0,0 +1,54 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingPredefinedLoadMetricProperty (+        PredictiveScalingPredefinedLoadMetricProperty(..),+        mkPredictiveScalingPredefinedLoadMetricProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PredictiveScalingPredefinedLoadMetricProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingpredefinedloadmetric.html>+    PredictiveScalingPredefinedLoadMetricProperty {haddock_workaround_ :: (),+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingpredefinedloadmetric.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingpredefinedloadmetric-predefinedmetrictype>+                                                   predefinedMetricType :: (Value Prelude.Text),+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingpredefinedloadmetric.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingpredefinedloadmetric-resourcelabel>+                                                   resourceLabel :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredictiveScalingPredefinedLoadMetricProperty ::+  Value Prelude.Text -> PredictiveScalingPredefinedLoadMetricProperty+mkPredictiveScalingPredefinedLoadMetricProperty+  predefinedMetricType+  = PredictiveScalingPredefinedLoadMetricProperty+      {haddock_workaround_ = (),+       predefinedMetricType = predefinedMetricType,+       resourceLabel = Prelude.Nothing}+instance ToResourceProperties PredictiveScalingPredefinedLoadMetricProperty where+  toResourceProperties+    PredictiveScalingPredefinedLoadMetricProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalingPolicy.PredictiveScalingPredefinedLoadMetric",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["PredefinedMetricType" JSON..= predefinedMetricType]+                           (Prelude.catMaybes+                              [(JSON..=) "ResourceLabel" Prelude.<$> resourceLabel]))}+instance JSON.ToJSON PredictiveScalingPredefinedLoadMetricProperty where+  toJSON PredictiveScalingPredefinedLoadMetricProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["PredefinedMetricType" JSON..= predefinedMetricType]+              (Prelude.catMaybes+                 [(JSON..=) "ResourceLabel" Prelude.<$> resourceLabel])))+instance Property "PredefinedMetricType" PredictiveScalingPredefinedLoadMetricProperty where+  type PropertyType "PredefinedMetricType" PredictiveScalingPredefinedLoadMetricProperty = Value Prelude.Text+  set newValue PredictiveScalingPredefinedLoadMetricProperty {..}+    = PredictiveScalingPredefinedLoadMetricProperty+        {predefinedMetricType = newValue, ..}+instance Property "ResourceLabel" PredictiveScalingPredefinedLoadMetricProperty where+  type PropertyType "ResourceLabel" PredictiveScalingPredefinedLoadMetricProperty = Value Prelude.Text+  set newValue PredictiveScalingPredefinedLoadMetricProperty {..}+    = PredictiveScalingPredefinedLoadMetricProperty+        {resourceLabel = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingPredefinedLoadMetricProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingPredefinedLoadMetricProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredictiveScalingPredefinedLoadMetricProperty :: Prelude.Type+instance ToResourceProperties PredictiveScalingPredefinedLoadMetricProperty+instance Prelude.Eq PredictiveScalingPredefinedLoadMetricProperty+instance Prelude.Show PredictiveScalingPredefinedLoadMetricProperty+instance JSON.ToJSON PredictiveScalingPredefinedLoadMetricProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingPredefinedMetricPairProperty.hs view
@@ -0,0 +1,54 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingPredefinedMetricPairProperty (+        PredictiveScalingPredefinedMetricPairProperty(..),+        mkPredictiveScalingPredefinedMetricPairProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PredictiveScalingPredefinedMetricPairProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingpredefinedmetricpair.html>+    PredictiveScalingPredefinedMetricPairProperty {haddock_workaround_ :: (),+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingpredefinedmetricpair.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingpredefinedmetricpair-predefinedmetrictype>+                                                   predefinedMetricType :: (Value Prelude.Text),+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingpredefinedmetricpair.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingpredefinedmetricpair-resourcelabel>+                                                   resourceLabel :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredictiveScalingPredefinedMetricPairProperty ::+  Value Prelude.Text -> PredictiveScalingPredefinedMetricPairProperty+mkPredictiveScalingPredefinedMetricPairProperty+  predefinedMetricType+  = PredictiveScalingPredefinedMetricPairProperty+      {haddock_workaround_ = (),+       predefinedMetricType = predefinedMetricType,+       resourceLabel = Prelude.Nothing}+instance ToResourceProperties PredictiveScalingPredefinedMetricPairProperty where+  toResourceProperties+    PredictiveScalingPredefinedMetricPairProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalingPolicy.PredictiveScalingPredefinedMetricPair",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["PredefinedMetricType" JSON..= predefinedMetricType]+                           (Prelude.catMaybes+                              [(JSON..=) "ResourceLabel" Prelude.<$> resourceLabel]))}+instance JSON.ToJSON PredictiveScalingPredefinedMetricPairProperty where+  toJSON PredictiveScalingPredefinedMetricPairProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["PredefinedMetricType" JSON..= predefinedMetricType]+              (Prelude.catMaybes+                 [(JSON..=) "ResourceLabel" Prelude.<$> resourceLabel])))+instance Property "PredefinedMetricType" PredictiveScalingPredefinedMetricPairProperty where+  type PropertyType "PredefinedMetricType" PredictiveScalingPredefinedMetricPairProperty = Value Prelude.Text+  set newValue PredictiveScalingPredefinedMetricPairProperty {..}+    = PredictiveScalingPredefinedMetricPairProperty+        {predefinedMetricType = newValue, ..}+instance Property "ResourceLabel" PredictiveScalingPredefinedMetricPairProperty where+  type PropertyType "ResourceLabel" PredictiveScalingPredefinedMetricPairProperty = Value Prelude.Text+  set newValue PredictiveScalingPredefinedMetricPairProperty {..}+    = PredictiveScalingPredefinedMetricPairProperty+        {resourceLabel = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingPredefinedMetricPairProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingPredefinedMetricPairProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredictiveScalingPredefinedMetricPairProperty :: Prelude.Type+instance ToResourceProperties PredictiveScalingPredefinedMetricPairProperty+instance Prelude.Eq PredictiveScalingPredefinedMetricPairProperty+instance Prelude.Show PredictiveScalingPredefinedMetricPairProperty+instance JSON.ToJSON PredictiveScalingPredefinedMetricPairProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingPredefinedScalingMetricProperty.hs view
@@ -0,0 +1,55 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingPredefinedScalingMetricProperty (+        PredictiveScalingPredefinedScalingMetricProperty(..),+        mkPredictiveScalingPredefinedScalingMetricProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PredictiveScalingPredefinedScalingMetricProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingpredefinedscalingmetric.html>+    PredictiveScalingPredefinedScalingMetricProperty {haddock_workaround_ :: (),+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingpredefinedscalingmetric.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingpredefinedscalingmetric-predefinedmetrictype>+                                                      predefinedMetricType :: (Value Prelude.Text),+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predictivescalingpredefinedscalingmetric.html#cfn-applicationautoscaling-scalingpolicy-predictivescalingpredefinedscalingmetric-resourcelabel>+                                                      resourceLabel :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredictiveScalingPredefinedScalingMetricProperty ::+  Value Prelude.Text+  -> PredictiveScalingPredefinedScalingMetricProperty+mkPredictiveScalingPredefinedScalingMetricProperty+  predefinedMetricType+  = PredictiveScalingPredefinedScalingMetricProperty+      {haddock_workaround_ = (),+       predefinedMetricType = predefinedMetricType,+       resourceLabel = Prelude.Nothing}+instance ToResourceProperties PredictiveScalingPredefinedScalingMetricProperty where+  toResourceProperties+    PredictiveScalingPredefinedScalingMetricProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalingPolicy.PredictiveScalingPredefinedScalingMetric",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["PredefinedMetricType" JSON..= predefinedMetricType]+                           (Prelude.catMaybes+                              [(JSON..=) "ResourceLabel" Prelude.<$> resourceLabel]))}+instance JSON.ToJSON PredictiveScalingPredefinedScalingMetricProperty where+  toJSON PredictiveScalingPredefinedScalingMetricProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["PredefinedMetricType" JSON..= predefinedMetricType]+              (Prelude.catMaybes+                 [(JSON..=) "ResourceLabel" Prelude.<$> resourceLabel])))+instance Property "PredefinedMetricType" PredictiveScalingPredefinedScalingMetricProperty where+  type PropertyType "PredefinedMetricType" PredictiveScalingPredefinedScalingMetricProperty = Value Prelude.Text+  set newValue PredictiveScalingPredefinedScalingMetricProperty {..}+    = PredictiveScalingPredefinedScalingMetricProperty+        {predefinedMetricType = newValue, ..}+instance Property "ResourceLabel" PredictiveScalingPredefinedScalingMetricProperty where+  type PropertyType "ResourceLabel" PredictiveScalingPredefinedScalingMetricProperty = Value Prelude.Text+  set newValue PredictiveScalingPredefinedScalingMetricProperty {..}+    = PredictiveScalingPredefinedScalingMetricProperty+        {resourceLabel = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/PredictiveScalingPredefinedScalingMetricProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingPredefinedScalingMetricProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredictiveScalingPredefinedScalingMetricProperty :: Prelude.Type+instance ToResourceProperties PredictiveScalingPredefinedScalingMetricProperty+instance Prelude.Eq PredictiveScalingPredefinedScalingMetricProperty+instance Prelude.Show PredictiveScalingPredefinedScalingMetricProperty+instance JSON.ToJSON PredictiveScalingPredefinedScalingMetricProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/StepAdjustmentProperty.hs view
@@ -0,0 +1,63 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.StepAdjustmentProperty (+        StepAdjustmentProperty(..), mkStepAdjustmentProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data StepAdjustmentProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepadjustment.html>+    StepAdjustmentProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepadjustment.html#cfn-applicationautoscaling-scalingpolicy-stepadjustment-metricintervallowerbound>+                            metricIntervalLowerBound :: (Prelude.Maybe (Value Prelude.Double)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepadjustment.html#cfn-applicationautoscaling-scalingpolicy-stepadjustment-metricintervalupperbound>+                            metricIntervalUpperBound :: (Prelude.Maybe (Value Prelude.Double)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepadjustment.html#cfn-applicationautoscaling-scalingpolicy-stepadjustment-scalingadjustment>+                            scalingAdjustment :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkStepAdjustmentProperty ::+  Value Prelude.Integer -> StepAdjustmentProperty+mkStepAdjustmentProperty scalingAdjustment+  = StepAdjustmentProperty+      {haddock_workaround_ = (), scalingAdjustment = scalingAdjustment,+       metricIntervalLowerBound = Prelude.Nothing,+       metricIntervalUpperBound = Prelude.Nothing}+instance ToResourceProperties StepAdjustmentProperty where+  toResourceProperties StepAdjustmentProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["ScalingAdjustment" JSON..= scalingAdjustment]+                           (Prelude.catMaybes+                              [(JSON..=) "MetricIntervalLowerBound"+                                 Prelude.<$> metricIntervalLowerBound,+                               (JSON..=) "MetricIntervalUpperBound"+                                 Prelude.<$> metricIntervalUpperBound]))}+instance JSON.ToJSON StepAdjustmentProperty where+  toJSON StepAdjustmentProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["ScalingAdjustment" JSON..= scalingAdjustment]+              (Prelude.catMaybes+                 [(JSON..=) "MetricIntervalLowerBound"+                    Prelude.<$> metricIntervalLowerBound,+                  (JSON..=) "MetricIntervalUpperBound"+                    Prelude.<$> metricIntervalUpperBound])))+instance Property "MetricIntervalLowerBound" StepAdjustmentProperty where+  type PropertyType "MetricIntervalLowerBound" StepAdjustmentProperty = Value Prelude.Double+  set newValue StepAdjustmentProperty {..}+    = StepAdjustmentProperty+        {metricIntervalLowerBound = Prelude.pure newValue, ..}+instance Property "MetricIntervalUpperBound" StepAdjustmentProperty where+  type PropertyType "MetricIntervalUpperBound" StepAdjustmentProperty = Value Prelude.Double+  set newValue StepAdjustmentProperty {..}+    = StepAdjustmentProperty+        {metricIntervalUpperBound = Prelude.pure newValue, ..}+instance Property "ScalingAdjustment" StepAdjustmentProperty where+  type PropertyType "ScalingAdjustment" StepAdjustmentProperty = Value Prelude.Integer+  set newValue StepAdjustmentProperty {..}+    = StepAdjustmentProperty {scalingAdjustment = newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/StepAdjustmentProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.StepAdjustmentProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data StepAdjustmentProperty :: Prelude.Type+instance ToResourceProperties StepAdjustmentProperty+instance Prelude.Eq StepAdjustmentProperty+instance Prelude.Show StepAdjustmentProperty+instance JSON.ToJSON StepAdjustmentProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/StepScalingPolicyConfigurationProperty.hs view
@@ -0,0 +1,84 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.StepScalingPolicyConfigurationProperty (+        module Exports, StepScalingPolicyConfigurationProperty(..),+        mkStepScalingPolicyConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.StepAdjustmentProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data StepScalingPolicyConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html>+    StepScalingPolicyConfigurationProperty {haddock_workaround_ :: (),+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-adjustmenttype>+                                            adjustmentType :: (Prelude.Maybe (Value Prelude.Text)),+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-cooldown>+                                            cooldown :: (Prelude.Maybe (Value Prelude.Integer)),+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-metricaggregationtype>+                                            metricAggregationType :: (Prelude.Maybe (Value Prelude.Text)),+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-minadjustmentmagnitude>+                                            minAdjustmentMagnitude :: (Prelude.Maybe (Value Prelude.Integer)),+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustments>+                                            stepAdjustments :: (Prelude.Maybe [StepAdjustmentProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkStepScalingPolicyConfigurationProperty ::+  StepScalingPolicyConfigurationProperty+mkStepScalingPolicyConfigurationProperty+  = StepScalingPolicyConfigurationProperty+      {haddock_workaround_ = (), adjustmentType = Prelude.Nothing,+       cooldown = Prelude.Nothing,+       metricAggregationType = Prelude.Nothing,+       minAdjustmentMagnitude = Prelude.Nothing,+       stepAdjustments = Prelude.Nothing}+instance ToResourceProperties StepScalingPolicyConfigurationProperty where+  toResourceProperties StepScalingPolicyConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AdjustmentType" Prelude.<$> adjustmentType,+                            (JSON..=) "Cooldown" Prelude.<$> cooldown,+                            (JSON..=) "MetricAggregationType"+                              Prelude.<$> metricAggregationType,+                            (JSON..=) "MinAdjustmentMagnitude"+                              Prelude.<$> minAdjustmentMagnitude,+                            (JSON..=) "StepAdjustments" Prelude.<$> stepAdjustments])}+instance JSON.ToJSON StepScalingPolicyConfigurationProperty where+  toJSON StepScalingPolicyConfigurationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AdjustmentType" Prelude.<$> adjustmentType,+               (JSON..=) "Cooldown" Prelude.<$> cooldown,+               (JSON..=) "MetricAggregationType"+                 Prelude.<$> metricAggregationType,+               (JSON..=) "MinAdjustmentMagnitude"+                 Prelude.<$> minAdjustmentMagnitude,+               (JSON..=) "StepAdjustments" Prelude.<$> stepAdjustments]))+instance Property "AdjustmentType" StepScalingPolicyConfigurationProperty where+  type PropertyType "AdjustmentType" StepScalingPolicyConfigurationProperty = Value Prelude.Text+  set newValue StepScalingPolicyConfigurationProperty {..}+    = StepScalingPolicyConfigurationProperty+        {adjustmentType = Prelude.pure newValue, ..}+instance Property "Cooldown" StepScalingPolicyConfigurationProperty where+  type PropertyType "Cooldown" StepScalingPolicyConfigurationProperty = Value Prelude.Integer+  set newValue StepScalingPolicyConfigurationProperty {..}+    = StepScalingPolicyConfigurationProperty+        {cooldown = Prelude.pure newValue, ..}+instance Property "MetricAggregationType" StepScalingPolicyConfigurationProperty where+  type PropertyType "MetricAggregationType" StepScalingPolicyConfigurationProperty = Value Prelude.Text+  set newValue StepScalingPolicyConfigurationProperty {..}+    = StepScalingPolicyConfigurationProperty+        {metricAggregationType = Prelude.pure newValue, ..}+instance Property "MinAdjustmentMagnitude" StepScalingPolicyConfigurationProperty where+  type PropertyType "MinAdjustmentMagnitude" StepScalingPolicyConfigurationProperty = Value Prelude.Integer+  set newValue StepScalingPolicyConfigurationProperty {..}+    = StepScalingPolicyConfigurationProperty+        {minAdjustmentMagnitude = Prelude.pure newValue, ..}+instance Property "StepAdjustments" StepScalingPolicyConfigurationProperty where+  type PropertyType "StepAdjustments" StepScalingPolicyConfigurationProperty = [StepAdjustmentProperty]+  set newValue StepScalingPolicyConfigurationProperty {..}+    = StepScalingPolicyConfigurationProperty+        {stepAdjustments = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/StepScalingPolicyConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.StepScalingPolicyConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data StepScalingPolicyConfigurationProperty :: Prelude.Type+instance ToResourceProperties StepScalingPolicyConfigurationProperty+instance Prelude.Eq StepScalingPolicyConfigurationProperty+instance Prelude.Show StepScalingPolicyConfigurationProperty+instance JSON.ToJSON StepScalingPolicyConfigurationProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/TargetTrackingMetricDataQueryProperty.hs view
@@ -0,0 +1,76 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.TargetTrackingMetricDataQueryProperty (+        module Exports, TargetTrackingMetricDataQueryProperty(..),+        mkTargetTrackingMetricDataQueryProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.TargetTrackingMetricStatProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TargetTrackingMetricDataQueryProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery.html>+    TargetTrackingMetricDataQueryProperty {haddock_workaround_ :: (),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery-expression>+                                           expression :: (Prelude.Maybe (Value Prelude.Text)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery-id>+                                           id :: (Prelude.Maybe (Value Prelude.Text)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery-label>+                                           label :: (Prelude.Maybe (Value Prelude.Text)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery-metricstat>+                                           metricStat :: (Prelude.Maybe TargetTrackingMetricStatProperty),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery-returndata>+                                           returnData :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTargetTrackingMetricDataQueryProperty ::+  TargetTrackingMetricDataQueryProperty+mkTargetTrackingMetricDataQueryProperty+  = TargetTrackingMetricDataQueryProperty+      {haddock_workaround_ = (), expression = Prelude.Nothing,+       id = Prelude.Nothing, label = Prelude.Nothing,+       metricStat = Prelude.Nothing, returnData = Prelude.Nothing}+instance ToResourceProperties TargetTrackingMetricDataQueryProperty where+  toResourceProperties TargetTrackingMetricDataQueryProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDataQuery",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Expression" Prelude.<$> expression,+                            (JSON..=) "Id" Prelude.<$> id, (JSON..=) "Label" Prelude.<$> label,+                            (JSON..=) "MetricStat" Prelude.<$> metricStat,+                            (JSON..=) "ReturnData" Prelude.<$> returnData])}+instance JSON.ToJSON TargetTrackingMetricDataQueryProperty where+  toJSON TargetTrackingMetricDataQueryProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Expression" Prelude.<$> expression,+               (JSON..=) "Id" Prelude.<$> id, (JSON..=) "Label" Prelude.<$> label,+               (JSON..=) "MetricStat" Prelude.<$> metricStat,+               (JSON..=) "ReturnData" Prelude.<$> returnData]))+instance Property "Expression" TargetTrackingMetricDataQueryProperty where+  type PropertyType "Expression" TargetTrackingMetricDataQueryProperty = Value Prelude.Text+  set newValue TargetTrackingMetricDataQueryProperty {..}+    = TargetTrackingMetricDataQueryProperty+        {expression = Prelude.pure newValue, ..}+instance Property "Id" TargetTrackingMetricDataQueryProperty where+  type PropertyType "Id" TargetTrackingMetricDataQueryProperty = Value Prelude.Text+  set newValue TargetTrackingMetricDataQueryProperty {..}+    = TargetTrackingMetricDataQueryProperty+        {id = Prelude.pure newValue, ..}+instance Property "Label" TargetTrackingMetricDataQueryProperty where+  type PropertyType "Label" TargetTrackingMetricDataQueryProperty = Value Prelude.Text+  set newValue TargetTrackingMetricDataQueryProperty {..}+    = TargetTrackingMetricDataQueryProperty+        {label = Prelude.pure newValue, ..}+instance Property "MetricStat" TargetTrackingMetricDataQueryProperty where+  type PropertyType "MetricStat" TargetTrackingMetricDataQueryProperty = TargetTrackingMetricStatProperty+  set newValue TargetTrackingMetricDataQueryProperty {..}+    = TargetTrackingMetricDataQueryProperty+        {metricStat = Prelude.pure newValue, ..}+instance Property "ReturnData" TargetTrackingMetricDataQueryProperty where+  type PropertyType "ReturnData" TargetTrackingMetricDataQueryProperty = Value Prelude.Bool+  set newValue TargetTrackingMetricDataQueryProperty {..}+    = TargetTrackingMetricDataQueryProperty+        {returnData = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/TargetTrackingMetricDataQueryProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.TargetTrackingMetricDataQueryProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TargetTrackingMetricDataQueryProperty :: Prelude.Type+instance ToResourceProperties TargetTrackingMetricDataQueryProperty+instance Prelude.Eq TargetTrackingMetricDataQueryProperty+instance Prelude.Show TargetTrackingMetricDataQueryProperty+instance JSON.ToJSON TargetTrackingMetricDataQueryProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/TargetTrackingMetricDimensionProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.TargetTrackingMetricDimensionProperty (+        TargetTrackingMetricDimensionProperty(..),+        mkTargetTrackingMetricDimensionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TargetTrackingMetricDimensionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricdimension.html>+    TargetTrackingMetricDimensionProperty {haddock_workaround_ :: (),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricdimension.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetricdimension-name>+                                           name :: (Prelude.Maybe (Value Prelude.Text)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricdimension.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetricdimension-value>+                                           value :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTargetTrackingMetricDimensionProperty ::+  TargetTrackingMetricDimensionProperty+mkTargetTrackingMetricDimensionProperty+  = TargetTrackingMetricDimensionProperty+      {haddock_workaround_ = (), name = Prelude.Nothing,+       value = Prelude.Nothing}+instance ToResourceProperties TargetTrackingMetricDimensionProperty where+  toResourceProperties TargetTrackingMetricDimensionProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricDimension",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Name" Prelude.<$> name,+                            (JSON..=) "Value" Prelude.<$> value])}+instance JSON.ToJSON TargetTrackingMetricDimensionProperty where+  toJSON TargetTrackingMetricDimensionProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Name" Prelude.<$> name,+               (JSON..=) "Value" Prelude.<$> value]))+instance Property "Name" TargetTrackingMetricDimensionProperty where+  type PropertyType "Name" TargetTrackingMetricDimensionProperty = Value Prelude.Text+  set newValue TargetTrackingMetricDimensionProperty {..}+    = TargetTrackingMetricDimensionProperty+        {name = Prelude.pure newValue, ..}+instance Property "Value" TargetTrackingMetricDimensionProperty where+  type PropertyType "Value" TargetTrackingMetricDimensionProperty = Value Prelude.Text+  set newValue TargetTrackingMetricDimensionProperty {..}+    = TargetTrackingMetricDimensionProperty+        {value = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/TargetTrackingMetricDimensionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.TargetTrackingMetricDimensionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TargetTrackingMetricDimensionProperty :: Prelude.Type+instance ToResourceProperties TargetTrackingMetricDimensionProperty+instance Prelude.Eq TargetTrackingMetricDimensionProperty+instance Prelude.Show TargetTrackingMetricDimensionProperty+instance JSON.ToJSON TargetTrackingMetricDimensionProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/TargetTrackingMetricProperty.hs view
@@ -0,0 +1,58 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.TargetTrackingMetricProperty (+        module Exports, TargetTrackingMetricProperty(..),+        mkTargetTrackingMetricProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.TargetTrackingMetricDimensionProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TargetTrackingMetricProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetric.html>+    TargetTrackingMetricProperty {haddock_workaround_ :: (),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetric.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetric-dimensions>+                                  dimensions :: (Prelude.Maybe [TargetTrackingMetricDimensionProperty]),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetric.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetric-metricname>+                                  metricName :: (Prelude.Maybe (Value Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetric.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetric-namespace>+                                  namespace :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTargetTrackingMetricProperty :: TargetTrackingMetricProperty+mkTargetTrackingMetricProperty+  = TargetTrackingMetricProperty+      {haddock_workaround_ = (), dimensions = Prelude.Nothing,+       metricName = Prelude.Nothing, namespace = Prelude.Nothing}+instance ToResourceProperties TargetTrackingMetricProperty where+  toResourceProperties TargetTrackingMetricProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetric",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Dimensions" Prelude.<$> dimensions,+                            (JSON..=) "MetricName" Prelude.<$> metricName,+                            (JSON..=) "Namespace" Prelude.<$> namespace])}+instance JSON.ToJSON TargetTrackingMetricProperty where+  toJSON TargetTrackingMetricProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Dimensions" Prelude.<$> dimensions,+               (JSON..=) "MetricName" Prelude.<$> metricName,+               (JSON..=) "Namespace" Prelude.<$> namespace]))+instance Property "Dimensions" TargetTrackingMetricProperty where+  type PropertyType "Dimensions" TargetTrackingMetricProperty = [TargetTrackingMetricDimensionProperty]+  set newValue TargetTrackingMetricProperty {..}+    = TargetTrackingMetricProperty+        {dimensions = Prelude.pure newValue, ..}+instance Property "MetricName" TargetTrackingMetricProperty where+  type PropertyType "MetricName" TargetTrackingMetricProperty = Value Prelude.Text+  set newValue TargetTrackingMetricProperty {..}+    = TargetTrackingMetricProperty+        {metricName = Prelude.pure newValue, ..}+instance Property "Namespace" TargetTrackingMetricProperty where+  type PropertyType "Namespace" TargetTrackingMetricProperty = Value Prelude.Text+  set newValue TargetTrackingMetricProperty {..}+    = TargetTrackingMetricProperty+        {namespace = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/TargetTrackingMetricProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.TargetTrackingMetricProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TargetTrackingMetricProperty :: Prelude.Type+instance ToResourceProperties TargetTrackingMetricProperty+instance Prelude.Eq TargetTrackingMetricProperty+instance Prelude.Show TargetTrackingMetricProperty+instance JSON.ToJSON TargetTrackingMetricProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/TargetTrackingMetricStatProperty.hs view
@@ -0,0 +1,59 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.TargetTrackingMetricStatProperty (+        module Exports, TargetTrackingMetricStatProperty(..),+        mkTargetTrackingMetricStatProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.TargetTrackingMetricProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TargetTrackingMetricStatProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricstat.html>+    TargetTrackingMetricStatProperty {haddock_workaround_ :: (),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricstat.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetricstat-metric>+                                      metric :: (Prelude.Maybe TargetTrackingMetricProperty),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricstat.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetricstat-stat>+                                      stat :: (Prelude.Maybe (Value Prelude.Text)),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricstat.html#cfn-applicationautoscaling-scalingpolicy-targettrackingmetricstat-unit>+                                      unit :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTargetTrackingMetricStatProperty ::+  TargetTrackingMetricStatProperty+mkTargetTrackingMetricStatProperty+  = TargetTrackingMetricStatProperty+      {haddock_workaround_ = (), metric = Prelude.Nothing,+       stat = Prelude.Nothing, unit = Prelude.Nothing}+instance ToResourceProperties TargetTrackingMetricStatProperty where+  toResourceProperties TargetTrackingMetricStatProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingMetricStat",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Metric" Prelude.<$> metric,+                            (JSON..=) "Stat" Prelude.<$> stat,+                            (JSON..=) "Unit" Prelude.<$> unit])}+instance JSON.ToJSON TargetTrackingMetricStatProperty where+  toJSON TargetTrackingMetricStatProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Metric" Prelude.<$> metric,+               (JSON..=) "Stat" Prelude.<$> stat,+               (JSON..=) "Unit" Prelude.<$> unit]))+instance Property "Metric" TargetTrackingMetricStatProperty where+  type PropertyType "Metric" TargetTrackingMetricStatProperty = TargetTrackingMetricProperty+  set newValue TargetTrackingMetricStatProperty {..}+    = TargetTrackingMetricStatProperty+        {metric = Prelude.pure newValue, ..}+instance Property "Stat" TargetTrackingMetricStatProperty where+  type PropertyType "Stat" TargetTrackingMetricStatProperty = Value Prelude.Text+  set newValue TargetTrackingMetricStatProperty {..}+    = TargetTrackingMetricStatProperty+        {stat = Prelude.pure newValue, ..}+instance Property "Unit" TargetTrackingMetricStatProperty where+  type PropertyType "Unit" TargetTrackingMetricStatProperty = Value Prelude.Text+  set newValue TargetTrackingMetricStatProperty {..}+    = TargetTrackingMetricStatProperty+        {unit = Prelude.pure newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/TargetTrackingMetricStatProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.TargetTrackingMetricStatProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TargetTrackingMetricStatProperty :: Prelude.Type+instance ToResourceProperties TargetTrackingMetricStatProperty+instance Prelude.Eq TargetTrackingMetricStatProperty+instance Prelude.Show TargetTrackingMetricStatProperty+instance JSON.ToJSON TargetTrackingMetricStatProperty
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/TargetTrackingScalingPolicyConfigurationProperty.hs view
@@ -0,0 +1,100 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.TargetTrackingScalingPolicyConfigurationProperty (+        module Exports,+        TargetTrackingScalingPolicyConfigurationProperty(..),+        mkTargetTrackingScalingPolicyConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.CustomizedMetricSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredefinedMetricSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TargetTrackingScalingPolicyConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html>+    TargetTrackingScalingPolicyConfigurationProperty {haddock_workaround_ :: (),+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-customizedmetricspecification>+                                                      customizedMetricSpecification :: (Prelude.Maybe CustomizedMetricSpecificationProperty),+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-disablescalein>+                                                      disableScaleIn :: (Prelude.Maybe (Value Prelude.Bool)),+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-predefinedmetricspecification>+                                                      predefinedMetricSpecification :: (Prelude.Maybe PredefinedMetricSpecificationProperty),+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-scaleincooldown>+                                                      scaleInCooldown :: (Prelude.Maybe (Value Prelude.Integer)),+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-scaleoutcooldown>+                                                      scaleOutCooldown :: (Prelude.Maybe (Value Prelude.Integer)),+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-targetvalue>+                                                      targetValue :: (Value Prelude.Double)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTargetTrackingScalingPolicyConfigurationProperty ::+  Value Prelude.Double+  -> TargetTrackingScalingPolicyConfigurationProperty+mkTargetTrackingScalingPolicyConfigurationProperty targetValue+  = TargetTrackingScalingPolicyConfigurationProperty+      {haddock_workaround_ = (), targetValue = targetValue,+       customizedMetricSpecification = Prelude.Nothing,+       disableScaleIn = Prelude.Nothing,+       predefinedMetricSpecification = Prelude.Nothing,+       scaleInCooldown = Prelude.Nothing,+       scaleOutCooldown = Prelude.Nothing}+instance ToResourceProperties TargetTrackingScalingPolicyConfigurationProperty where+  toResourceProperties+    TargetTrackingScalingPolicyConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["TargetValue" JSON..= targetValue]+                           (Prelude.catMaybes+                              [(JSON..=) "CustomizedMetricSpecification"+                                 Prelude.<$> customizedMetricSpecification,+                               (JSON..=) "DisableScaleIn" Prelude.<$> disableScaleIn,+                               (JSON..=) "PredefinedMetricSpecification"+                                 Prelude.<$> predefinedMetricSpecification,+                               (JSON..=) "ScaleInCooldown" Prelude.<$> scaleInCooldown,+                               (JSON..=) "ScaleOutCooldown" Prelude.<$> scaleOutCooldown]))}+instance JSON.ToJSON TargetTrackingScalingPolicyConfigurationProperty where+  toJSON TargetTrackingScalingPolicyConfigurationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["TargetValue" JSON..= targetValue]+              (Prelude.catMaybes+                 [(JSON..=) "CustomizedMetricSpecification"+                    Prelude.<$> customizedMetricSpecification,+                  (JSON..=) "DisableScaleIn" Prelude.<$> disableScaleIn,+                  (JSON..=) "PredefinedMetricSpecification"+                    Prelude.<$> predefinedMetricSpecification,+                  (JSON..=) "ScaleInCooldown" Prelude.<$> scaleInCooldown,+                  (JSON..=) "ScaleOutCooldown" Prelude.<$> scaleOutCooldown])))+instance Property "CustomizedMetricSpecification" TargetTrackingScalingPolicyConfigurationProperty where+  type PropertyType "CustomizedMetricSpecification" TargetTrackingScalingPolicyConfigurationProperty = CustomizedMetricSpecificationProperty+  set newValue TargetTrackingScalingPolicyConfigurationProperty {..}+    = TargetTrackingScalingPolicyConfigurationProperty+        {customizedMetricSpecification = Prelude.pure newValue, ..}+instance Property "DisableScaleIn" TargetTrackingScalingPolicyConfigurationProperty where+  type PropertyType "DisableScaleIn" TargetTrackingScalingPolicyConfigurationProperty = Value Prelude.Bool+  set newValue TargetTrackingScalingPolicyConfigurationProperty {..}+    = TargetTrackingScalingPolicyConfigurationProperty+        {disableScaleIn = Prelude.pure newValue, ..}+instance Property "PredefinedMetricSpecification" TargetTrackingScalingPolicyConfigurationProperty where+  type PropertyType "PredefinedMetricSpecification" TargetTrackingScalingPolicyConfigurationProperty = PredefinedMetricSpecificationProperty+  set newValue TargetTrackingScalingPolicyConfigurationProperty {..}+    = TargetTrackingScalingPolicyConfigurationProperty+        {predefinedMetricSpecification = Prelude.pure newValue, ..}+instance Property "ScaleInCooldown" TargetTrackingScalingPolicyConfigurationProperty where+  type PropertyType "ScaleInCooldown" TargetTrackingScalingPolicyConfigurationProperty = Value Prelude.Integer+  set newValue TargetTrackingScalingPolicyConfigurationProperty {..}+    = TargetTrackingScalingPolicyConfigurationProperty+        {scaleInCooldown = Prelude.pure newValue, ..}+instance Property "ScaleOutCooldown" TargetTrackingScalingPolicyConfigurationProperty where+  type PropertyType "ScaleOutCooldown" TargetTrackingScalingPolicyConfigurationProperty = Value Prelude.Integer+  set newValue TargetTrackingScalingPolicyConfigurationProperty {..}+    = TargetTrackingScalingPolicyConfigurationProperty+        {scaleOutCooldown = Prelude.pure newValue, ..}+instance Property "TargetValue" TargetTrackingScalingPolicyConfigurationProperty where+  type PropertyType "TargetValue" TargetTrackingScalingPolicyConfigurationProperty = Value Prelude.Double+  set newValue TargetTrackingScalingPolicyConfigurationProperty {..}+    = TargetTrackingScalingPolicyConfigurationProperty+        {targetValue = newValue, ..}
+ gen/Stratosphere/ApplicationAutoScaling/ScalingPolicy/TargetTrackingScalingPolicyConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ApplicationAutoScaling.ScalingPolicy.TargetTrackingScalingPolicyConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TargetTrackingScalingPolicyConfigurationProperty :: Prelude.Type+instance ToResourceProperties TargetTrackingScalingPolicyConfigurationProperty+instance Prelude.Eq TargetTrackingScalingPolicyConfigurationProperty+instance Prelude.Show TargetTrackingScalingPolicyConfigurationProperty+instance JSON.ToJSON TargetTrackingScalingPolicyConfigurationProperty
+ stratosphere-applicationautoscaling.cabal view
@@ -0,0 +1,99 @@+cabal-version: 1.12++-- This file has been generated from package.yaml by hpack version 0.38.2.+--+-- see: https://github.com/sol/hpack++name:           stratosphere-applicationautoscaling+version:        1.0.0+synopsis:       Stratosphere integration for AWS ApplicationAutoScaling.+description:    Integration into stratosphere to generate resources and properties for AWS ApplicationAutoScaling+category:       AWS, Cloud, ApplicationAutoScaling+stability:      experimental+homepage:       https://github.com/mbj/stratosphere#readme+bug-reports:    https://github.com/mbj/stratosphere/issues+maintainer:     Markus Schirp+license:        MIT+license-file:   LICENSE.md+build-type:     Simple++source-repository head+  type: git+  location: https://github.com/mbj/stratosphere++flag development+  description: Run GHC with development flags+  manual: True+  default: False++library+  exposed-modules:+      Stratosphere.ApplicationAutoScaling.ScalableTarget+      Stratosphere.ApplicationAutoScaling.ScalableTarget.ScalableTargetActionProperty+      Stratosphere.ApplicationAutoScaling.ScalableTarget.ScheduledActionProperty+      Stratosphere.ApplicationAutoScaling.ScalableTarget.SuspendedStateProperty+      Stratosphere.ApplicationAutoScaling.ScalingPolicy+      Stratosphere.ApplicationAutoScaling.ScalingPolicy.CustomizedMetricSpecificationProperty+      Stratosphere.ApplicationAutoScaling.ScalingPolicy.MetricDimensionProperty+      Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredefinedMetricSpecificationProperty+      Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingCustomizedCapacityMetricProperty+      Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingCustomizedLoadMetricProperty+      Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingCustomizedScalingMetricProperty+      Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingMetricDataQueryProperty+      Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingMetricDimensionProperty+      Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingMetricProperty+      Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingMetricSpecificationProperty+      Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingMetricStatProperty+      Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingPolicyConfigurationProperty+      Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingPredefinedLoadMetricProperty+      Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingPredefinedMetricPairProperty+      Stratosphere.ApplicationAutoScaling.ScalingPolicy.PredictiveScalingPredefinedScalingMetricProperty+      Stratosphere.ApplicationAutoScaling.ScalingPolicy.StepAdjustmentProperty+      Stratosphere.ApplicationAutoScaling.ScalingPolicy.StepScalingPolicyConfigurationProperty+      Stratosphere.ApplicationAutoScaling.ScalingPolicy.TargetTrackingMetricDataQueryProperty+      Stratosphere.ApplicationAutoScaling.ScalingPolicy.TargetTrackingMetricDimensionProperty+      Stratosphere.ApplicationAutoScaling.ScalingPolicy.TargetTrackingMetricProperty+      Stratosphere.ApplicationAutoScaling.ScalingPolicy.TargetTrackingMetricStatProperty+      Stratosphere.ApplicationAutoScaling.ScalingPolicy.TargetTrackingScalingPolicyConfigurationProperty+  other-modules:+      Paths_stratosphere_applicationautoscaling+  hs-source-dirs:+      gen+  default-extensions:+      DataKinds+      DeriveGeneric+      DerivingStrategies+      DerivingVia+      DuplicateRecordFields+      FlexibleContexts+      FlexibleInstances+      GADTs+      GeneralizedNewtypeDeriving+      InstanceSigs+      LambdaCase+      MultiParamTypeClasses+      NoFieldSelectors+      NoImplicitPrelude+      NumericUnderscores+      OverloadedLists+      OverloadedRecordDot+      OverloadedStrings+      PolyKinds+      RecordWildCards+      ScopedTypeVariables+      StandaloneDeriving+      Strict+      TemplateHaskell+      TupleSections+      TypeApplications+      TypeFamilies+  ghc-options: -Wall -Wcompat -Widentities -Wimplicit-prelude -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-local-signatures -Wmissing-signatures -Wmonomorphism-restriction -Wredundant-constraints -fhide-source-paths -funbox-strict-fields -optP-Wno-nonportable-include-path -Wno-unused-imports+  build-depends:+      aeson ==2.*+    , base >=4.8 && <4.22+    , stratosphere ==1.0.0+  default-language: Haskell2010+  if flag(development)+    ghc-options: -Werror+  else+    ghc-options: -Wwarn