packages feed

stratosphere-autoscalingplans (empty) → 1.0.0

raw patch · 21 files changed

+940/−0 lines, 21 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/AutoScalingPlans/ScalingPlan.hs view
@@ -0,0 +1,44 @@+module Stratosphere.AutoScalingPlans.ScalingPlan (+        module Exports, ScalingPlan(..), mkScalingPlan+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScalingPlans.ScalingPlan.ApplicationSourceProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScalingPlans.ScalingPlan.ScalingInstructionProperty as Exports+import Stratosphere.ResourceProperties+data ScalingPlan+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscalingplans-scalingplan.html>+    ScalingPlan {haddock_workaround_ :: (),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscalingplans-scalingplan.html#cfn-autoscalingplans-scalingplan-applicationsource>+                 applicationSource :: ApplicationSourceProperty,+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscalingplans-scalingplan.html#cfn-autoscalingplans-scalingplan-scalinginstructions>+                 scalingInstructions :: [ScalingInstructionProperty]}+  deriving stock (Prelude.Eq, Prelude.Show)+mkScalingPlan ::+  ApplicationSourceProperty+  -> [ScalingInstructionProperty] -> ScalingPlan+mkScalingPlan applicationSource scalingInstructions+  = ScalingPlan+      {haddock_workaround_ = (), applicationSource = applicationSource,+       scalingInstructions = scalingInstructions}+instance ToResourceProperties ScalingPlan where+  toResourceProperties ScalingPlan {..}+    = ResourceProperties+        {awsType = "AWS::AutoScalingPlans::ScalingPlan",+         supportsTags = Prelude.False,+         properties = ["ApplicationSource" JSON..= applicationSource,+                       "ScalingInstructions" JSON..= scalingInstructions]}+instance JSON.ToJSON ScalingPlan where+  toJSON ScalingPlan {..}+    = JSON.object+        ["ApplicationSource" JSON..= applicationSource,+         "ScalingInstructions" JSON..= scalingInstructions]+instance Property "ApplicationSource" ScalingPlan where+  type PropertyType "ApplicationSource" ScalingPlan = ApplicationSourceProperty+  set newValue ScalingPlan {..}+    = ScalingPlan {applicationSource = newValue, ..}+instance Property "ScalingInstructions" ScalingPlan where+  type PropertyType "ScalingInstructions" ScalingPlan = [ScalingInstructionProperty]+  set newValue ScalingPlan {..}+    = ScalingPlan {scalingInstructions = newValue, ..}
+ gen/Stratosphere/AutoScalingPlans/ScalingPlan/ApplicationSourceProperty.hs view
@@ -0,0 +1,52 @@+module Stratosphere.AutoScalingPlans.ScalingPlan.ApplicationSourceProperty (+        module Exports, ApplicationSourceProperty(..),+        mkApplicationSourceProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScalingPlans.ScalingPlan.TagFilterProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ApplicationSourceProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-applicationsource.html>+    ApplicationSourceProperty {haddock_workaround_ :: (),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-applicationsource.html#cfn-autoscalingplans-scalingplan-applicationsource-cloudformationstackarn>+                               cloudFormationStackARN :: (Prelude.Maybe (Value Prelude.Text)),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-applicationsource.html#cfn-autoscalingplans-scalingplan-applicationsource-tagfilters>+                               tagFilters :: (Prelude.Maybe [TagFilterProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkApplicationSourceProperty :: ApplicationSourceProperty+mkApplicationSourceProperty+  = ApplicationSourceProperty+      {haddock_workaround_ = (),+       cloudFormationStackARN = Prelude.Nothing,+       tagFilters = Prelude.Nothing}+instance ToResourceProperties ApplicationSourceProperty where+  toResourceProperties ApplicationSourceProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScalingPlans::ScalingPlan.ApplicationSource",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CloudFormationStackARN"+                              Prelude.<$> cloudFormationStackARN,+                            (JSON..=) "TagFilters" Prelude.<$> tagFilters])}+instance JSON.ToJSON ApplicationSourceProperty where+  toJSON ApplicationSourceProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CloudFormationStackARN"+                 Prelude.<$> cloudFormationStackARN,+               (JSON..=) "TagFilters" Prelude.<$> tagFilters]))+instance Property "CloudFormationStackARN" ApplicationSourceProperty where+  type PropertyType "CloudFormationStackARN" ApplicationSourceProperty = Value Prelude.Text+  set newValue ApplicationSourceProperty {..}+    = ApplicationSourceProperty+        {cloudFormationStackARN = Prelude.pure newValue, ..}+instance Property "TagFilters" ApplicationSourceProperty where+  type PropertyType "TagFilters" ApplicationSourceProperty = [TagFilterProperty]+  set newValue ApplicationSourceProperty {..}+    = ApplicationSourceProperty+        {tagFilters = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScalingPlans/ScalingPlan/ApplicationSourceProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScalingPlans.ScalingPlan.ApplicationSourceProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ApplicationSourceProperty :: Prelude.Type+instance ToResourceProperties ApplicationSourceProperty+instance Prelude.Eq ApplicationSourceProperty+instance Prelude.Show ApplicationSourceProperty+instance JSON.ToJSON ApplicationSourceProperty
+ gen/Stratosphere/AutoScalingPlans/ScalingPlan/CustomizedLoadMetricSpecificationProperty.hs view
@@ -0,0 +1,83 @@+module Stratosphere.AutoScalingPlans.ScalingPlan.CustomizedLoadMetricSpecificationProperty (+        module Exports, CustomizedLoadMetricSpecificationProperty(..),+        mkCustomizedLoadMetricSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScalingPlans.ScalingPlan.MetricDimensionProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CustomizedLoadMetricSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedloadmetricspecification.html>+    CustomizedLoadMetricSpecificationProperty {haddock_workaround_ :: (),+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedloadmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedloadmetricspecification-dimensions>+                                               dimensions :: (Prelude.Maybe [MetricDimensionProperty]),+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedloadmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedloadmetricspecification-metricname>+                                               metricName :: (Value Prelude.Text),+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedloadmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedloadmetricspecification-namespace>+                                               namespace :: (Value Prelude.Text),+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedloadmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedloadmetricspecification-statistic>+                                               statistic :: (Value Prelude.Text),+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedloadmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedloadmetricspecification-unit>+                                               unit :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCustomizedLoadMetricSpecificationProperty ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text -> CustomizedLoadMetricSpecificationProperty+mkCustomizedLoadMetricSpecificationProperty+  metricName+  namespace+  statistic+  = CustomizedLoadMetricSpecificationProperty+      {haddock_workaround_ = (), metricName = metricName,+       namespace = namespace, statistic = statistic,+       dimensions = Prelude.Nothing, unit = Prelude.Nothing}+instance ToResourceProperties CustomizedLoadMetricSpecificationProperty where+  toResourceProperties CustomizedLoadMetricSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["MetricName" JSON..= metricName, "Namespace" JSON..= namespace,+                            "Statistic" JSON..= statistic]+                           (Prelude.catMaybes+                              [(JSON..=) "Dimensions" Prelude.<$> dimensions,+                               (JSON..=) "Unit" Prelude.<$> unit]))}+instance JSON.ToJSON CustomizedLoadMetricSpecificationProperty where+  toJSON CustomizedLoadMetricSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["MetricName" JSON..= metricName, "Namespace" JSON..= namespace,+               "Statistic" JSON..= statistic]+              (Prelude.catMaybes+                 [(JSON..=) "Dimensions" Prelude.<$> dimensions,+                  (JSON..=) "Unit" Prelude.<$> unit])))+instance Property "Dimensions" CustomizedLoadMetricSpecificationProperty where+  type PropertyType "Dimensions" CustomizedLoadMetricSpecificationProperty = [MetricDimensionProperty]+  set newValue CustomizedLoadMetricSpecificationProperty {..}+    = CustomizedLoadMetricSpecificationProperty+        {dimensions = Prelude.pure newValue, ..}+instance Property "MetricName" CustomizedLoadMetricSpecificationProperty where+  type PropertyType "MetricName" CustomizedLoadMetricSpecificationProperty = Value Prelude.Text+  set newValue CustomizedLoadMetricSpecificationProperty {..}+    = CustomizedLoadMetricSpecificationProperty+        {metricName = newValue, ..}+instance Property "Namespace" CustomizedLoadMetricSpecificationProperty where+  type PropertyType "Namespace" CustomizedLoadMetricSpecificationProperty = Value Prelude.Text+  set newValue CustomizedLoadMetricSpecificationProperty {..}+    = CustomizedLoadMetricSpecificationProperty+        {namespace = newValue, ..}+instance Property "Statistic" CustomizedLoadMetricSpecificationProperty where+  type PropertyType "Statistic" CustomizedLoadMetricSpecificationProperty = Value Prelude.Text+  set newValue CustomizedLoadMetricSpecificationProperty {..}+    = CustomizedLoadMetricSpecificationProperty+        {statistic = newValue, ..}+instance Property "Unit" CustomizedLoadMetricSpecificationProperty where+  type PropertyType "Unit" CustomizedLoadMetricSpecificationProperty = Value Prelude.Text+  set newValue CustomizedLoadMetricSpecificationProperty {..}+    = CustomizedLoadMetricSpecificationProperty+        {unit = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScalingPlans/ScalingPlan/CustomizedLoadMetricSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScalingPlans.ScalingPlan.CustomizedLoadMetricSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CustomizedLoadMetricSpecificationProperty :: Prelude.Type+instance ToResourceProperties CustomizedLoadMetricSpecificationProperty+instance Prelude.Eq CustomizedLoadMetricSpecificationProperty+instance Prelude.Show CustomizedLoadMetricSpecificationProperty+instance JSON.ToJSON CustomizedLoadMetricSpecificationProperty
+ gen/Stratosphere/AutoScalingPlans/ScalingPlan/CustomizedScalingMetricSpecificationProperty.hs view
@@ -0,0 +1,85 @@+module Stratosphere.AutoScalingPlans.ScalingPlan.CustomizedScalingMetricSpecificationProperty (+        module Exports, CustomizedScalingMetricSpecificationProperty(..),+        mkCustomizedScalingMetricSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScalingPlans.ScalingPlan.MetricDimensionProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CustomizedScalingMetricSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedscalingmetricspecification.html>+    CustomizedScalingMetricSpecificationProperty {haddock_workaround_ :: (),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedscalingmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedscalingmetricspecification-dimensions>+                                                  dimensions :: (Prelude.Maybe [MetricDimensionProperty]),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedscalingmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedscalingmetricspecification-metricname>+                                                  metricName :: (Value Prelude.Text),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedscalingmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedscalingmetricspecification-namespace>+                                                  namespace :: (Value Prelude.Text),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedscalingmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedscalingmetricspecification-statistic>+                                                  statistic :: (Value Prelude.Text),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedscalingmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedscalingmetricspecification-unit>+                                                  unit :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCustomizedScalingMetricSpecificationProperty ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text+        -> CustomizedScalingMetricSpecificationProperty+mkCustomizedScalingMetricSpecificationProperty+  metricName+  namespace+  statistic+  = CustomizedScalingMetricSpecificationProperty+      {haddock_workaround_ = (), metricName = metricName,+       namespace = namespace, statistic = statistic,+       dimensions = Prelude.Nothing, unit = Prelude.Nothing}+instance ToResourceProperties CustomizedScalingMetricSpecificationProperty where+  toResourceProperties+    CustomizedScalingMetricSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["MetricName" JSON..= metricName, "Namespace" JSON..= namespace,+                            "Statistic" JSON..= statistic]+                           (Prelude.catMaybes+                              [(JSON..=) "Dimensions" Prelude.<$> dimensions,+                               (JSON..=) "Unit" Prelude.<$> unit]))}+instance JSON.ToJSON CustomizedScalingMetricSpecificationProperty where+  toJSON CustomizedScalingMetricSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["MetricName" JSON..= metricName, "Namespace" JSON..= namespace,+               "Statistic" JSON..= statistic]+              (Prelude.catMaybes+                 [(JSON..=) "Dimensions" Prelude.<$> dimensions,+                  (JSON..=) "Unit" Prelude.<$> unit])))+instance Property "Dimensions" CustomizedScalingMetricSpecificationProperty where+  type PropertyType "Dimensions" CustomizedScalingMetricSpecificationProperty = [MetricDimensionProperty]+  set newValue CustomizedScalingMetricSpecificationProperty {..}+    = CustomizedScalingMetricSpecificationProperty+        {dimensions = Prelude.pure newValue, ..}+instance Property "MetricName" CustomizedScalingMetricSpecificationProperty where+  type PropertyType "MetricName" CustomizedScalingMetricSpecificationProperty = Value Prelude.Text+  set newValue CustomizedScalingMetricSpecificationProperty {..}+    = CustomizedScalingMetricSpecificationProperty+        {metricName = newValue, ..}+instance Property "Namespace" CustomizedScalingMetricSpecificationProperty where+  type PropertyType "Namespace" CustomizedScalingMetricSpecificationProperty = Value Prelude.Text+  set newValue CustomizedScalingMetricSpecificationProperty {..}+    = CustomizedScalingMetricSpecificationProperty+        {namespace = newValue, ..}+instance Property "Statistic" CustomizedScalingMetricSpecificationProperty where+  type PropertyType "Statistic" CustomizedScalingMetricSpecificationProperty = Value Prelude.Text+  set newValue CustomizedScalingMetricSpecificationProperty {..}+    = CustomizedScalingMetricSpecificationProperty+        {statistic = newValue, ..}+instance Property "Unit" CustomizedScalingMetricSpecificationProperty where+  type PropertyType "Unit" CustomizedScalingMetricSpecificationProperty = Value Prelude.Text+  set newValue CustomizedScalingMetricSpecificationProperty {..}+    = CustomizedScalingMetricSpecificationProperty+        {unit = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScalingPlans/ScalingPlan/CustomizedScalingMetricSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScalingPlans.ScalingPlan.CustomizedScalingMetricSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CustomizedScalingMetricSpecificationProperty :: Prelude.Type+instance ToResourceProperties CustomizedScalingMetricSpecificationProperty+instance Prelude.Eq CustomizedScalingMetricSpecificationProperty+instance Prelude.Show CustomizedScalingMetricSpecificationProperty+instance JSON.ToJSON CustomizedScalingMetricSpecificationProperty
+ gen/Stratosphere/AutoScalingPlans/ScalingPlan/MetricDimensionProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.AutoScalingPlans.ScalingPlan.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-autoscalingplans-scalingplan-metricdimension.html>+    MetricDimensionProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-metricdimension.html#cfn-autoscalingplans-scalingplan-metricdimension-name>+                             name :: (Value Prelude.Text),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-metricdimension.html#cfn-autoscalingplans-scalingplan-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::AutoScalingPlans::ScalingPlan.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/AutoScalingPlans/ScalingPlan/MetricDimensionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScalingPlans.ScalingPlan.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/AutoScalingPlans/ScalingPlan/PredefinedLoadMetricSpecificationProperty.hs view
@@ -0,0 +1,53 @@+module Stratosphere.AutoScalingPlans.ScalingPlan.PredefinedLoadMetricSpecificationProperty (+        PredefinedLoadMetricSpecificationProperty(..),+        mkPredefinedLoadMetricSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PredefinedLoadMetricSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-predefinedloadmetricspecification.html>+    PredefinedLoadMetricSpecificationProperty {haddock_workaround_ :: (),+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-predefinedloadmetricspecification.html#cfn-autoscalingplans-scalingplan-predefinedloadmetricspecification-predefinedloadmetrictype>+                                               predefinedLoadMetricType :: (Value Prelude.Text),+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-predefinedloadmetricspecification.html#cfn-autoscalingplans-scalingplan-predefinedloadmetricspecification-resourcelabel>+                                               resourceLabel :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredefinedLoadMetricSpecificationProperty ::+  Value Prelude.Text -> PredefinedLoadMetricSpecificationProperty+mkPredefinedLoadMetricSpecificationProperty+  predefinedLoadMetricType+  = PredefinedLoadMetricSpecificationProperty+      {haddock_workaround_ = (),+       predefinedLoadMetricType = predefinedLoadMetricType,+       resourceLabel = Prelude.Nothing}+instance ToResourceProperties PredefinedLoadMetricSpecificationProperty where+  toResourceProperties PredefinedLoadMetricSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["PredefinedLoadMetricType" JSON..= predefinedLoadMetricType]+                           (Prelude.catMaybes+                              [(JSON..=) "ResourceLabel" Prelude.<$> resourceLabel]))}+instance JSON.ToJSON PredefinedLoadMetricSpecificationProperty where+  toJSON PredefinedLoadMetricSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["PredefinedLoadMetricType" JSON..= predefinedLoadMetricType]+              (Prelude.catMaybes+                 [(JSON..=) "ResourceLabel" Prelude.<$> resourceLabel])))+instance Property "PredefinedLoadMetricType" PredefinedLoadMetricSpecificationProperty where+  type PropertyType "PredefinedLoadMetricType" PredefinedLoadMetricSpecificationProperty = Value Prelude.Text+  set newValue PredefinedLoadMetricSpecificationProperty {..}+    = PredefinedLoadMetricSpecificationProperty+        {predefinedLoadMetricType = newValue, ..}+instance Property "ResourceLabel" PredefinedLoadMetricSpecificationProperty where+  type PropertyType "ResourceLabel" PredefinedLoadMetricSpecificationProperty = Value Prelude.Text+  set newValue PredefinedLoadMetricSpecificationProperty {..}+    = PredefinedLoadMetricSpecificationProperty+        {resourceLabel = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScalingPlans/ScalingPlan/PredefinedLoadMetricSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScalingPlans.ScalingPlan.PredefinedLoadMetricSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredefinedLoadMetricSpecificationProperty :: Prelude.Type+instance ToResourceProperties PredefinedLoadMetricSpecificationProperty+instance Prelude.Eq PredefinedLoadMetricSpecificationProperty+instance Prelude.Show PredefinedLoadMetricSpecificationProperty+instance JSON.ToJSON PredefinedLoadMetricSpecificationProperty
+ gen/Stratosphere/AutoScalingPlans/ScalingPlan/PredefinedScalingMetricSpecificationProperty.hs view
@@ -0,0 +1,54 @@+module Stratosphere.AutoScalingPlans.ScalingPlan.PredefinedScalingMetricSpecificationProperty (+        PredefinedScalingMetricSpecificationProperty(..),+        mkPredefinedScalingMetricSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PredefinedScalingMetricSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-predefinedscalingmetricspecification.html>+    PredefinedScalingMetricSpecificationProperty {haddock_workaround_ :: (),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-predefinedscalingmetricspecification.html#cfn-autoscalingplans-scalingplan-predefinedscalingmetricspecification-predefinedscalingmetrictype>+                                                  predefinedScalingMetricType :: (Value Prelude.Text),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-predefinedscalingmetricspecification.html#cfn-autoscalingplans-scalingplan-predefinedscalingmetricspecification-resourcelabel>+                                                  resourceLabel :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredefinedScalingMetricSpecificationProperty ::+  Value Prelude.Text -> PredefinedScalingMetricSpecificationProperty+mkPredefinedScalingMetricSpecificationProperty+  predefinedScalingMetricType+  = PredefinedScalingMetricSpecificationProperty+      {haddock_workaround_ = (),+       predefinedScalingMetricType = predefinedScalingMetricType,+       resourceLabel = Prelude.Nothing}+instance ToResourceProperties PredefinedScalingMetricSpecificationProperty where+  toResourceProperties+    PredefinedScalingMetricSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["PredefinedScalingMetricType" JSON..= predefinedScalingMetricType]+                           (Prelude.catMaybes+                              [(JSON..=) "ResourceLabel" Prelude.<$> resourceLabel]))}+instance JSON.ToJSON PredefinedScalingMetricSpecificationProperty where+  toJSON PredefinedScalingMetricSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["PredefinedScalingMetricType" JSON..= predefinedScalingMetricType]+              (Prelude.catMaybes+                 [(JSON..=) "ResourceLabel" Prelude.<$> resourceLabel])))+instance Property "PredefinedScalingMetricType" PredefinedScalingMetricSpecificationProperty where+  type PropertyType "PredefinedScalingMetricType" PredefinedScalingMetricSpecificationProperty = Value Prelude.Text+  set newValue PredefinedScalingMetricSpecificationProperty {..}+    = PredefinedScalingMetricSpecificationProperty+        {predefinedScalingMetricType = newValue, ..}+instance Property "ResourceLabel" PredefinedScalingMetricSpecificationProperty where+  type PropertyType "ResourceLabel" PredefinedScalingMetricSpecificationProperty = Value Prelude.Text+  set newValue PredefinedScalingMetricSpecificationProperty {..}+    = PredefinedScalingMetricSpecificationProperty+        {resourceLabel = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScalingPlans/ScalingPlan/PredefinedScalingMetricSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScalingPlans.ScalingPlan.PredefinedScalingMetricSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredefinedScalingMetricSpecificationProperty :: Prelude.Type+instance ToResourceProperties PredefinedScalingMetricSpecificationProperty+instance Prelude.Eq PredefinedScalingMetricSpecificationProperty+instance Prelude.Show PredefinedScalingMetricSpecificationProperty+instance JSON.ToJSON PredefinedScalingMetricSpecificationProperty
+ gen/Stratosphere/AutoScalingPlans/ScalingPlan/ScalingInstructionProperty.hs view
@@ -0,0 +1,196 @@+module Stratosphere.AutoScalingPlans.ScalingPlan.ScalingInstructionProperty (+        module Exports, ScalingInstructionProperty(..),+        mkScalingInstructionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScalingPlans.ScalingPlan.CustomizedLoadMetricSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScalingPlans.ScalingPlan.PredefinedLoadMetricSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScalingPlans.ScalingPlan.TargetTrackingConfigurationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ScalingInstructionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html>+    ScalingInstructionProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-customizedloadmetricspecification>+                                customizedLoadMetricSpecification :: (Prelude.Maybe CustomizedLoadMetricSpecificationProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-disabledynamicscaling>+                                disableDynamicScaling :: (Prelude.Maybe (Value Prelude.Bool)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-maxcapacity>+                                maxCapacity :: (Value Prelude.Integer),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-mincapacity>+                                minCapacity :: (Value Prelude.Integer),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-predefinedloadmetricspecification>+                                predefinedLoadMetricSpecification :: (Prelude.Maybe PredefinedLoadMetricSpecificationProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-predictivescalingmaxcapacitybehavior>+                                predictiveScalingMaxCapacityBehavior :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-predictivescalingmaxcapacitybuffer>+                                predictiveScalingMaxCapacityBuffer :: (Prelude.Maybe (Value Prelude.Integer)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-predictivescalingmode>+                                predictiveScalingMode :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-resourceid>+                                resourceId :: (Value Prelude.Text),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-scalabledimension>+                                scalableDimension :: (Value Prelude.Text),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-scalingpolicyupdatebehavior>+                                scalingPolicyUpdateBehavior :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-scheduledactionbuffertime>+                                scheduledActionBufferTime :: (Prelude.Maybe (Value Prelude.Integer)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-servicenamespace>+                                serviceNamespace :: (Value Prelude.Text),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-targettrackingconfigurations>+                                targetTrackingConfigurations :: [TargetTrackingConfigurationProperty]}+  deriving stock (Prelude.Eq, Prelude.Show)+mkScalingInstructionProperty ::+  Value Prelude.Integer+  -> Value Prelude.Integer+     -> Value Prelude.Text+        -> Value Prelude.Text+           -> Value Prelude.Text+              -> [TargetTrackingConfigurationProperty]+                 -> ScalingInstructionProperty+mkScalingInstructionProperty+  maxCapacity+  minCapacity+  resourceId+  scalableDimension+  serviceNamespace+  targetTrackingConfigurations+  = ScalingInstructionProperty+      {haddock_workaround_ = (), maxCapacity = maxCapacity,+       minCapacity = minCapacity, resourceId = resourceId,+       scalableDimension = scalableDimension,+       serviceNamespace = serviceNamespace,+       targetTrackingConfigurations = targetTrackingConfigurations,+       customizedLoadMetricSpecification = Prelude.Nothing,+       disableDynamicScaling = Prelude.Nothing,+       predefinedLoadMetricSpecification = Prelude.Nothing,+       predictiveScalingMaxCapacityBehavior = Prelude.Nothing,+       predictiveScalingMaxCapacityBuffer = Prelude.Nothing,+       predictiveScalingMode = Prelude.Nothing,+       scalingPolicyUpdateBehavior = Prelude.Nothing,+       scheduledActionBufferTime = Prelude.Nothing}+instance ToResourceProperties ScalingInstructionProperty where+  toResourceProperties ScalingInstructionProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["MaxCapacity" JSON..= maxCapacity,+                            "MinCapacity" JSON..= minCapacity, "ResourceId" JSON..= resourceId,+                            "ScalableDimension" JSON..= scalableDimension,+                            "ServiceNamespace" JSON..= serviceNamespace,+                            "TargetTrackingConfigurations"+                              JSON..= targetTrackingConfigurations]+                           (Prelude.catMaybes+                              [(JSON..=) "CustomizedLoadMetricSpecification"+                                 Prelude.<$> customizedLoadMetricSpecification,+                               (JSON..=) "DisableDynamicScaling"+                                 Prelude.<$> disableDynamicScaling,+                               (JSON..=) "PredefinedLoadMetricSpecification"+                                 Prelude.<$> predefinedLoadMetricSpecification,+                               (JSON..=) "PredictiveScalingMaxCapacityBehavior"+                                 Prelude.<$> predictiveScalingMaxCapacityBehavior,+                               (JSON..=) "PredictiveScalingMaxCapacityBuffer"+                                 Prelude.<$> predictiveScalingMaxCapacityBuffer,+                               (JSON..=) "PredictiveScalingMode"+                                 Prelude.<$> predictiveScalingMode,+                               (JSON..=) "ScalingPolicyUpdateBehavior"+                                 Prelude.<$> scalingPolicyUpdateBehavior,+                               (JSON..=) "ScheduledActionBufferTime"+                                 Prelude.<$> scheduledActionBufferTime]))}+instance JSON.ToJSON ScalingInstructionProperty where+  toJSON ScalingInstructionProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["MaxCapacity" JSON..= maxCapacity,+               "MinCapacity" JSON..= minCapacity, "ResourceId" JSON..= resourceId,+               "ScalableDimension" JSON..= scalableDimension,+               "ServiceNamespace" JSON..= serviceNamespace,+               "TargetTrackingConfigurations"+                 JSON..= targetTrackingConfigurations]+              (Prelude.catMaybes+                 [(JSON..=) "CustomizedLoadMetricSpecification"+                    Prelude.<$> customizedLoadMetricSpecification,+                  (JSON..=) "DisableDynamicScaling"+                    Prelude.<$> disableDynamicScaling,+                  (JSON..=) "PredefinedLoadMetricSpecification"+                    Prelude.<$> predefinedLoadMetricSpecification,+                  (JSON..=) "PredictiveScalingMaxCapacityBehavior"+                    Prelude.<$> predictiveScalingMaxCapacityBehavior,+                  (JSON..=) "PredictiveScalingMaxCapacityBuffer"+                    Prelude.<$> predictiveScalingMaxCapacityBuffer,+                  (JSON..=) "PredictiveScalingMode"+                    Prelude.<$> predictiveScalingMode,+                  (JSON..=) "ScalingPolicyUpdateBehavior"+                    Prelude.<$> scalingPolicyUpdateBehavior,+                  (JSON..=) "ScheduledActionBufferTime"+                    Prelude.<$> scheduledActionBufferTime])))+instance Property "CustomizedLoadMetricSpecification" ScalingInstructionProperty where+  type PropertyType "CustomizedLoadMetricSpecification" ScalingInstructionProperty = CustomizedLoadMetricSpecificationProperty+  set newValue ScalingInstructionProperty {..}+    = ScalingInstructionProperty+        {customizedLoadMetricSpecification = Prelude.pure newValue, ..}+instance Property "DisableDynamicScaling" ScalingInstructionProperty where+  type PropertyType "DisableDynamicScaling" ScalingInstructionProperty = Value Prelude.Bool+  set newValue ScalingInstructionProperty {..}+    = ScalingInstructionProperty+        {disableDynamicScaling = Prelude.pure newValue, ..}+instance Property "MaxCapacity" ScalingInstructionProperty where+  type PropertyType "MaxCapacity" ScalingInstructionProperty = Value Prelude.Integer+  set newValue ScalingInstructionProperty {..}+    = ScalingInstructionProperty {maxCapacity = newValue, ..}+instance Property "MinCapacity" ScalingInstructionProperty where+  type PropertyType "MinCapacity" ScalingInstructionProperty = Value Prelude.Integer+  set newValue ScalingInstructionProperty {..}+    = ScalingInstructionProperty {minCapacity = newValue, ..}+instance Property "PredefinedLoadMetricSpecification" ScalingInstructionProperty where+  type PropertyType "PredefinedLoadMetricSpecification" ScalingInstructionProperty = PredefinedLoadMetricSpecificationProperty+  set newValue ScalingInstructionProperty {..}+    = ScalingInstructionProperty+        {predefinedLoadMetricSpecification = Prelude.pure newValue, ..}+instance Property "PredictiveScalingMaxCapacityBehavior" ScalingInstructionProperty where+  type PropertyType "PredictiveScalingMaxCapacityBehavior" ScalingInstructionProperty = Value Prelude.Text+  set newValue ScalingInstructionProperty {..}+    = ScalingInstructionProperty+        {predictiveScalingMaxCapacityBehavior = Prelude.pure newValue, ..}+instance Property "PredictiveScalingMaxCapacityBuffer" ScalingInstructionProperty where+  type PropertyType "PredictiveScalingMaxCapacityBuffer" ScalingInstructionProperty = Value Prelude.Integer+  set newValue ScalingInstructionProperty {..}+    = ScalingInstructionProperty+        {predictiveScalingMaxCapacityBuffer = Prelude.pure newValue, ..}+instance Property "PredictiveScalingMode" ScalingInstructionProperty where+  type PropertyType "PredictiveScalingMode" ScalingInstructionProperty = Value Prelude.Text+  set newValue ScalingInstructionProperty {..}+    = ScalingInstructionProperty+        {predictiveScalingMode = Prelude.pure newValue, ..}+instance Property "ResourceId" ScalingInstructionProperty where+  type PropertyType "ResourceId" ScalingInstructionProperty = Value Prelude.Text+  set newValue ScalingInstructionProperty {..}+    = ScalingInstructionProperty {resourceId = newValue, ..}+instance Property "ScalableDimension" ScalingInstructionProperty where+  type PropertyType "ScalableDimension" ScalingInstructionProperty = Value Prelude.Text+  set newValue ScalingInstructionProperty {..}+    = ScalingInstructionProperty {scalableDimension = newValue, ..}+instance Property "ScalingPolicyUpdateBehavior" ScalingInstructionProperty where+  type PropertyType "ScalingPolicyUpdateBehavior" ScalingInstructionProperty = Value Prelude.Text+  set newValue ScalingInstructionProperty {..}+    = ScalingInstructionProperty+        {scalingPolicyUpdateBehavior = Prelude.pure newValue, ..}+instance Property "ScheduledActionBufferTime" ScalingInstructionProperty where+  type PropertyType "ScheduledActionBufferTime" ScalingInstructionProperty = Value Prelude.Integer+  set newValue ScalingInstructionProperty {..}+    = ScalingInstructionProperty+        {scheduledActionBufferTime = Prelude.pure newValue, ..}+instance Property "ServiceNamespace" ScalingInstructionProperty where+  type PropertyType "ServiceNamespace" ScalingInstructionProperty = Value Prelude.Text+  set newValue ScalingInstructionProperty {..}+    = ScalingInstructionProperty {serviceNamespace = newValue, ..}+instance Property "TargetTrackingConfigurations" ScalingInstructionProperty where+  type PropertyType "TargetTrackingConfigurations" ScalingInstructionProperty = [TargetTrackingConfigurationProperty]+  set newValue ScalingInstructionProperty {..}+    = ScalingInstructionProperty+        {targetTrackingConfigurations = newValue, ..}
+ gen/Stratosphere/AutoScalingPlans/ScalingPlan/ScalingInstructionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScalingPlans.ScalingPlan.ScalingInstructionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ScalingInstructionProperty :: Prelude.Type+instance ToResourceProperties ScalingInstructionProperty+instance Prelude.Eq ScalingInstructionProperty+instance Prelude.Show ScalingInstructionProperty+instance JSON.ToJSON ScalingInstructionProperty
+ gen/Stratosphere/AutoScalingPlans/ScalingPlan/TagFilterProperty.hs view
@@ -0,0 +1,44 @@+module Stratosphere.AutoScalingPlans.ScalingPlan.TagFilterProperty (+        TagFilterProperty(..), mkTagFilterProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TagFilterProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-tagfilter.html>+    TagFilterProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-tagfilter.html#cfn-autoscalingplans-scalingplan-tagfilter-key>+                       key :: (Value Prelude.Text),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-tagfilter.html#cfn-autoscalingplans-scalingplan-tagfilter-values>+                       values :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTagFilterProperty :: Value Prelude.Text -> TagFilterProperty+mkTagFilterProperty key+  = TagFilterProperty+      {haddock_workaround_ = (), key = key, values = Prelude.Nothing}+instance ToResourceProperties TagFilterProperty where+  toResourceProperties TagFilterProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScalingPlans::ScalingPlan.TagFilter",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Key" JSON..= key]+                           (Prelude.catMaybes [(JSON..=) "Values" Prelude.<$> values]))}+instance JSON.ToJSON TagFilterProperty where+  toJSON TagFilterProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Key" JSON..= key]+              (Prelude.catMaybes [(JSON..=) "Values" Prelude.<$> values])))+instance Property "Key" TagFilterProperty where+  type PropertyType "Key" TagFilterProperty = Value Prelude.Text+  set newValue TagFilterProperty {..}+    = TagFilterProperty {key = newValue, ..}+instance Property "Values" TagFilterProperty where+  type PropertyType "Values" TagFilterProperty = ValueList Prelude.Text+  set newValue TagFilterProperty {..}+    = TagFilterProperty {values = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScalingPlans/ScalingPlan/TagFilterProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScalingPlans.ScalingPlan.TagFilterProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TagFilterProperty :: Prelude.Type+instance ToResourceProperties TagFilterProperty+instance Prelude.Eq TagFilterProperty+instance Prelude.Show TagFilterProperty+instance JSON.ToJSON TagFilterProperty
+ gen/Stratosphere/AutoScalingPlans/ScalingPlan/TargetTrackingConfigurationProperty.hs view
@@ -0,0 +1,108 @@+module Stratosphere.AutoScalingPlans.ScalingPlan.TargetTrackingConfigurationProperty (+        module Exports, TargetTrackingConfigurationProperty(..),+        mkTargetTrackingConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScalingPlans.ScalingPlan.CustomizedScalingMetricSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScalingPlans.ScalingPlan.PredefinedScalingMetricSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TargetTrackingConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html>+    TargetTrackingConfigurationProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html#cfn-autoscalingplans-scalingplan-targettrackingconfiguration-customizedscalingmetricspecification>+                                         customizedScalingMetricSpecification :: (Prelude.Maybe CustomizedScalingMetricSpecificationProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html#cfn-autoscalingplans-scalingplan-targettrackingconfiguration-disablescalein>+                                         disableScaleIn :: (Prelude.Maybe (Value Prelude.Bool)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html#cfn-autoscalingplans-scalingplan-targettrackingconfiguration-estimatedinstancewarmup>+                                         estimatedInstanceWarmup :: (Prelude.Maybe (Value Prelude.Integer)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html#cfn-autoscalingplans-scalingplan-targettrackingconfiguration-predefinedscalingmetricspecification>+                                         predefinedScalingMetricSpecification :: (Prelude.Maybe PredefinedScalingMetricSpecificationProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html#cfn-autoscalingplans-scalingplan-targettrackingconfiguration-scaleincooldown>+                                         scaleInCooldown :: (Prelude.Maybe (Value Prelude.Integer)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html#cfn-autoscalingplans-scalingplan-targettrackingconfiguration-scaleoutcooldown>+                                         scaleOutCooldown :: (Prelude.Maybe (Value Prelude.Integer)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html#cfn-autoscalingplans-scalingplan-targettrackingconfiguration-targetvalue>+                                         targetValue :: (Value Prelude.Double)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTargetTrackingConfigurationProperty ::+  Value Prelude.Double -> TargetTrackingConfigurationProperty+mkTargetTrackingConfigurationProperty targetValue+  = TargetTrackingConfigurationProperty+      {haddock_workaround_ = (), targetValue = targetValue,+       customizedScalingMetricSpecification = Prelude.Nothing,+       disableScaleIn = Prelude.Nothing,+       estimatedInstanceWarmup = Prelude.Nothing,+       predefinedScalingMetricSpecification = Prelude.Nothing,+       scaleInCooldown = Prelude.Nothing,+       scaleOutCooldown = Prelude.Nothing}+instance ToResourceProperties TargetTrackingConfigurationProperty where+  toResourceProperties TargetTrackingConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["TargetValue" JSON..= targetValue]+                           (Prelude.catMaybes+                              [(JSON..=) "CustomizedScalingMetricSpecification"+                                 Prelude.<$> customizedScalingMetricSpecification,+                               (JSON..=) "DisableScaleIn" Prelude.<$> disableScaleIn,+                               (JSON..=) "EstimatedInstanceWarmup"+                                 Prelude.<$> estimatedInstanceWarmup,+                               (JSON..=) "PredefinedScalingMetricSpecification"+                                 Prelude.<$> predefinedScalingMetricSpecification,+                               (JSON..=) "ScaleInCooldown" Prelude.<$> scaleInCooldown,+                               (JSON..=) "ScaleOutCooldown" Prelude.<$> scaleOutCooldown]))}+instance JSON.ToJSON TargetTrackingConfigurationProperty where+  toJSON TargetTrackingConfigurationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["TargetValue" JSON..= targetValue]+              (Prelude.catMaybes+                 [(JSON..=) "CustomizedScalingMetricSpecification"+                    Prelude.<$> customizedScalingMetricSpecification,+                  (JSON..=) "DisableScaleIn" Prelude.<$> disableScaleIn,+                  (JSON..=) "EstimatedInstanceWarmup"+                    Prelude.<$> estimatedInstanceWarmup,+                  (JSON..=) "PredefinedScalingMetricSpecification"+                    Prelude.<$> predefinedScalingMetricSpecification,+                  (JSON..=) "ScaleInCooldown" Prelude.<$> scaleInCooldown,+                  (JSON..=) "ScaleOutCooldown" Prelude.<$> scaleOutCooldown])))+instance Property "CustomizedScalingMetricSpecification" TargetTrackingConfigurationProperty where+  type PropertyType "CustomizedScalingMetricSpecification" TargetTrackingConfigurationProperty = CustomizedScalingMetricSpecificationProperty+  set newValue TargetTrackingConfigurationProperty {..}+    = TargetTrackingConfigurationProperty+        {customizedScalingMetricSpecification = Prelude.pure newValue, ..}+instance Property "DisableScaleIn" TargetTrackingConfigurationProperty where+  type PropertyType "DisableScaleIn" TargetTrackingConfigurationProperty = Value Prelude.Bool+  set newValue TargetTrackingConfigurationProperty {..}+    = TargetTrackingConfigurationProperty+        {disableScaleIn = Prelude.pure newValue, ..}+instance Property "EstimatedInstanceWarmup" TargetTrackingConfigurationProperty where+  type PropertyType "EstimatedInstanceWarmup" TargetTrackingConfigurationProperty = Value Prelude.Integer+  set newValue TargetTrackingConfigurationProperty {..}+    = TargetTrackingConfigurationProperty+        {estimatedInstanceWarmup = Prelude.pure newValue, ..}+instance Property "PredefinedScalingMetricSpecification" TargetTrackingConfigurationProperty where+  type PropertyType "PredefinedScalingMetricSpecification" TargetTrackingConfigurationProperty = PredefinedScalingMetricSpecificationProperty+  set newValue TargetTrackingConfigurationProperty {..}+    = TargetTrackingConfigurationProperty+        {predefinedScalingMetricSpecification = Prelude.pure newValue, ..}+instance Property "ScaleInCooldown" TargetTrackingConfigurationProperty where+  type PropertyType "ScaleInCooldown" TargetTrackingConfigurationProperty = Value Prelude.Integer+  set newValue TargetTrackingConfigurationProperty {..}+    = TargetTrackingConfigurationProperty+        {scaleInCooldown = Prelude.pure newValue, ..}+instance Property "ScaleOutCooldown" TargetTrackingConfigurationProperty where+  type PropertyType "ScaleOutCooldown" TargetTrackingConfigurationProperty = Value Prelude.Integer+  set newValue TargetTrackingConfigurationProperty {..}+    = TargetTrackingConfigurationProperty+        {scaleOutCooldown = Prelude.pure newValue, ..}+instance Property "TargetValue" TargetTrackingConfigurationProperty where+  type PropertyType "TargetValue" TargetTrackingConfigurationProperty = Value Prelude.Double+  set newValue TargetTrackingConfigurationProperty {..}+    = TargetTrackingConfigurationProperty {targetValue = newValue, ..}
+ gen/Stratosphere/AutoScalingPlans/ScalingPlan/TargetTrackingConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScalingPlans.ScalingPlan.TargetTrackingConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TargetTrackingConfigurationProperty :: Prelude.Type+instance ToResourceProperties TargetTrackingConfigurationProperty+instance Prelude.Eq TargetTrackingConfigurationProperty+instance Prelude.Show TargetTrackingConfigurationProperty+instance JSON.ToJSON TargetTrackingConfigurationProperty
+ stratosphere-autoscalingplans.cabal view
@@ -0,0 +1,82 @@+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-autoscalingplans+version:        1.0.0+synopsis:       Stratosphere integration for AWS AutoScalingPlans.+description:    Integration into stratosphere to generate resources and properties for AWS AutoScalingPlans+category:       AWS, Cloud, AutoScalingPlans+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.AutoScalingPlans.ScalingPlan+      Stratosphere.AutoScalingPlans.ScalingPlan.ApplicationSourceProperty+      Stratosphere.AutoScalingPlans.ScalingPlan.CustomizedLoadMetricSpecificationProperty+      Stratosphere.AutoScalingPlans.ScalingPlan.CustomizedScalingMetricSpecificationProperty+      Stratosphere.AutoScalingPlans.ScalingPlan.MetricDimensionProperty+      Stratosphere.AutoScalingPlans.ScalingPlan.PredefinedLoadMetricSpecificationProperty+      Stratosphere.AutoScalingPlans.ScalingPlan.PredefinedScalingMetricSpecificationProperty+      Stratosphere.AutoScalingPlans.ScalingPlan.ScalingInstructionProperty+      Stratosphere.AutoScalingPlans.ScalingPlan.TagFilterProperty+      Stratosphere.AutoScalingPlans.ScalingPlan.TargetTrackingConfigurationProperty+  other-modules:+      Paths_stratosphere_autoscalingplans+  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