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 +20/−0
- gen/Stratosphere/AutoScalingPlans/ScalingPlan.hs +44/−0
- gen/Stratosphere/AutoScalingPlans/ScalingPlan/ApplicationSourceProperty.hs +52/−0
- gen/Stratosphere/AutoScalingPlans/ScalingPlan/ApplicationSourceProperty.hs-boot +9/−0
- gen/Stratosphere/AutoScalingPlans/ScalingPlan/CustomizedLoadMetricSpecificationProperty.hs +83/−0
- gen/Stratosphere/AutoScalingPlans/ScalingPlan/CustomizedLoadMetricSpecificationProperty.hs-boot +9/−0
- gen/Stratosphere/AutoScalingPlans/ScalingPlan/CustomizedScalingMetricSpecificationProperty.hs +85/−0
- gen/Stratosphere/AutoScalingPlans/ScalingPlan/CustomizedScalingMetricSpecificationProperty.hs-boot +9/−0
- gen/Stratosphere/AutoScalingPlans/ScalingPlan/MetricDimensionProperty.hs +38/−0
- gen/Stratosphere/AutoScalingPlans/ScalingPlan/MetricDimensionProperty.hs-boot +9/−0
- gen/Stratosphere/AutoScalingPlans/ScalingPlan/PredefinedLoadMetricSpecificationProperty.hs +53/−0
- gen/Stratosphere/AutoScalingPlans/ScalingPlan/PredefinedLoadMetricSpecificationProperty.hs-boot +9/−0
- gen/Stratosphere/AutoScalingPlans/ScalingPlan/PredefinedScalingMetricSpecificationProperty.hs +54/−0
- gen/Stratosphere/AutoScalingPlans/ScalingPlan/PredefinedScalingMetricSpecificationProperty.hs-boot +9/−0
- gen/Stratosphere/AutoScalingPlans/ScalingPlan/ScalingInstructionProperty.hs +196/−0
- gen/Stratosphere/AutoScalingPlans/ScalingPlan/ScalingInstructionProperty.hs-boot +9/−0
- gen/Stratosphere/AutoScalingPlans/ScalingPlan/TagFilterProperty.hs +44/−0
- gen/Stratosphere/AutoScalingPlans/ScalingPlan/TagFilterProperty.hs-boot +9/−0
- gen/Stratosphere/AutoScalingPlans/ScalingPlan/TargetTrackingConfigurationProperty.hs +108/−0
- gen/Stratosphere/AutoScalingPlans/ScalingPlan/TargetTrackingConfigurationProperty.hs-boot +9/−0
- stratosphere-autoscalingplans.cabal +82/−0
+ 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