packages feed

stratosphere-autoscaling (empty) → 1.0.0

raw patch · 108 files changed

+4746/−0 lines, 108 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/AutoScaling/AutoScalingGroup.hs view
@@ -0,0 +1,380 @@+module Stratosphere.AutoScaling.AutoScalingGroup (+        module Exports, AutoScalingGroup(..), mkAutoScalingGroup+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.AvailabilityZoneDistributionProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.CapacityReservationSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.InstanceMaintenancePolicyProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.LaunchTemplateSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.LifecycleHookSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.MetricsCollectionProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.MixedInstancesPolicyProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.NotificationConfigurationProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.TagPropertyProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.TrafficSourceIdentifierProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AutoScalingGroup+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html>+    AutoScalingGroup {haddock_workaround_ :: (),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-autoscalinggroupname>+                      autoScalingGroupName :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-availabilityzonedistribution>+                      availabilityZoneDistribution :: (Prelude.Maybe AvailabilityZoneDistributionProperty),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-availabilityzoneimpairmentpolicy>+                      availabilityZoneImpairmentPolicy :: (Prelude.Maybe AvailabilityZoneImpairmentPolicyProperty),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-availabilityzones>+                      availabilityZones :: (Prelude.Maybe (ValueList Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-capacityrebalance>+                      capacityRebalance :: (Prelude.Maybe (Value Prelude.Bool)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-capacityreservationspecification>+                      capacityReservationSpecification :: (Prelude.Maybe CapacityReservationSpecificationProperty),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-context>+                      context :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-cooldown>+                      cooldown :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-defaultinstancewarmup>+                      defaultInstanceWarmup :: (Prelude.Maybe (Value Prelude.Integer)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-desiredcapacity>+                      desiredCapacity :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-desiredcapacitytype>+                      desiredCapacityType :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-healthcheckgraceperiod>+                      healthCheckGracePeriod :: (Prelude.Maybe (Value Prelude.Integer)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-healthchecktype>+                      healthCheckType :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-instanceid>+                      instanceId :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-instancemaintenancepolicy>+                      instanceMaintenancePolicy :: (Prelude.Maybe InstanceMaintenancePolicyProperty),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-launchconfigurationname>+                      launchConfigurationName :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-launchtemplate>+                      launchTemplate :: (Prelude.Maybe LaunchTemplateSpecificationProperty),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecificationlist>+                      lifecycleHookSpecificationList :: (Prelude.Maybe [LifecycleHookSpecificationProperty]),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-loadbalancernames>+                      loadBalancerNames :: (Prelude.Maybe (ValueList Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-maxinstancelifetime>+                      maxInstanceLifetime :: (Prelude.Maybe (Value Prelude.Integer)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-maxsize>+                      maxSize :: (Value Prelude.Text),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-metricscollection>+                      metricsCollection :: (Prelude.Maybe [MetricsCollectionProperty]),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-minsize>+                      minSize :: (Value Prelude.Text),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-mixedinstancespolicy>+                      mixedInstancesPolicy :: (Prelude.Maybe MixedInstancesPolicyProperty),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-newinstancesprotectedfromscalein>+                      newInstancesProtectedFromScaleIn :: (Prelude.Maybe (Value Prelude.Bool)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-notificationconfigurations>+                      notificationConfigurations :: (Prelude.Maybe [NotificationConfigurationProperty]),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-placementgroup>+                      placementGroup :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-servicelinkedrolearn>+                      serviceLinkedRoleARN :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-skipzonalshiftvalidation>+                      skipZonalShiftValidation :: (Prelude.Maybe (Value Prelude.Bool)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-tags>+                      tags :: (Prelude.Maybe [TagPropertyProperty]),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-targetgrouparns>+                      targetGroupARNs :: (Prelude.Maybe (ValueList Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-terminationpolicies>+                      terminationPolicies :: (Prelude.Maybe (ValueList Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-trafficsources>+                      trafficSources :: (Prelude.Maybe [TrafficSourceIdentifierProperty]),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-vpczoneidentifier>+                      vPCZoneIdentifier :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAutoScalingGroup ::+  Value Prelude.Text -> Value Prelude.Text -> AutoScalingGroup+mkAutoScalingGroup maxSize minSize+  = AutoScalingGroup+      {haddock_workaround_ = (), maxSize = maxSize, minSize = minSize,+       autoScalingGroupName = Prelude.Nothing,+       availabilityZoneDistribution = Prelude.Nothing,+       availabilityZoneImpairmentPolicy = Prelude.Nothing,+       availabilityZones = Prelude.Nothing,+       capacityRebalance = Prelude.Nothing,+       capacityReservationSpecification = Prelude.Nothing,+       context = Prelude.Nothing, cooldown = Prelude.Nothing,+       defaultInstanceWarmup = Prelude.Nothing,+       desiredCapacity = Prelude.Nothing,+       desiredCapacityType = Prelude.Nothing,+       healthCheckGracePeriod = Prelude.Nothing,+       healthCheckType = Prelude.Nothing, instanceId = Prelude.Nothing,+       instanceMaintenancePolicy = Prelude.Nothing,+       launchConfigurationName = Prelude.Nothing,+       launchTemplate = Prelude.Nothing,+       lifecycleHookSpecificationList = Prelude.Nothing,+       loadBalancerNames = Prelude.Nothing,+       maxInstanceLifetime = Prelude.Nothing,+       metricsCollection = Prelude.Nothing,+       mixedInstancesPolicy = Prelude.Nothing,+       newInstancesProtectedFromScaleIn = Prelude.Nothing,+       notificationConfigurations = Prelude.Nothing,+       placementGroup = Prelude.Nothing,+       serviceLinkedRoleARN = Prelude.Nothing,+       skipZonalShiftValidation = Prelude.Nothing, tags = Prelude.Nothing,+       targetGroupARNs = Prelude.Nothing,+       terminationPolicies = Prelude.Nothing,+       trafficSources = Prelude.Nothing,+       vPCZoneIdentifier = Prelude.Nothing}+instance ToResourceProperties AutoScalingGroup where+  toResourceProperties AutoScalingGroup {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["MaxSize" JSON..= maxSize, "MinSize" JSON..= minSize]+                           (Prelude.catMaybes+                              [(JSON..=) "AutoScalingGroupName" Prelude.<$> autoScalingGroupName,+                               (JSON..=) "AvailabilityZoneDistribution"+                                 Prelude.<$> availabilityZoneDistribution,+                               (JSON..=) "AvailabilityZoneImpairmentPolicy"+                                 Prelude.<$> availabilityZoneImpairmentPolicy,+                               (JSON..=) "AvailabilityZones" Prelude.<$> availabilityZones,+                               (JSON..=) "CapacityRebalance" Prelude.<$> capacityRebalance,+                               (JSON..=) "CapacityReservationSpecification"+                                 Prelude.<$> capacityReservationSpecification,+                               (JSON..=) "Context" Prelude.<$> context,+                               (JSON..=) "Cooldown" Prelude.<$> cooldown,+                               (JSON..=) "DefaultInstanceWarmup"+                                 Prelude.<$> defaultInstanceWarmup,+                               (JSON..=) "DesiredCapacity" Prelude.<$> desiredCapacity,+                               (JSON..=) "DesiredCapacityType" Prelude.<$> desiredCapacityType,+                               (JSON..=) "HealthCheckGracePeriod"+                                 Prelude.<$> healthCheckGracePeriod,+                               (JSON..=) "HealthCheckType" Prelude.<$> healthCheckType,+                               (JSON..=) "InstanceId" Prelude.<$> instanceId,+                               (JSON..=) "InstanceMaintenancePolicy"+                                 Prelude.<$> instanceMaintenancePolicy,+                               (JSON..=) "LaunchConfigurationName"+                                 Prelude.<$> launchConfigurationName,+                               (JSON..=) "LaunchTemplate" Prelude.<$> launchTemplate,+                               (JSON..=) "LifecycleHookSpecificationList"+                                 Prelude.<$> lifecycleHookSpecificationList,+                               (JSON..=) "LoadBalancerNames" Prelude.<$> loadBalancerNames,+                               (JSON..=) "MaxInstanceLifetime" Prelude.<$> maxInstanceLifetime,+                               (JSON..=) "MetricsCollection" Prelude.<$> metricsCollection,+                               (JSON..=) "MixedInstancesPolicy" Prelude.<$> mixedInstancesPolicy,+                               (JSON..=) "NewInstancesProtectedFromScaleIn"+                                 Prelude.<$> newInstancesProtectedFromScaleIn,+                               (JSON..=) "NotificationConfigurations"+                                 Prelude.<$> notificationConfigurations,+                               (JSON..=) "PlacementGroup" Prelude.<$> placementGroup,+                               (JSON..=) "ServiceLinkedRoleARN" Prelude.<$> serviceLinkedRoleARN,+                               (JSON..=) "SkipZonalShiftValidation"+                                 Prelude.<$> skipZonalShiftValidation,+                               (JSON..=) "Tags" Prelude.<$> tags,+                               (JSON..=) "TargetGroupARNs" Prelude.<$> targetGroupARNs,+                               (JSON..=) "TerminationPolicies" Prelude.<$> terminationPolicies,+                               (JSON..=) "TrafficSources" Prelude.<$> trafficSources,+                               (JSON..=) "VPCZoneIdentifier" Prelude.<$> vPCZoneIdentifier]))}+instance JSON.ToJSON AutoScalingGroup where+  toJSON AutoScalingGroup {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["MaxSize" JSON..= maxSize, "MinSize" JSON..= minSize]+              (Prelude.catMaybes+                 [(JSON..=) "AutoScalingGroupName" Prelude.<$> autoScalingGroupName,+                  (JSON..=) "AvailabilityZoneDistribution"+                    Prelude.<$> availabilityZoneDistribution,+                  (JSON..=) "AvailabilityZoneImpairmentPolicy"+                    Prelude.<$> availabilityZoneImpairmentPolicy,+                  (JSON..=) "AvailabilityZones" Prelude.<$> availabilityZones,+                  (JSON..=) "CapacityRebalance" Prelude.<$> capacityRebalance,+                  (JSON..=) "CapacityReservationSpecification"+                    Prelude.<$> capacityReservationSpecification,+                  (JSON..=) "Context" Prelude.<$> context,+                  (JSON..=) "Cooldown" Prelude.<$> cooldown,+                  (JSON..=) "DefaultInstanceWarmup"+                    Prelude.<$> defaultInstanceWarmup,+                  (JSON..=) "DesiredCapacity" Prelude.<$> desiredCapacity,+                  (JSON..=) "DesiredCapacityType" Prelude.<$> desiredCapacityType,+                  (JSON..=) "HealthCheckGracePeriod"+                    Prelude.<$> healthCheckGracePeriod,+                  (JSON..=) "HealthCheckType" Prelude.<$> healthCheckType,+                  (JSON..=) "InstanceId" Prelude.<$> instanceId,+                  (JSON..=) "InstanceMaintenancePolicy"+                    Prelude.<$> instanceMaintenancePolicy,+                  (JSON..=) "LaunchConfigurationName"+                    Prelude.<$> launchConfigurationName,+                  (JSON..=) "LaunchTemplate" Prelude.<$> launchTemplate,+                  (JSON..=) "LifecycleHookSpecificationList"+                    Prelude.<$> lifecycleHookSpecificationList,+                  (JSON..=) "LoadBalancerNames" Prelude.<$> loadBalancerNames,+                  (JSON..=) "MaxInstanceLifetime" Prelude.<$> maxInstanceLifetime,+                  (JSON..=) "MetricsCollection" Prelude.<$> metricsCollection,+                  (JSON..=) "MixedInstancesPolicy" Prelude.<$> mixedInstancesPolicy,+                  (JSON..=) "NewInstancesProtectedFromScaleIn"+                    Prelude.<$> newInstancesProtectedFromScaleIn,+                  (JSON..=) "NotificationConfigurations"+                    Prelude.<$> notificationConfigurations,+                  (JSON..=) "PlacementGroup" Prelude.<$> placementGroup,+                  (JSON..=) "ServiceLinkedRoleARN" Prelude.<$> serviceLinkedRoleARN,+                  (JSON..=) "SkipZonalShiftValidation"+                    Prelude.<$> skipZonalShiftValidation,+                  (JSON..=) "Tags" Prelude.<$> tags,+                  (JSON..=) "TargetGroupARNs" Prelude.<$> targetGroupARNs,+                  (JSON..=) "TerminationPolicies" Prelude.<$> terminationPolicies,+                  (JSON..=) "TrafficSources" Prelude.<$> trafficSources,+                  (JSON..=) "VPCZoneIdentifier" Prelude.<$> vPCZoneIdentifier])))+instance Property "AutoScalingGroupName" AutoScalingGroup where+  type PropertyType "AutoScalingGroupName" AutoScalingGroup = Value Prelude.Text+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup+        {autoScalingGroupName = Prelude.pure newValue, ..}+instance Property "AvailabilityZoneDistribution" AutoScalingGroup where+  type PropertyType "AvailabilityZoneDistribution" AutoScalingGroup = AvailabilityZoneDistributionProperty+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup+        {availabilityZoneDistribution = Prelude.pure newValue, ..}+instance Property "AvailabilityZoneImpairmentPolicy" AutoScalingGroup where+  type PropertyType "AvailabilityZoneImpairmentPolicy" AutoScalingGroup = AvailabilityZoneImpairmentPolicyProperty+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup+        {availabilityZoneImpairmentPolicy = Prelude.pure newValue, ..}+instance Property "AvailabilityZones" AutoScalingGroup where+  type PropertyType "AvailabilityZones" AutoScalingGroup = ValueList Prelude.Text+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup {availabilityZones = Prelude.pure newValue, ..}+instance Property "CapacityRebalance" AutoScalingGroup where+  type PropertyType "CapacityRebalance" AutoScalingGroup = Value Prelude.Bool+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup {capacityRebalance = Prelude.pure newValue, ..}+instance Property "CapacityReservationSpecification" AutoScalingGroup where+  type PropertyType "CapacityReservationSpecification" AutoScalingGroup = CapacityReservationSpecificationProperty+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup+        {capacityReservationSpecification = Prelude.pure newValue, ..}+instance Property "Context" AutoScalingGroup where+  type PropertyType "Context" AutoScalingGroup = Value Prelude.Text+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup {context = Prelude.pure newValue, ..}+instance Property "Cooldown" AutoScalingGroup where+  type PropertyType "Cooldown" AutoScalingGroup = Value Prelude.Text+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup {cooldown = Prelude.pure newValue, ..}+instance Property "DefaultInstanceWarmup" AutoScalingGroup where+  type PropertyType "DefaultInstanceWarmup" AutoScalingGroup = Value Prelude.Integer+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup+        {defaultInstanceWarmup = Prelude.pure newValue, ..}+instance Property "DesiredCapacity" AutoScalingGroup where+  type PropertyType "DesiredCapacity" AutoScalingGroup = Value Prelude.Text+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup {desiredCapacity = Prelude.pure newValue, ..}+instance Property "DesiredCapacityType" AutoScalingGroup where+  type PropertyType "DesiredCapacityType" AutoScalingGroup = Value Prelude.Text+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup+        {desiredCapacityType = Prelude.pure newValue, ..}+instance Property "HealthCheckGracePeriod" AutoScalingGroup where+  type PropertyType "HealthCheckGracePeriod" AutoScalingGroup = Value Prelude.Integer+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup+        {healthCheckGracePeriod = Prelude.pure newValue, ..}+instance Property "HealthCheckType" AutoScalingGroup where+  type PropertyType "HealthCheckType" AutoScalingGroup = Value Prelude.Text+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup {healthCheckType = Prelude.pure newValue, ..}+instance Property "InstanceId" AutoScalingGroup where+  type PropertyType "InstanceId" AutoScalingGroup = Value Prelude.Text+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup {instanceId = Prelude.pure newValue, ..}+instance Property "InstanceMaintenancePolicy" AutoScalingGroup where+  type PropertyType "InstanceMaintenancePolicy" AutoScalingGroup = InstanceMaintenancePolicyProperty+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup+        {instanceMaintenancePolicy = Prelude.pure newValue, ..}+instance Property "LaunchConfigurationName" AutoScalingGroup where+  type PropertyType "LaunchConfigurationName" AutoScalingGroup = Value Prelude.Text+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup+        {launchConfigurationName = Prelude.pure newValue, ..}+instance Property "LaunchTemplate" AutoScalingGroup where+  type PropertyType "LaunchTemplate" AutoScalingGroup = LaunchTemplateSpecificationProperty+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup {launchTemplate = Prelude.pure newValue, ..}+instance Property "LifecycleHookSpecificationList" AutoScalingGroup where+  type PropertyType "LifecycleHookSpecificationList" AutoScalingGroup = [LifecycleHookSpecificationProperty]+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup+        {lifecycleHookSpecificationList = Prelude.pure newValue, ..}+instance Property "LoadBalancerNames" AutoScalingGroup where+  type PropertyType "LoadBalancerNames" AutoScalingGroup = ValueList Prelude.Text+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup {loadBalancerNames = Prelude.pure newValue, ..}+instance Property "MaxInstanceLifetime" AutoScalingGroup where+  type PropertyType "MaxInstanceLifetime" AutoScalingGroup = Value Prelude.Integer+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup+        {maxInstanceLifetime = Prelude.pure newValue, ..}+instance Property "MaxSize" AutoScalingGroup where+  type PropertyType "MaxSize" AutoScalingGroup = Value Prelude.Text+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup {maxSize = newValue, ..}+instance Property "MetricsCollection" AutoScalingGroup where+  type PropertyType "MetricsCollection" AutoScalingGroup = [MetricsCollectionProperty]+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup {metricsCollection = Prelude.pure newValue, ..}+instance Property "MinSize" AutoScalingGroup where+  type PropertyType "MinSize" AutoScalingGroup = Value Prelude.Text+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup {minSize = newValue, ..}+instance Property "MixedInstancesPolicy" AutoScalingGroup where+  type PropertyType "MixedInstancesPolicy" AutoScalingGroup = MixedInstancesPolicyProperty+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup+        {mixedInstancesPolicy = Prelude.pure newValue, ..}+instance Property "NewInstancesProtectedFromScaleIn" AutoScalingGroup where+  type PropertyType "NewInstancesProtectedFromScaleIn" AutoScalingGroup = Value Prelude.Bool+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup+        {newInstancesProtectedFromScaleIn = Prelude.pure newValue, ..}+instance Property "NotificationConfigurations" AutoScalingGroup where+  type PropertyType "NotificationConfigurations" AutoScalingGroup = [NotificationConfigurationProperty]+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup+        {notificationConfigurations = Prelude.pure newValue, ..}+instance Property "PlacementGroup" AutoScalingGroup where+  type PropertyType "PlacementGroup" AutoScalingGroup = Value Prelude.Text+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup {placementGroup = Prelude.pure newValue, ..}+instance Property "ServiceLinkedRoleARN" AutoScalingGroup where+  type PropertyType "ServiceLinkedRoleARN" AutoScalingGroup = Value Prelude.Text+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup+        {serviceLinkedRoleARN = Prelude.pure newValue, ..}+instance Property "SkipZonalShiftValidation" AutoScalingGroup where+  type PropertyType "SkipZonalShiftValidation" AutoScalingGroup = Value Prelude.Bool+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup+        {skipZonalShiftValidation = Prelude.pure newValue, ..}+instance Property "Tags" AutoScalingGroup where+  type PropertyType "Tags" AutoScalingGroup = [TagPropertyProperty]+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup {tags = Prelude.pure newValue, ..}+instance Property "TargetGroupARNs" AutoScalingGroup where+  type PropertyType "TargetGroupARNs" AutoScalingGroup = ValueList Prelude.Text+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup {targetGroupARNs = Prelude.pure newValue, ..}+instance Property "TerminationPolicies" AutoScalingGroup where+  type PropertyType "TerminationPolicies" AutoScalingGroup = ValueList Prelude.Text+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup+        {terminationPolicies = Prelude.pure newValue, ..}+instance Property "TrafficSources" AutoScalingGroup where+  type PropertyType "TrafficSources" AutoScalingGroup = [TrafficSourceIdentifierProperty]+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup {trafficSources = Prelude.pure newValue, ..}+instance Property "VPCZoneIdentifier" AutoScalingGroup where+  type PropertyType "VPCZoneIdentifier" AutoScalingGroup = ValueList Prelude.Text+  set newValue AutoScalingGroup {..}+    = AutoScalingGroup {vPCZoneIdentifier = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/AcceleratorCountRequestProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.AutoScaling.AutoScalingGroup.AcceleratorCountRequestProperty (+        AcceleratorCountRequestProperty(..),+        mkAcceleratorCountRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AcceleratorCountRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-acceleratorcountrequest.html>+    AcceleratorCountRequestProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-acceleratorcountrequest.html#cfn-autoscaling-autoscalinggroup-acceleratorcountrequest-max>+                                     max :: (Prelude.Maybe (Value Prelude.Integer)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-acceleratorcountrequest.html#cfn-autoscaling-autoscalinggroup-acceleratorcountrequest-min>+                                     min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAcceleratorCountRequestProperty ::+  AcceleratorCountRequestProperty+mkAcceleratorCountRequestProperty+  = AcceleratorCountRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties AcceleratorCountRequestProperty where+  toResourceProperties AcceleratorCountRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.AcceleratorCountRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON AcceleratorCountRequestProperty where+  toJSON AcceleratorCountRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" AcceleratorCountRequestProperty where+  type PropertyType "Max" AcceleratorCountRequestProperty = Value Prelude.Integer+  set newValue AcceleratorCountRequestProperty {..}+    = AcceleratorCountRequestProperty {max = Prelude.pure newValue, ..}+instance Property "Min" AcceleratorCountRequestProperty where+  type PropertyType "Min" AcceleratorCountRequestProperty = Value Prelude.Integer+  set newValue AcceleratorCountRequestProperty {..}+    = AcceleratorCountRequestProperty {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/AcceleratorCountRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.AcceleratorCountRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AcceleratorCountRequestProperty :: Prelude.Type+instance ToResourceProperties AcceleratorCountRequestProperty+instance Prelude.Eq AcceleratorCountRequestProperty+instance Prelude.Show AcceleratorCountRequestProperty+instance JSON.ToJSON AcceleratorCountRequestProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/AcceleratorTotalMemoryMiBRequestProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.AutoScaling.AutoScalingGroup.AcceleratorTotalMemoryMiBRequestProperty (+        AcceleratorTotalMemoryMiBRequestProperty(..),+        mkAcceleratorTotalMemoryMiBRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AcceleratorTotalMemoryMiBRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-acceleratortotalmemorymibrequest.html>+    AcceleratorTotalMemoryMiBRequestProperty {haddock_workaround_ :: (),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-acceleratortotalmemorymibrequest.html#cfn-autoscaling-autoscalinggroup-acceleratortotalmemorymibrequest-max>+                                              max :: (Prelude.Maybe (Value Prelude.Integer)),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-acceleratortotalmemorymibrequest.html#cfn-autoscaling-autoscalinggroup-acceleratortotalmemorymibrequest-min>+                                              min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAcceleratorTotalMemoryMiBRequestProperty ::+  AcceleratorTotalMemoryMiBRequestProperty+mkAcceleratorTotalMemoryMiBRequestProperty+  = AcceleratorTotalMemoryMiBRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties AcceleratorTotalMemoryMiBRequestProperty where+  toResourceProperties AcceleratorTotalMemoryMiBRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.AcceleratorTotalMemoryMiBRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON AcceleratorTotalMemoryMiBRequestProperty where+  toJSON AcceleratorTotalMemoryMiBRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" AcceleratorTotalMemoryMiBRequestProperty where+  type PropertyType "Max" AcceleratorTotalMemoryMiBRequestProperty = Value Prelude.Integer+  set newValue AcceleratorTotalMemoryMiBRequestProperty {..}+    = AcceleratorTotalMemoryMiBRequestProperty+        {max = Prelude.pure newValue, ..}+instance Property "Min" AcceleratorTotalMemoryMiBRequestProperty where+  type PropertyType "Min" AcceleratorTotalMemoryMiBRequestProperty = Value Prelude.Integer+  set newValue AcceleratorTotalMemoryMiBRequestProperty {..}+    = AcceleratorTotalMemoryMiBRequestProperty+        {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/AcceleratorTotalMemoryMiBRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.AcceleratorTotalMemoryMiBRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AcceleratorTotalMemoryMiBRequestProperty :: Prelude.Type+instance ToResourceProperties AcceleratorTotalMemoryMiBRequestProperty+instance Prelude.Eq AcceleratorTotalMemoryMiBRequestProperty+instance Prelude.Show AcceleratorTotalMemoryMiBRequestProperty+instance JSON.ToJSON AcceleratorTotalMemoryMiBRequestProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/AvailabilityZoneDistributionProperty.hs view
@@ -0,0 +1,42 @@+module Stratosphere.AutoScaling.AutoScalingGroup.AvailabilityZoneDistributionProperty (+        AvailabilityZoneDistributionProperty(..),+        mkAvailabilityZoneDistributionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AvailabilityZoneDistributionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-availabilityzonedistribution.html>+    AvailabilityZoneDistributionProperty {haddock_workaround_ :: (),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-availabilityzonedistribution.html#cfn-autoscaling-autoscalinggroup-availabilityzonedistribution-capacitydistributionstrategy>+                                          capacityDistributionStrategy :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAvailabilityZoneDistributionProperty ::+  AvailabilityZoneDistributionProperty+mkAvailabilityZoneDistributionProperty+  = AvailabilityZoneDistributionProperty+      {haddock_workaround_ = (),+       capacityDistributionStrategy = Prelude.Nothing}+instance ToResourceProperties AvailabilityZoneDistributionProperty where+  toResourceProperties AvailabilityZoneDistributionProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.AvailabilityZoneDistribution",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CapacityDistributionStrategy"+                              Prelude.<$> capacityDistributionStrategy])}+instance JSON.ToJSON AvailabilityZoneDistributionProperty where+  toJSON AvailabilityZoneDistributionProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CapacityDistributionStrategy"+                 Prelude.<$> capacityDistributionStrategy]))+instance Property "CapacityDistributionStrategy" AvailabilityZoneDistributionProperty where+  type PropertyType "CapacityDistributionStrategy" AvailabilityZoneDistributionProperty = Value Prelude.Text+  set newValue AvailabilityZoneDistributionProperty {..}+    = AvailabilityZoneDistributionProperty+        {capacityDistributionStrategy = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/AvailabilityZoneDistributionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.AvailabilityZoneDistributionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AvailabilityZoneDistributionProperty :: Prelude.Type+instance ToResourceProperties AvailabilityZoneDistributionProperty+instance Prelude.Eq AvailabilityZoneDistributionProperty+instance Prelude.Show AvailabilityZoneDistributionProperty+instance JSON.ToJSON AvailabilityZoneDistributionProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/AvailabilityZoneImpairmentPolicyProperty.hs view
@@ -0,0 +1,51 @@+module Stratosphere.AutoScaling.AutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty (+        AvailabilityZoneImpairmentPolicyProperty(..),+        mkAvailabilityZoneImpairmentPolicyProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AvailabilityZoneImpairmentPolicyProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-availabilityzoneimpairmentpolicy.html>+    AvailabilityZoneImpairmentPolicyProperty {haddock_workaround_ :: (),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-availabilityzoneimpairmentpolicy.html#cfn-autoscaling-autoscalinggroup-availabilityzoneimpairmentpolicy-impairedzonehealthcheckbehavior>+                                              impairedZoneHealthCheckBehavior :: (Value Prelude.Text),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-availabilityzoneimpairmentpolicy.html#cfn-autoscaling-autoscalinggroup-availabilityzoneimpairmentpolicy-zonalshiftenabled>+                                              zonalShiftEnabled :: (Value Prelude.Bool)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAvailabilityZoneImpairmentPolicyProperty ::+  Value Prelude.Text+  -> Value Prelude.Bool -> AvailabilityZoneImpairmentPolicyProperty+mkAvailabilityZoneImpairmentPolicyProperty+  impairedZoneHealthCheckBehavior+  zonalShiftEnabled+  = AvailabilityZoneImpairmentPolicyProperty+      {haddock_workaround_ = (),+       impairedZoneHealthCheckBehavior = impairedZoneHealthCheckBehavior,+       zonalShiftEnabled = zonalShiftEnabled}+instance ToResourceProperties AvailabilityZoneImpairmentPolicyProperty where+  toResourceProperties AvailabilityZoneImpairmentPolicyProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.AvailabilityZoneImpairmentPolicy",+         supportsTags = Prelude.False,+         properties = ["ImpairedZoneHealthCheckBehavior"+                         JSON..= impairedZoneHealthCheckBehavior,+                       "ZonalShiftEnabled" JSON..= zonalShiftEnabled]}+instance JSON.ToJSON AvailabilityZoneImpairmentPolicyProperty where+  toJSON AvailabilityZoneImpairmentPolicyProperty {..}+    = JSON.object+        ["ImpairedZoneHealthCheckBehavior"+           JSON..= impairedZoneHealthCheckBehavior,+         "ZonalShiftEnabled" JSON..= zonalShiftEnabled]+instance Property "ImpairedZoneHealthCheckBehavior" AvailabilityZoneImpairmentPolicyProperty where+  type PropertyType "ImpairedZoneHealthCheckBehavior" AvailabilityZoneImpairmentPolicyProperty = Value Prelude.Text+  set newValue AvailabilityZoneImpairmentPolicyProperty {..}+    = AvailabilityZoneImpairmentPolicyProperty+        {impairedZoneHealthCheckBehavior = newValue, ..}+instance Property "ZonalShiftEnabled" AvailabilityZoneImpairmentPolicyProperty where+  type PropertyType "ZonalShiftEnabled" AvailabilityZoneImpairmentPolicyProperty = Value Prelude.Bool+  set newValue AvailabilityZoneImpairmentPolicyProperty {..}+    = AvailabilityZoneImpairmentPolicyProperty+        {zonalShiftEnabled = newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/AvailabilityZoneImpairmentPolicyProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AvailabilityZoneImpairmentPolicyProperty :: Prelude.Type+instance ToResourceProperties AvailabilityZoneImpairmentPolicyProperty+instance Prelude.Eq AvailabilityZoneImpairmentPolicyProperty+instance Prelude.Show AvailabilityZoneImpairmentPolicyProperty+instance JSON.ToJSON AvailabilityZoneImpairmentPolicyProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/BaselineEbsBandwidthMbpsRequestProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.AutoScaling.AutoScalingGroup.BaselineEbsBandwidthMbpsRequestProperty (+        BaselineEbsBandwidthMbpsRequestProperty(..),+        mkBaselineEbsBandwidthMbpsRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data BaselineEbsBandwidthMbpsRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-baselineebsbandwidthmbpsrequest.html>+    BaselineEbsBandwidthMbpsRequestProperty {haddock_workaround_ :: (),+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-baselineebsbandwidthmbpsrequest.html#cfn-autoscaling-autoscalinggroup-baselineebsbandwidthmbpsrequest-max>+                                             max :: (Prelude.Maybe (Value Prelude.Integer)),+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-baselineebsbandwidthmbpsrequest.html#cfn-autoscaling-autoscalinggroup-baselineebsbandwidthmbpsrequest-min>+                                             min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBaselineEbsBandwidthMbpsRequestProperty ::+  BaselineEbsBandwidthMbpsRequestProperty+mkBaselineEbsBandwidthMbpsRequestProperty+  = BaselineEbsBandwidthMbpsRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties BaselineEbsBandwidthMbpsRequestProperty where+  toResourceProperties BaselineEbsBandwidthMbpsRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.BaselineEbsBandwidthMbpsRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON BaselineEbsBandwidthMbpsRequestProperty where+  toJSON BaselineEbsBandwidthMbpsRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" BaselineEbsBandwidthMbpsRequestProperty where+  type PropertyType "Max" BaselineEbsBandwidthMbpsRequestProperty = Value Prelude.Integer+  set newValue BaselineEbsBandwidthMbpsRequestProperty {..}+    = BaselineEbsBandwidthMbpsRequestProperty+        {max = Prelude.pure newValue, ..}+instance Property "Min" BaselineEbsBandwidthMbpsRequestProperty where+  type PropertyType "Min" BaselineEbsBandwidthMbpsRequestProperty = Value Prelude.Integer+  set newValue BaselineEbsBandwidthMbpsRequestProperty {..}+    = BaselineEbsBandwidthMbpsRequestProperty+        {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/BaselineEbsBandwidthMbpsRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.BaselineEbsBandwidthMbpsRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data BaselineEbsBandwidthMbpsRequestProperty :: Prelude.Type+instance ToResourceProperties BaselineEbsBandwidthMbpsRequestProperty+instance Prelude.Eq BaselineEbsBandwidthMbpsRequestProperty+instance Prelude.Show BaselineEbsBandwidthMbpsRequestProperty+instance JSON.ToJSON BaselineEbsBandwidthMbpsRequestProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/BaselinePerformanceFactorsRequestProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.AutoScaling.AutoScalingGroup.BaselinePerformanceFactorsRequestProperty (+        module Exports, BaselinePerformanceFactorsRequestProperty(..),+        mkBaselinePerformanceFactorsRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.CpuPerformanceFactorRequestProperty as Exports+import Stratosphere.ResourceProperties+data BaselinePerformanceFactorsRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-baselineperformancefactorsrequest.html>+    BaselinePerformanceFactorsRequestProperty {haddock_workaround_ :: (),+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-baselineperformancefactorsrequest.html#cfn-autoscaling-autoscalinggroup-baselineperformancefactorsrequest-cpu>+                                               cpu :: (Prelude.Maybe CpuPerformanceFactorRequestProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBaselinePerformanceFactorsRequestProperty ::+  BaselinePerformanceFactorsRequestProperty+mkBaselinePerformanceFactorsRequestProperty+  = BaselinePerformanceFactorsRequestProperty+      {haddock_workaround_ = (), cpu = Prelude.Nothing}+instance ToResourceProperties BaselinePerformanceFactorsRequestProperty where+  toResourceProperties BaselinePerformanceFactorsRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.BaselinePerformanceFactorsRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Cpu" Prelude.<$> cpu])}+instance JSON.ToJSON BaselinePerformanceFactorsRequestProperty where+  toJSON BaselinePerformanceFactorsRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Cpu" Prelude.<$> cpu]))+instance Property "Cpu" BaselinePerformanceFactorsRequestProperty where+  type PropertyType "Cpu" BaselinePerformanceFactorsRequestProperty = CpuPerformanceFactorRequestProperty+  set newValue BaselinePerformanceFactorsRequestProperty {..}+    = BaselinePerformanceFactorsRequestProperty+        {cpu = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/BaselinePerformanceFactorsRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.BaselinePerformanceFactorsRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data BaselinePerformanceFactorsRequestProperty :: Prelude.Type+instance ToResourceProperties BaselinePerformanceFactorsRequestProperty+instance Prelude.Eq BaselinePerformanceFactorsRequestProperty+instance Prelude.Show BaselinePerformanceFactorsRequestProperty+instance JSON.ToJSON BaselinePerformanceFactorsRequestProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/CapacityReservationSpecificationProperty.hs view
@@ -0,0 +1,58 @@+module Stratosphere.AutoScaling.AutoScalingGroup.CapacityReservationSpecificationProperty (+        module Exports, CapacityReservationSpecificationProperty(..),+        mkCapacityReservationSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.CapacityReservationTargetProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CapacityReservationSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-capacityreservationspecification.html>+    CapacityReservationSpecificationProperty {haddock_workaround_ :: (),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-capacityreservationspecification.html#cfn-autoscaling-autoscalinggroup-capacityreservationspecification-capacityreservationpreference>+                                              capacityReservationPreference :: (Value Prelude.Text),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-capacityreservationspecification.html#cfn-autoscaling-autoscalinggroup-capacityreservationspecification-capacityreservationtarget>+                                              capacityReservationTarget :: (Prelude.Maybe CapacityReservationTargetProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCapacityReservationSpecificationProperty ::+  Value Prelude.Text -> CapacityReservationSpecificationProperty+mkCapacityReservationSpecificationProperty+  capacityReservationPreference+  = CapacityReservationSpecificationProperty+      {haddock_workaround_ = (),+       capacityReservationPreference = capacityReservationPreference,+       capacityReservationTarget = Prelude.Nothing}+instance ToResourceProperties CapacityReservationSpecificationProperty where+  toResourceProperties CapacityReservationSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.CapacityReservationSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["CapacityReservationPreference"+                              JSON..= capacityReservationPreference]+                           (Prelude.catMaybes+                              [(JSON..=) "CapacityReservationTarget"+                                 Prelude.<$> capacityReservationTarget]))}+instance JSON.ToJSON CapacityReservationSpecificationProperty where+  toJSON CapacityReservationSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["CapacityReservationPreference"+                 JSON..= capacityReservationPreference]+              (Prelude.catMaybes+                 [(JSON..=) "CapacityReservationTarget"+                    Prelude.<$> capacityReservationTarget])))+instance Property "CapacityReservationPreference" CapacityReservationSpecificationProperty where+  type PropertyType "CapacityReservationPreference" CapacityReservationSpecificationProperty = Value Prelude.Text+  set newValue CapacityReservationSpecificationProperty {..}+    = CapacityReservationSpecificationProperty+        {capacityReservationPreference = newValue, ..}+instance Property "CapacityReservationTarget" CapacityReservationSpecificationProperty where+  type PropertyType "CapacityReservationTarget" CapacityReservationSpecificationProperty = CapacityReservationTargetProperty+  set newValue CapacityReservationSpecificationProperty {..}+    = CapacityReservationSpecificationProperty+        {capacityReservationTarget = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/CapacityReservationSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.CapacityReservationSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CapacityReservationSpecificationProperty :: Prelude.Type+instance ToResourceProperties CapacityReservationSpecificationProperty+instance Prelude.Eq CapacityReservationSpecificationProperty+instance Prelude.Show CapacityReservationSpecificationProperty+instance JSON.ToJSON CapacityReservationSpecificationProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/CapacityReservationTargetProperty.hs view
@@ -0,0 +1,54 @@+module Stratosphere.AutoScaling.AutoScalingGroup.CapacityReservationTargetProperty (+        CapacityReservationTargetProperty(..),+        mkCapacityReservationTargetProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CapacityReservationTargetProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-capacityreservationtarget.html>+    CapacityReservationTargetProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-capacityreservationtarget.html#cfn-autoscaling-autoscalinggroup-capacityreservationtarget-capacityreservationids>+                                       capacityReservationIds :: (Prelude.Maybe (ValueList Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-capacityreservationtarget.html#cfn-autoscaling-autoscalinggroup-capacityreservationtarget-capacityreservationresourcegrouparns>+                                       capacityReservationResourceGroupArns :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCapacityReservationTargetProperty ::+  CapacityReservationTargetProperty+mkCapacityReservationTargetProperty+  = CapacityReservationTargetProperty+      {haddock_workaround_ = (),+       capacityReservationIds = Prelude.Nothing,+       capacityReservationResourceGroupArns = Prelude.Nothing}+instance ToResourceProperties CapacityReservationTargetProperty where+  toResourceProperties CapacityReservationTargetProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.CapacityReservationTarget",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CapacityReservationIds"+                              Prelude.<$> capacityReservationIds,+                            (JSON..=) "CapacityReservationResourceGroupArns"+                              Prelude.<$> capacityReservationResourceGroupArns])}+instance JSON.ToJSON CapacityReservationTargetProperty where+  toJSON CapacityReservationTargetProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CapacityReservationIds"+                 Prelude.<$> capacityReservationIds,+               (JSON..=) "CapacityReservationResourceGroupArns"+                 Prelude.<$> capacityReservationResourceGroupArns]))+instance Property "CapacityReservationIds" CapacityReservationTargetProperty where+  type PropertyType "CapacityReservationIds" CapacityReservationTargetProperty = ValueList Prelude.Text+  set newValue CapacityReservationTargetProperty {..}+    = CapacityReservationTargetProperty+        {capacityReservationIds = Prelude.pure newValue, ..}+instance Property "CapacityReservationResourceGroupArns" CapacityReservationTargetProperty where+  type PropertyType "CapacityReservationResourceGroupArns" CapacityReservationTargetProperty = ValueList Prelude.Text+  set newValue CapacityReservationTargetProperty {..}+    = CapacityReservationTargetProperty+        {capacityReservationResourceGroupArns = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/CapacityReservationTargetProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.CapacityReservationTargetProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CapacityReservationTargetProperty :: Prelude.Type+instance ToResourceProperties CapacityReservationTargetProperty+instance Prelude.Eq CapacityReservationTargetProperty+instance Prelude.Show CapacityReservationTargetProperty+instance JSON.ToJSON CapacityReservationTargetProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/CpuPerformanceFactorRequestProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.AutoScaling.AutoScalingGroup.CpuPerformanceFactorRequestProperty (+        module Exports, CpuPerformanceFactorRequestProperty(..),+        mkCpuPerformanceFactorRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.PerformanceFactorReferenceRequestProperty as Exports+import Stratosphere.ResourceProperties+data CpuPerformanceFactorRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-cpuperformancefactorrequest.html>+    CpuPerformanceFactorRequestProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-cpuperformancefactorrequest.html#cfn-autoscaling-autoscalinggroup-cpuperformancefactorrequest-references>+                                         references :: (Prelude.Maybe [PerformanceFactorReferenceRequestProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCpuPerformanceFactorRequestProperty ::+  CpuPerformanceFactorRequestProperty+mkCpuPerformanceFactorRequestProperty+  = CpuPerformanceFactorRequestProperty+      {haddock_workaround_ = (), references = Prelude.Nothing}+instance ToResourceProperties CpuPerformanceFactorRequestProperty where+  toResourceProperties CpuPerformanceFactorRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.CpuPerformanceFactorRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "References" Prelude.<$> references])}+instance JSON.ToJSON CpuPerformanceFactorRequestProperty where+  toJSON CpuPerformanceFactorRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "References" Prelude.<$> references]))+instance Property "References" CpuPerformanceFactorRequestProperty where+  type PropertyType "References" CpuPerformanceFactorRequestProperty = [PerformanceFactorReferenceRequestProperty]+  set newValue CpuPerformanceFactorRequestProperty {..}+    = CpuPerformanceFactorRequestProperty+        {references = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/CpuPerformanceFactorRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.CpuPerformanceFactorRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CpuPerformanceFactorRequestProperty :: Prelude.Type+instance ToResourceProperties CpuPerformanceFactorRequestProperty+instance Prelude.Eq CpuPerformanceFactorRequestProperty+instance Prelude.Show CpuPerformanceFactorRequestProperty+instance JSON.ToJSON CpuPerformanceFactorRequestProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/InstanceMaintenancePolicyProperty.hs view
@@ -0,0 +1,51 @@+module Stratosphere.AutoScaling.AutoScalingGroup.InstanceMaintenancePolicyProperty (+        InstanceMaintenancePolicyProperty(..),+        mkInstanceMaintenancePolicyProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data InstanceMaintenancePolicyProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancemaintenancepolicy.html>+    InstanceMaintenancePolicyProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancemaintenancepolicy.html#cfn-autoscaling-autoscalinggroup-instancemaintenancepolicy-maxhealthypercentage>+                                       maxHealthyPercentage :: (Prelude.Maybe (Value Prelude.Integer)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancemaintenancepolicy.html#cfn-autoscaling-autoscalinggroup-instancemaintenancepolicy-minhealthypercentage>+                                       minHealthyPercentage :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkInstanceMaintenancePolicyProperty ::+  InstanceMaintenancePolicyProperty+mkInstanceMaintenancePolicyProperty+  = InstanceMaintenancePolicyProperty+      {haddock_workaround_ = (), maxHealthyPercentage = Prelude.Nothing,+       minHealthyPercentage = Prelude.Nothing}+instance ToResourceProperties InstanceMaintenancePolicyProperty where+  toResourceProperties InstanceMaintenancePolicyProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.InstanceMaintenancePolicy",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "MaxHealthyPercentage" Prelude.<$> maxHealthyPercentage,+                            (JSON..=) "MinHealthyPercentage"+                              Prelude.<$> minHealthyPercentage])}+instance JSON.ToJSON InstanceMaintenancePolicyProperty where+  toJSON InstanceMaintenancePolicyProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "MaxHealthyPercentage" Prelude.<$> maxHealthyPercentage,+               (JSON..=) "MinHealthyPercentage"+                 Prelude.<$> minHealthyPercentage]))+instance Property "MaxHealthyPercentage" InstanceMaintenancePolicyProperty where+  type PropertyType "MaxHealthyPercentage" InstanceMaintenancePolicyProperty = Value Prelude.Integer+  set newValue InstanceMaintenancePolicyProperty {..}+    = InstanceMaintenancePolicyProperty+        {maxHealthyPercentage = Prelude.pure newValue, ..}+instance Property "MinHealthyPercentage" InstanceMaintenancePolicyProperty where+  type PropertyType "MinHealthyPercentage" InstanceMaintenancePolicyProperty = Value Prelude.Integer+  set newValue InstanceMaintenancePolicyProperty {..}+    = InstanceMaintenancePolicyProperty+        {minHealthyPercentage = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/InstanceMaintenancePolicyProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.InstanceMaintenancePolicyProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data InstanceMaintenancePolicyProperty :: Prelude.Type+instance ToResourceProperties InstanceMaintenancePolicyProperty+instance Prelude.Eq InstanceMaintenancePolicyProperty+instance Prelude.Show InstanceMaintenancePolicyProperty+instance JSON.ToJSON InstanceMaintenancePolicyProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/InstanceRequirementsProperty.hs view
@@ -0,0 +1,310 @@+module Stratosphere.AutoScaling.AutoScalingGroup.InstanceRequirementsProperty (+        module Exports, InstanceRequirementsProperty(..),+        mkInstanceRequirementsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.AcceleratorCountRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.AcceleratorTotalMemoryMiBRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.BaselineEbsBandwidthMbpsRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.BaselinePerformanceFactorsRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.MemoryGiBPerVCpuRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.MemoryMiBRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.NetworkBandwidthGbpsRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.NetworkInterfaceCountRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.TotalLocalStorageGBRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.VCpuCountRequestProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data InstanceRequirementsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html>+    InstanceRequirementsProperty {haddock_workaround_ :: (),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-acceleratorcount>+                                  acceleratorCount :: (Prelude.Maybe AcceleratorCountRequestProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-acceleratormanufacturers>+                                  acceleratorManufacturers :: (Prelude.Maybe (ValueList Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-acceleratornames>+                                  acceleratorNames :: (Prelude.Maybe (ValueList Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-acceleratortotalmemorymib>+                                  acceleratorTotalMemoryMiB :: (Prelude.Maybe AcceleratorTotalMemoryMiBRequestProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-acceleratortypes>+                                  acceleratorTypes :: (Prelude.Maybe (ValueList Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-allowedinstancetypes>+                                  allowedInstanceTypes :: (Prelude.Maybe (ValueList Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-baremetal>+                                  bareMetal :: (Prelude.Maybe (Value Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-baselineebsbandwidthmbps>+                                  baselineEbsBandwidthMbps :: (Prelude.Maybe BaselineEbsBandwidthMbpsRequestProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-baselineperformancefactors>+                                  baselinePerformanceFactors :: (Prelude.Maybe BaselinePerformanceFactorsRequestProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-burstableperformance>+                                  burstablePerformance :: (Prelude.Maybe (Value Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-cpumanufacturers>+                                  cpuManufacturers :: (Prelude.Maybe (ValueList Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-excludedinstancetypes>+                                  excludedInstanceTypes :: (Prelude.Maybe (ValueList Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-instancegenerations>+                                  instanceGenerations :: (Prelude.Maybe (ValueList Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-localstorage>+                                  localStorage :: (Prelude.Maybe (Value Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-localstoragetypes>+                                  localStorageTypes :: (Prelude.Maybe (ValueList Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-maxspotpriceaspercentageofoptimalondemandprice>+                                  maxSpotPriceAsPercentageOfOptimalOnDemandPrice :: (Prelude.Maybe (Value Prelude.Integer)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-memorygibpervcpu>+                                  memoryGiBPerVCpu :: (Prelude.Maybe MemoryGiBPerVCpuRequestProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-memorymib>+                                  memoryMiB :: MemoryMiBRequestProperty,+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-networkbandwidthgbps>+                                  networkBandwidthGbps :: (Prelude.Maybe NetworkBandwidthGbpsRequestProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-networkinterfacecount>+                                  networkInterfaceCount :: (Prelude.Maybe NetworkInterfaceCountRequestProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-ondemandmaxpricepercentageoverlowestprice>+                                  onDemandMaxPricePercentageOverLowestPrice :: (Prelude.Maybe (Value Prelude.Integer)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-requirehibernatesupport>+                                  requireHibernateSupport :: (Prelude.Maybe (Value Prelude.Bool)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-spotmaxpricepercentageoverlowestprice>+                                  spotMaxPricePercentageOverLowestPrice :: (Prelude.Maybe (Value Prelude.Integer)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-totallocalstoragegb>+                                  totalLocalStorageGB :: (Prelude.Maybe TotalLocalStorageGBRequestProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancerequirements.html#cfn-autoscaling-autoscalinggroup-instancerequirements-vcpucount>+                                  vCpuCount :: VCpuCountRequestProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkInstanceRequirementsProperty ::+  MemoryMiBRequestProperty+  -> VCpuCountRequestProperty -> InstanceRequirementsProperty+mkInstanceRequirementsProperty memoryMiB vCpuCount+  = InstanceRequirementsProperty+      {haddock_workaround_ = (), memoryMiB = memoryMiB,+       vCpuCount = vCpuCount, acceleratorCount = Prelude.Nothing,+       acceleratorManufacturers = Prelude.Nothing,+       acceleratorNames = Prelude.Nothing,+       acceleratorTotalMemoryMiB = Prelude.Nothing,+       acceleratorTypes = Prelude.Nothing,+       allowedInstanceTypes = Prelude.Nothing,+       bareMetal = Prelude.Nothing,+       baselineEbsBandwidthMbps = Prelude.Nothing,+       baselinePerformanceFactors = Prelude.Nothing,+       burstablePerformance = Prelude.Nothing,+       cpuManufacturers = Prelude.Nothing,+       excludedInstanceTypes = Prelude.Nothing,+       instanceGenerations = Prelude.Nothing,+       localStorage = Prelude.Nothing,+       localStorageTypes = Prelude.Nothing,+       maxSpotPriceAsPercentageOfOptimalOnDemandPrice = Prelude.Nothing,+       memoryGiBPerVCpu = Prelude.Nothing,+       networkBandwidthGbps = Prelude.Nothing,+       networkInterfaceCount = Prelude.Nothing,+       onDemandMaxPricePercentageOverLowestPrice = Prelude.Nothing,+       requireHibernateSupport = Prelude.Nothing,+       spotMaxPricePercentageOverLowestPrice = Prelude.Nothing,+       totalLocalStorageGB = Prelude.Nothing}+instance ToResourceProperties InstanceRequirementsProperty where+  toResourceProperties InstanceRequirementsProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.InstanceRequirements",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["MemoryMiB" JSON..= memoryMiB, "VCpuCount" JSON..= vCpuCount]+                           (Prelude.catMaybes+                              [(JSON..=) "AcceleratorCount" Prelude.<$> acceleratorCount,+                               (JSON..=) "AcceleratorManufacturers"+                                 Prelude.<$> acceleratorManufacturers,+                               (JSON..=) "AcceleratorNames" Prelude.<$> acceleratorNames,+                               (JSON..=) "AcceleratorTotalMemoryMiB"+                                 Prelude.<$> acceleratorTotalMemoryMiB,+                               (JSON..=) "AcceleratorTypes" Prelude.<$> acceleratorTypes,+                               (JSON..=) "AllowedInstanceTypes" Prelude.<$> allowedInstanceTypes,+                               (JSON..=) "BareMetal" Prelude.<$> bareMetal,+                               (JSON..=) "BaselineEbsBandwidthMbps"+                                 Prelude.<$> baselineEbsBandwidthMbps,+                               (JSON..=) "BaselinePerformanceFactors"+                                 Prelude.<$> baselinePerformanceFactors,+                               (JSON..=) "BurstablePerformance" Prelude.<$> burstablePerformance,+                               (JSON..=) "CpuManufacturers" Prelude.<$> cpuManufacturers,+                               (JSON..=) "ExcludedInstanceTypes"+                                 Prelude.<$> excludedInstanceTypes,+                               (JSON..=) "InstanceGenerations" Prelude.<$> instanceGenerations,+                               (JSON..=) "LocalStorage" Prelude.<$> localStorage,+                               (JSON..=) "LocalStorageTypes" Prelude.<$> localStorageTypes,+                               (JSON..=) "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice"+                                 Prelude.<$> maxSpotPriceAsPercentageOfOptimalOnDemandPrice,+                               (JSON..=) "MemoryGiBPerVCpu" Prelude.<$> memoryGiBPerVCpu,+                               (JSON..=) "NetworkBandwidthGbps" Prelude.<$> networkBandwidthGbps,+                               (JSON..=) "NetworkInterfaceCount"+                                 Prelude.<$> networkInterfaceCount,+                               (JSON..=) "OnDemandMaxPricePercentageOverLowestPrice"+                                 Prelude.<$> onDemandMaxPricePercentageOverLowestPrice,+                               (JSON..=) "RequireHibernateSupport"+                                 Prelude.<$> requireHibernateSupport,+                               (JSON..=) "SpotMaxPricePercentageOverLowestPrice"+                                 Prelude.<$> spotMaxPricePercentageOverLowestPrice,+                               (JSON..=) "TotalLocalStorageGB" Prelude.<$> totalLocalStorageGB]))}+instance JSON.ToJSON InstanceRequirementsProperty where+  toJSON InstanceRequirementsProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["MemoryMiB" JSON..= memoryMiB, "VCpuCount" JSON..= vCpuCount]+              (Prelude.catMaybes+                 [(JSON..=) "AcceleratorCount" Prelude.<$> acceleratorCount,+                  (JSON..=) "AcceleratorManufacturers"+                    Prelude.<$> acceleratorManufacturers,+                  (JSON..=) "AcceleratorNames" Prelude.<$> acceleratorNames,+                  (JSON..=) "AcceleratorTotalMemoryMiB"+                    Prelude.<$> acceleratorTotalMemoryMiB,+                  (JSON..=) "AcceleratorTypes" Prelude.<$> acceleratorTypes,+                  (JSON..=) "AllowedInstanceTypes" Prelude.<$> allowedInstanceTypes,+                  (JSON..=) "BareMetal" Prelude.<$> bareMetal,+                  (JSON..=) "BaselineEbsBandwidthMbps"+                    Prelude.<$> baselineEbsBandwidthMbps,+                  (JSON..=) "BaselinePerformanceFactors"+                    Prelude.<$> baselinePerformanceFactors,+                  (JSON..=) "BurstablePerformance" Prelude.<$> burstablePerformance,+                  (JSON..=) "CpuManufacturers" Prelude.<$> cpuManufacturers,+                  (JSON..=) "ExcludedInstanceTypes"+                    Prelude.<$> excludedInstanceTypes,+                  (JSON..=) "InstanceGenerations" Prelude.<$> instanceGenerations,+                  (JSON..=) "LocalStorage" Prelude.<$> localStorage,+                  (JSON..=) "LocalStorageTypes" Prelude.<$> localStorageTypes,+                  (JSON..=) "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice"+                    Prelude.<$> maxSpotPriceAsPercentageOfOptimalOnDemandPrice,+                  (JSON..=) "MemoryGiBPerVCpu" Prelude.<$> memoryGiBPerVCpu,+                  (JSON..=) "NetworkBandwidthGbps" Prelude.<$> networkBandwidthGbps,+                  (JSON..=) "NetworkInterfaceCount"+                    Prelude.<$> networkInterfaceCount,+                  (JSON..=) "OnDemandMaxPricePercentageOverLowestPrice"+                    Prelude.<$> onDemandMaxPricePercentageOverLowestPrice,+                  (JSON..=) "RequireHibernateSupport"+                    Prelude.<$> requireHibernateSupport,+                  (JSON..=) "SpotMaxPricePercentageOverLowestPrice"+                    Prelude.<$> spotMaxPricePercentageOverLowestPrice,+                  (JSON..=) "TotalLocalStorageGB" Prelude.<$> totalLocalStorageGB])))+instance Property "AcceleratorCount" InstanceRequirementsProperty where+  type PropertyType "AcceleratorCount" InstanceRequirementsProperty = AcceleratorCountRequestProperty+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {acceleratorCount = Prelude.pure newValue, ..}+instance Property "AcceleratorManufacturers" InstanceRequirementsProperty where+  type PropertyType "AcceleratorManufacturers" InstanceRequirementsProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {acceleratorManufacturers = Prelude.pure newValue, ..}+instance Property "AcceleratorNames" InstanceRequirementsProperty where+  type PropertyType "AcceleratorNames" InstanceRequirementsProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {acceleratorNames = Prelude.pure newValue, ..}+instance Property "AcceleratorTotalMemoryMiB" InstanceRequirementsProperty where+  type PropertyType "AcceleratorTotalMemoryMiB" InstanceRequirementsProperty = AcceleratorTotalMemoryMiBRequestProperty+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {acceleratorTotalMemoryMiB = Prelude.pure newValue, ..}+instance Property "AcceleratorTypes" InstanceRequirementsProperty where+  type PropertyType "AcceleratorTypes" InstanceRequirementsProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {acceleratorTypes = Prelude.pure newValue, ..}+instance Property "AllowedInstanceTypes" InstanceRequirementsProperty where+  type PropertyType "AllowedInstanceTypes" InstanceRequirementsProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {allowedInstanceTypes = Prelude.pure newValue, ..}+instance Property "BareMetal" InstanceRequirementsProperty where+  type PropertyType "BareMetal" InstanceRequirementsProperty = Value Prelude.Text+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {bareMetal = Prelude.pure newValue, ..}+instance Property "BaselineEbsBandwidthMbps" InstanceRequirementsProperty where+  type PropertyType "BaselineEbsBandwidthMbps" InstanceRequirementsProperty = BaselineEbsBandwidthMbpsRequestProperty+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {baselineEbsBandwidthMbps = Prelude.pure newValue, ..}+instance Property "BaselinePerformanceFactors" InstanceRequirementsProperty where+  type PropertyType "BaselinePerformanceFactors" InstanceRequirementsProperty = BaselinePerformanceFactorsRequestProperty+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {baselinePerformanceFactors = Prelude.pure newValue, ..}+instance Property "BurstablePerformance" InstanceRequirementsProperty where+  type PropertyType "BurstablePerformance" InstanceRequirementsProperty = Value Prelude.Text+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {burstablePerformance = Prelude.pure newValue, ..}+instance Property "CpuManufacturers" InstanceRequirementsProperty where+  type PropertyType "CpuManufacturers" InstanceRequirementsProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {cpuManufacturers = Prelude.pure newValue, ..}+instance Property "ExcludedInstanceTypes" InstanceRequirementsProperty where+  type PropertyType "ExcludedInstanceTypes" InstanceRequirementsProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {excludedInstanceTypes = Prelude.pure newValue, ..}+instance Property "InstanceGenerations" InstanceRequirementsProperty where+  type PropertyType "InstanceGenerations" InstanceRequirementsProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {instanceGenerations = Prelude.pure newValue, ..}+instance Property "LocalStorage" InstanceRequirementsProperty where+  type PropertyType "LocalStorage" InstanceRequirementsProperty = Value Prelude.Text+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {localStorage = Prelude.pure newValue, ..}+instance Property "LocalStorageTypes" InstanceRequirementsProperty where+  type PropertyType "LocalStorageTypes" InstanceRequirementsProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {localStorageTypes = Prelude.pure newValue, ..}+instance Property "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice" InstanceRequirementsProperty where+  type PropertyType "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice" InstanceRequirementsProperty = Value Prelude.Integer+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {maxSpotPriceAsPercentageOfOptimalOnDemandPrice = Prelude.pure+                                                            newValue,+         ..}+instance Property "MemoryGiBPerVCpu" InstanceRequirementsProperty where+  type PropertyType "MemoryGiBPerVCpu" InstanceRequirementsProperty = MemoryGiBPerVCpuRequestProperty+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {memoryGiBPerVCpu = Prelude.pure newValue, ..}+instance Property "MemoryMiB" InstanceRequirementsProperty where+  type PropertyType "MemoryMiB" InstanceRequirementsProperty = MemoryMiBRequestProperty+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty {memoryMiB = newValue, ..}+instance Property "NetworkBandwidthGbps" InstanceRequirementsProperty where+  type PropertyType "NetworkBandwidthGbps" InstanceRequirementsProperty = NetworkBandwidthGbpsRequestProperty+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {networkBandwidthGbps = Prelude.pure newValue, ..}+instance Property "NetworkInterfaceCount" InstanceRequirementsProperty where+  type PropertyType "NetworkInterfaceCount" InstanceRequirementsProperty = NetworkInterfaceCountRequestProperty+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {networkInterfaceCount = Prelude.pure newValue, ..}+instance Property "OnDemandMaxPricePercentageOverLowestPrice" InstanceRequirementsProperty where+  type PropertyType "OnDemandMaxPricePercentageOverLowestPrice" InstanceRequirementsProperty = Value Prelude.Integer+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {onDemandMaxPricePercentageOverLowestPrice = Prelude.pure newValue,+         ..}+instance Property "RequireHibernateSupport" InstanceRequirementsProperty where+  type PropertyType "RequireHibernateSupport" InstanceRequirementsProperty = Value Prelude.Bool+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {requireHibernateSupport = Prelude.pure newValue, ..}+instance Property "SpotMaxPricePercentageOverLowestPrice" InstanceRequirementsProperty where+  type PropertyType "SpotMaxPricePercentageOverLowestPrice" InstanceRequirementsProperty = Value Prelude.Integer+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {spotMaxPricePercentageOverLowestPrice = Prelude.pure newValue, ..}+instance Property "TotalLocalStorageGB" InstanceRequirementsProperty where+  type PropertyType "TotalLocalStorageGB" InstanceRequirementsProperty = TotalLocalStorageGBRequestProperty+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {totalLocalStorageGB = Prelude.pure newValue, ..}+instance Property "VCpuCount" InstanceRequirementsProperty where+  type PropertyType "VCpuCount" InstanceRequirementsProperty = VCpuCountRequestProperty+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty {vCpuCount = newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/InstanceRequirementsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.InstanceRequirementsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data InstanceRequirementsProperty :: Prelude.Type+instance ToResourceProperties InstanceRequirementsProperty+instance Prelude.Eq InstanceRequirementsProperty+instance Prelude.Show InstanceRequirementsProperty+instance JSON.ToJSON InstanceRequirementsProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/InstancesDistributionProperty.hs view
@@ -0,0 +1,94 @@+module Stratosphere.AutoScaling.AutoScalingGroup.InstancesDistributionProperty (+        InstancesDistributionProperty(..), mkInstancesDistributionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data InstancesDistributionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancesdistribution.html>+    InstancesDistributionProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-ondemandallocationstrategy>+                                   onDemandAllocationStrategy :: (Prelude.Maybe (Value Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-ondemandbasecapacity>+                                   onDemandBaseCapacity :: (Prelude.Maybe (Value Prelude.Integer)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-ondemandpercentageabovebasecapacity>+                                   onDemandPercentageAboveBaseCapacity :: (Prelude.Maybe (Value Prelude.Integer)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-spotallocationstrategy>+                                   spotAllocationStrategy :: (Prelude.Maybe (Value Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-spotinstancepools>+                                   spotInstancePools :: (Prelude.Maybe (Value Prelude.Integer)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-spotmaxprice>+                                   spotMaxPrice :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkInstancesDistributionProperty :: InstancesDistributionProperty+mkInstancesDistributionProperty+  = InstancesDistributionProperty+      {haddock_workaround_ = (),+       onDemandAllocationStrategy = Prelude.Nothing,+       onDemandBaseCapacity = Prelude.Nothing,+       onDemandPercentageAboveBaseCapacity = Prelude.Nothing,+       spotAllocationStrategy = Prelude.Nothing,+       spotInstancePools = Prelude.Nothing,+       spotMaxPrice = Prelude.Nothing}+instance ToResourceProperties InstancesDistributionProperty where+  toResourceProperties InstancesDistributionProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.InstancesDistribution",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "OnDemandAllocationStrategy"+                              Prelude.<$> onDemandAllocationStrategy,+                            (JSON..=) "OnDemandBaseCapacity" Prelude.<$> onDemandBaseCapacity,+                            (JSON..=) "OnDemandPercentageAboveBaseCapacity"+                              Prelude.<$> onDemandPercentageAboveBaseCapacity,+                            (JSON..=) "SpotAllocationStrategy"+                              Prelude.<$> spotAllocationStrategy,+                            (JSON..=) "SpotInstancePools" Prelude.<$> spotInstancePools,+                            (JSON..=) "SpotMaxPrice" Prelude.<$> spotMaxPrice])}+instance JSON.ToJSON InstancesDistributionProperty where+  toJSON InstancesDistributionProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "OnDemandAllocationStrategy"+                 Prelude.<$> onDemandAllocationStrategy,+               (JSON..=) "OnDemandBaseCapacity" Prelude.<$> onDemandBaseCapacity,+               (JSON..=) "OnDemandPercentageAboveBaseCapacity"+                 Prelude.<$> onDemandPercentageAboveBaseCapacity,+               (JSON..=) "SpotAllocationStrategy"+                 Prelude.<$> spotAllocationStrategy,+               (JSON..=) "SpotInstancePools" Prelude.<$> spotInstancePools,+               (JSON..=) "SpotMaxPrice" Prelude.<$> spotMaxPrice]))+instance Property "OnDemandAllocationStrategy" InstancesDistributionProperty where+  type PropertyType "OnDemandAllocationStrategy" InstancesDistributionProperty = Value Prelude.Text+  set newValue InstancesDistributionProperty {..}+    = InstancesDistributionProperty+        {onDemandAllocationStrategy = Prelude.pure newValue, ..}+instance Property "OnDemandBaseCapacity" InstancesDistributionProperty where+  type PropertyType "OnDemandBaseCapacity" InstancesDistributionProperty = Value Prelude.Integer+  set newValue InstancesDistributionProperty {..}+    = InstancesDistributionProperty+        {onDemandBaseCapacity = Prelude.pure newValue, ..}+instance Property "OnDemandPercentageAboveBaseCapacity" InstancesDistributionProperty where+  type PropertyType "OnDemandPercentageAboveBaseCapacity" InstancesDistributionProperty = Value Prelude.Integer+  set newValue InstancesDistributionProperty {..}+    = InstancesDistributionProperty+        {onDemandPercentageAboveBaseCapacity = Prelude.pure newValue, ..}+instance Property "SpotAllocationStrategy" InstancesDistributionProperty where+  type PropertyType "SpotAllocationStrategy" InstancesDistributionProperty = Value Prelude.Text+  set newValue InstancesDistributionProperty {..}+    = InstancesDistributionProperty+        {spotAllocationStrategy = Prelude.pure newValue, ..}+instance Property "SpotInstancePools" InstancesDistributionProperty where+  type PropertyType "SpotInstancePools" InstancesDistributionProperty = Value Prelude.Integer+  set newValue InstancesDistributionProperty {..}+    = InstancesDistributionProperty+        {spotInstancePools = Prelude.pure newValue, ..}+instance Property "SpotMaxPrice" InstancesDistributionProperty where+  type PropertyType "SpotMaxPrice" InstancesDistributionProperty = Value Prelude.Text+  set newValue InstancesDistributionProperty {..}+    = InstancesDistributionProperty+        {spotMaxPrice = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/InstancesDistributionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.InstancesDistributionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data InstancesDistributionProperty :: Prelude.Type+instance ToResourceProperties InstancesDistributionProperty+instance Prelude.Eq InstancesDistributionProperty+instance Prelude.Show InstancesDistributionProperty+instance JSON.ToJSON InstancesDistributionProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/LaunchTemplateOverridesProperty.hs view
@@ -0,0 +1,73 @@+module Stratosphere.AutoScaling.AutoScalingGroup.LaunchTemplateOverridesProperty (+        module Exports, LaunchTemplateOverridesProperty(..),+        mkLaunchTemplateOverridesProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.InstanceRequirementsProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.LaunchTemplateSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LaunchTemplateOverridesProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html>+    LaunchTemplateOverridesProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html#cfn-autoscaling-autoscalinggroup-launchtemplateoverrides-instancerequirements>+                                     instanceRequirements :: (Prelude.Maybe InstanceRequirementsProperty),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html#cfn-autoscaling-autoscalinggroup-launchtemplateoverrides-instancetype>+                                     instanceType :: (Prelude.Maybe (Value Prelude.Text)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html#cfn-autoscaling-autoscalinggroup-launchtemplateoverrides-launchtemplatespecification>+                                     launchTemplateSpecification :: (Prelude.Maybe LaunchTemplateSpecificationProperty),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html#cfn-autoscaling-autoscalinggroup-launchtemplateoverrides-weightedcapacity>+                                     weightedCapacity :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLaunchTemplateOverridesProperty ::+  LaunchTemplateOverridesProperty+mkLaunchTemplateOverridesProperty+  = LaunchTemplateOverridesProperty+      {haddock_workaround_ = (), instanceRequirements = Prelude.Nothing,+       instanceType = Prelude.Nothing,+       launchTemplateSpecification = Prelude.Nothing,+       weightedCapacity = Prelude.Nothing}+instance ToResourceProperties LaunchTemplateOverridesProperty where+  toResourceProperties LaunchTemplateOverridesProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.LaunchTemplateOverrides",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "InstanceRequirements" Prelude.<$> instanceRequirements,+                            (JSON..=) "InstanceType" Prelude.<$> instanceType,+                            (JSON..=) "LaunchTemplateSpecification"+                              Prelude.<$> launchTemplateSpecification,+                            (JSON..=) "WeightedCapacity" Prelude.<$> weightedCapacity])}+instance JSON.ToJSON LaunchTemplateOverridesProperty where+  toJSON LaunchTemplateOverridesProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "InstanceRequirements" Prelude.<$> instanceRequirements,+               (JSON..=) "InstanceType" Prelude.<$> instanceType,+               (JSON..=) "LaunchTemplateSpecification"+                 Prelude.<$> launchTemplateSpecification,+               (JSON..=) "WeightedCapacity" Prelude.<$> weightedCapacity]))+instance Property "InstanceRequirements" LaunchTemplateOverridesProperty where+  type PropertyType "InstanceRequirements" LaunchTemplateOverridesProperty = InstanceRequirementsProperty+  set newValue LaunchTemplateOverridesProperty {..}+    = LaunchTemplateOverridesProperty+        {instanceRequirements = Prelude.pure newValue, ..}+instance Property "InstanceType" LaunchTemplateOverridesProperty where+  type PropertyType "InstanceType" LaunchTemplateOverridesProperty = Value Prelude.Text+  set newValue LaunchTemplateOverridesProperty {..}+    = LaunchTemplateOverridesProperty+        {instanceType = Prelude.pure newValue, ..}+instance Property "LaunchTemplateSpecification" LaunchTemplateOverridesProperty where+  type PropertyType "LaunchTemplateSpecification" LaunchTemplateOverridesProperty = LaunchTemplateSpecificationProperty+  set newValue LaunchTemplateOverridesProperty {..}+    = LaunchTemplateOverridesProperty+        {launchTemplateSpecification = Prelude.pure newValue, ..}+instance Property "WeightedCapacity" LaunchTemplateOverridesProperty where+  type PropertyType "WeightedCapacity" LaunchTemplateOverridesProperty = Value Prelude.Text+  set newValue LaunchTemplateOverridesProperty {..}+    = LaunchTemplateOverridesProperty+        {weightedCapacity = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/LaunchTemplateOverridesProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.LaunchTemplateOverridesProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LaunchTemplateOverridesProperty :: Prelude.Type+instance ToResourceProperties LaunchTemplateOverridesProperty+instance Prelude.Eq LaunchTemplateOverridesProperty+instance Prelude.Show LaunchTemplateOverridesProperty+instance JSON.ToJSON LaunchTemplateOverridesProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/LaunchTemplateProperty.hs view
@@ -0,0 +1,50 @@+module Stratosphere.AutoScaling.AutoScalingGroup.LaunchTemplateProperty (+        module Exports, LaunchTemplateProperty(..),+        mkLaunchTemplateProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.LaunchTemplateOverridesProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.LaunchTemplateSpecificationProperty as Exports+import Stratosphere.ResourceProperties+data LaunchTemplateProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplate.html>+    LaunchTemplateProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplate.html#cfn-autoscaling-autoscalinggroup-launchtemplate-launchtemplatespecification>+                            launchTemplateSpecification :: LaunchTemplateSpecificationProperty,+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplate.html#cfn-autoscaling-autoscalinggroup-launchtemplate-overrides>+                            overrides :: (Prelude.Maybe [LaunchTemplateOverridesProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLaunchTemplateProperty ::+  LaunchTemplateSpecificationProperty -> LaunchTemplateProperty+mkLaunchTemplateProperty launchTemplateSpecification+  = LaunchTemplateProperty+      {haddock_workaround_ = (),+       launchTemplateSpecification = launchTemplateSpecification,+       overrides = Prelude.Nothing}+instance ToResourceProperties LaunchTemplateProperty where+  toResourceProperties LaunchTemplateProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.LaunchTemplate",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["LaunchTemplateSpecification" JSON..= launchTemplateSpecification]+                           (Prelude.catMaybes [(JSON..=) "Overrides" Prelude.<$> overrides]))}+instance JSON.ToJSON LaunchTemplateProperty where+  toJSON LaunchTemplateProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["LaunchTemplateSpecification" JSON..= launchTemplateSpecification]+              (Prelude.catMaybes [(JSON..=) "Overrides" Prelude.<$> overrides])))+instance Property "LaunchTemplateSpecification" LaunchTemplateProperty where+  type PropertyType "LaunchTemplateSpecification" LaunchTemplateProperty = LaunchTemplateSpecificationProperty+  set newValue LaunchTemplateProperty {..}+    = LaunchTemplateProperty+        {launchTemplateSpecification = newValue, ..}+instance Property "Overrides" LaunchTemplateProperty where+  type PropertyType "Overrides" LaunchTemplateProperty = [LaunchTemplateOverridesProperty]+  set newValue LaunchTemplateProperty {..}+    = LaunchTemplateProperty {overrides = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/LaunchTemplateProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.LaunchTemplateProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LaunchTemplateProperty :: Prelude.Type+instance ToResourceProperties LaunchTemplateProperty+instance Prelude.Eq LaunchTemplateProperty+instance Prelude.Show LaunchTemplateProperty+instance JSON.ToJSON LaunchTemplateProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/LaunchTemplateSpecificationProperty.hs view
@@ -0,0 +1,60 @@+module Stratosphere.AutoScaling.AutoScalingGroup.LaunchTemplateSpecificationProperty (+        LaunchTemplateSpecificationProperty(..),+        mkLaunchTemplateSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LaunchTemplateSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplatespecification.html>+    LaunchTemplateSpecificationProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplatespecification.html#cfn-autoscaling-autoscalinggroup-launchtemplatespecification-launchtemplateid>+                                         launchTemplateId :: (Prelude.Maybe (Value Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplatespecification.html#cfn-autoscaling-autoscalinggroup-launchtemplatespecification-launchtemplatename>+                                         launchTemplateName :: (Prelude.Maybe (Value Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplatespecification.html#cfn-autoscaling-autoscalinggroup-launchtemplatespecification-version>+                                         version :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLaunchTemplateSpecificationProperty ::+  Value Prelude.Text -> LaunchTemplateSpecificationProperty+mkLaunchTemplateSpecificationProperty version+  = LaunchTemplateSpecificationProperty+      {haddock_workaround_ = (), version = version,+       launchTemplateId = Prelude.Nothing,+       launchTemplateName = Prelude.Nothing}+instance ToResourceProperties LaunchTemplateSpecificationProperty where+  toResourceProperties LaunchTemplateSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Version" JSON..= version]+                           (Prelude.catMaybes+                              [(JSON..=) "LaunchTemplateId" Prelude.<$> launchTemplateId,+                               (JSON..=) "LaunchTemplateName" Prelude.<$> launchTemplateName]))}+instance JSON.ToJSON LaunchTemplateSpecificationProperty where+  toJSON LaunchTemplateSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Version" JSON..= version]+              (Prelude.catMaybes+                 [(JSON..=) "LaunchTemplateId" Prelude.<$> launchTemplateId,+                  (JSON..=) "LaunchTemplateName" Prelude.<$> launchTemplateName])))+instance Property "LaunchTemplateId" LaunchTemplateSpecificationProperty where+  type PropertyType "LaunchTemplateId" LaunchTemplateSpecificationProperty = Value Prelude.Text+  set newValue LaunchTemplateSpecificationProperty {..}+    = LaunchTemplateSpecificationProperty+        {launchTemplateId = Prelude.pure newValue, ..}+instance Property "LaunchTemplateName" LaunchTemplateSpecificationProperty where+  type PropertyType "LaunchTemplateName" LaunchTemplateSpecificationProperty = Value Prelude.Text+  set newValue LaunchTemplateSpecificationProperty {..}+    = LaunchTemplateSpecificationProperty+        {launchTemplateName = Prelude.pure newValue, ..}+instance Property "Version" LaunchTemplateSpecificationProperty where+  type PropertyType "Version" LaunchTemplateSpecificationProperty = Value Prelude.Text+  set newValue LaunchTemplateSpecificationProperty {..}+    = LaunchTemplateSpecificationProperty {version = newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/LaunchTemplateSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.LaunchTemplateSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LaunchTemplateSpecificationProperty :: Prelude.Type+instance ToResourceProperties LaunchTemplateSpecificationProperty+instance Prelude.Eq LaunchTemplateSpecificationProperty+instance Prelude.Show LaunchTemplateSpecificationProperty+instance JSON.ToJSON LaunchTemplateSpecificationProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/LifecycleHookSpecificationProperty.hs view
@@ -0,0 +1,105 @@+module Stratosphere.AutoScaling.AutoScalingGroup.LifecycleHookSpecificationProperty (+        LifecycleHookSpecificationProperty(..),+        mkLifecycleHookSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LifecycleHookSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html>+    LifecycleHookSpecificationProperty {haddock_workaround_ :: (),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecification-defaultresult>+                                        defaultResult :: (Prelude.Maybe (Value Prelude.Text)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecification-heartbeattimeout>+                                        heartbeatTimeout :: (Prelude.Maybe (Value Prelude.Integer)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecification-lifecyclehookname>+                                        lifecycleHookName :: (Value Prelude.Text),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecification-lifecycletransition>+                                        lifecycleTransition :: (Value Prelude.Text),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecification-notificationmetadata>+                                        notificationMetadata :: (Prelude.Maybe (Value Prelude.Text)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecification-notificationtargetarn>+                                        notificationTargetARN :: (Prelude.Maybe (Value Prelude.Text)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecification-rolearn>+                                        roleARN :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLifecycleHookSpecificationProperty ::+  Value Prelude.Text+  -> Value Prelude.Text -> LifecycleHookSpecificationProperty+mkLifecycleHookSpecificationProperty+  lifecycleHookName+  lifecycleTransition+  = LifecycleHookSpecificationProperty+      {haddock_workaround_ = (), lifecycleHookName = lifecycleHookName,+       lifecycleTransition = lifecycleTransition,+       defaultResult = Prelude.Nothing,+       heartbeatTimeout = Prelude.Nothing,+       notificationMetadata = Prelude.Nothing,+       notificationTargetARN = Prelude.Nothing, roleARN = Prelude.Nothing}+instance ToResourceProperties LifecycleHookSpecificationProperty where+  toResourceProperties LifecycleHookSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["LifecycleHookName" JSON..= lifecycleHookName,+                            "LifecycleTransition" JSON..= lifecycleTransition]+                           (Prelude.catMaybes+                              [(JSON..=) "DefaultResult" Prelude.<$> defaultResult,+                               (JSON..=) "HeartbeatTimeout" Prelude.<$> heartbeatTimeout,+                               (JSON..=) "NotificationMetadata" Prelude.<$> notificationMetadata,+                               (JSON..=) "NotificationTargetARN"+                                 Prelude.<$> notificationTargetARN,+                               (JSON..=) "RoleARN" Prelude.<$> roleARN]))}+instance JSON.ToJSON LifecycleHookSpecificationProperty where+  toJSON LifecycleHookSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["LifecycleHookName" JSON..= lifecycleHookName,+               "LifecycleTransition" JSON..= lifecycleTransition]+              (Prelude.catMaybes+                 [(JSON..=) "DefaultResult" Prelude.<$> defaultResult,+                  (JSON..=) "HeartbeatTimeout" Prelude.<$> heartbeatTimeout,+                  (JSON..=) "NotificationMetadata" Prelude.<$> notificationMetadata,+                  (JSON..=) "NotificationTargetARN"+                    Prelude.<$> notificationTargetARN,+                  (JSON..=) "RoleARN" Prelude.<$> roleARN])))+instance Property "DefaultResult" LifecycleHookSpecificationProperty where+  type PropertyType "DefaultResult" LifecycleHookSpecificationProperty = Value Prelude.Text+  set newValue LifecycleHookSpecificationProperty {..}+    = LifecycleHookSpecificationProperty+        {defaultResult = Prelude.pure newValue, ..}+instance Property "HeartbeatTimeout" LifecycleHookSpecificationProperty where+  type PropertyType "HeartbeatTimeout" LifecycleHookSpecificationProperty = Value Prelude.Integer+  set newValue LifecycleHookSpecificationProperty {..}+    = LifecycleHookSpecificationProperty+        {heartbeatTimeout = Prelude.pure newValue, ..}+instance Property "LifecycleHookName" LifecycleHookSpecificationProperty where+  type PropertyType "LifecycleHookName" LifecycleHookSpecificationProperty = Value Prelude.Text+  set newValue LifecycleHookSpecificationProperty {..}+    = LifecycleHookSpecificationProperty+        {lifecycleHookName = newValue, ..}+instance Property "LifecycleTransition" LifecycleHookSpecificationProperty where+  type PropertyType "LifecycleTransition" LifecycleHookSpecificationProperty = Value Prelude.Text+  set newValue LifecycleHookSpecificationProperty {..}+    = LifecycleHookSpecificationProperty+        {lifecycleTransition = newValue, ..}+instance Property "NotificationMetadata" LifecycleHookSpecificationProperty where+  type PropertyType "NotificationMetadata" LifecycleHookSpecificationProperty = Value Prelude.Text+  set newValue LifecycleHookSpecificationProperty {..}+    = LifecycleHookSpecificationProperty+        {notificationMetadata = Prelude.pure newValue, ..}+instance Property "NotificationTargetARN" LifecycleHookSpecificationProperty where+  type PropertyType "NotificationTargetARN" LifecycleHookSpecificationProperty = Value Prelude.Text+  set newValue LifecycleHookSpecificationProperty {..}+    = LifecycleHookSpecificationProperty+        {notificationTargetARN = Prelude.pure newValue, ..}+instance Property "RoleARN" LifecycleHookSpecificationProperty where+  type PropertyType "RoleARN" LifecycleHookSpecificationProperty = Value Prelude.Text+  set newValue LifecycleHookSpecificationProperty {..}+    = LifecycleHookSpecificationProperty+        {roleARN = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/LifecycleHookSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.LifecycleHookSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LifecycleHookSpecificationProperty :: Prelude.Type+instance ToResourceProperties LifecycleHookSpecificationProperty+instance Prelude.Eq LifecycleHookSpecificationProperty+instance Prelude.Show LifecycleHookSpecificationProperty+instance JSON.ToJSON LifecycleHookSpecificationProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/MemoryGiBPerVCpuRequestProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.AutoScaling.AutoScalingGroup.MemoryGiBPerVCpuRequestProperty (+        MemoryGiBPerVCpuRequestProperty(..),+        mkMemoryGiBPerVCpuRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MemoryGiBPerVCpuRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-memorygibpervcpurequest.html>+    MemoryGiBPerVCpuRequestProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-memorygibpervcpurequest.html#cfn-autoscaling-autoscalinggroup-memorygibpervcpurequest-max>+                                     max :: (Prelude.Maybe (Value Prelude.Double)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-memorygibpervcpurequest.html#cfn-autoscaling-autoscalinggroup-memorygibpervcpurequest-min>+                                     min :: (Prelude.Maybe (Value Prelude.Double))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMemoryGiBPerVCpuRequestProperty ::+  MemoryGiBPerVCpuRequestProperty+mkMemoryGiBPerVCpuRequestProperty+  = MemoryGiBPerVCpuRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties MemoryGiBPerVCpuRequestProperty where+  toResourceProperties MemoryGiBPerVCpuRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.MemoryGiBPerVCpuRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON MemoryGiBPerVCpuRequestProperty where+  toJSON MemoryGiBPerVCpuRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" MemoryGiBPerVCpuRequestProperty where+  type PropertyType "Max" MemoryGiBPerVCpuRequestProperty = Value Prelude.Double+  set newValue MemoryGiBPerVCpuRequestProperty {..}+    = MemoryGiBPerVCpuRequestProperty {max = Prelude.pure newValue, ..}+instance Property "Min" MemoryGiBPerVCpuRequestProperty where+  type PropertyType "Min" MemoryGiBPerVCpuRequestProperty = Value Prelude.Double+  set newValue MemoryGiBPerVCpuRequestProperty {..}+    = MemoryGiBPerVCpuRequestProperty {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/MemoryGiBPerVCpuRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.MemoryGiBPerVCpuRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MemoryGiBPerVCpuRequestProperty :: Prelude.Type+instance ToResourceProperties MemoryGiBPerVCpuRequestProperty+instance Prelude.Eq MemoryGiBPerVCpuRequestProperty+instance Prelude.Show MemoryGiBPerVCpuRequestProperty+instance JSON.ToJSON MemoryGiBPerVCpuRequestProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/MemoryMiBRequestProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.AutoScaling.AutoScalingGroup.MemoryMiBRequestProperty (+        MemoryMiBRequestProperty(..), mkMemoryMiBRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MemoryMiBRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-memorymibrequest.html>+    MemoryMiBRequestProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-memorymibrequest.html#cfn-autoscaling-autoscalinggroup-memorymibrequest-max>+                              max :: (Prelude.Maybe (Value Prelude.Integer)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-memorymibrequest.html#cfn-autoscaling-autoscalinggroup-memorymibrequest-min>+                              min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMemoryMiBRequestProperty :: MemoryMiBRequestProperty+mkMemoryMiBRequestProperty+  = MemoryMiBRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties MemoryMiBRequestProperty where+  toResourceProperties MemoryMiBRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.MemoryMiBRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON MemoryMiBRequestProperty where+  toJSON MemoryMiBRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" MemoryMiBRequestProperty where+  type PropertyType "Max" MemoryMiBRequestProperty = Value Prelude.Integer+  set newValue MemoryMiBRequestProperty {..}+    = MemoryMiBRequestProperty {max = Prelude.pure newValue, ..}+instance Property "Min" MemoryMiBRequestProperty where+  type PropertyType "Min" MemoryMiBRequestProperty = Value Prelude.Integer+  set newValue MemoryMiBRequestProperty {..}+    = MemoryMiBRequestProperty {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/MemoryMiBRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.MemoryMiBRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MemoryMiBRequestProperty :: Prelude.Type+instance ToResourceProperties MemoryMiBRequestProperty+instance Prelude.Eq MemoryMiBRequestProperty+instance Prelude.Show MemoryMiBRequestProperty+instance JSON.ToJSON MemoryMiBRequestProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/MetricsCollectionProperty.hs view
@@ -0,0 +1,46 @@+module Stratosphere.AutoScaling.AutoScalingGroup.MetricsCollectionProperty (+        MetricsCollectionProperty(..), mkMetricsCollectionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MetricsCollectionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-metricscollection.html>+    MetricsCollectionProperty {haddock_workaround_ :: (),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-metricscollection.html#cfn-autoscaling-autoscalinggroup-metricscollection-granularity>+                               granularity :: (Value Prelude.Text),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-metricscollection.html#cfn-autoscaling-autoscalinggroup-metricscollection-metrics>+                               metrics :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMetricsCollectionProperty ::+  Value Prelude.Text -> MetricsCollectionProperty+mkMetricsCollectionProperty granularity+  = MetricsCollectionProperty+      {haddock_workaround_ = (), granularity = granularity,+       metrics = Prelude.Nothing}+instance ToResourceProperties MetricsCollectionProperty where+  toResourceProperties MetricsCollectionProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.MetricsCollection",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Granularity" JSON..= granularity]+                           (Prelude.catMaybes [(JSON..=) "Metrics" Prelude.<$> metrics]))}+instance JSON.ToJSON MetricsCollectionProperty where+  toJSON MetricsCollectionProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Granularity" JSON..= granularity]+              (Prelude.catMaybes [(JSON..=) "Metrics" Prelude.<$> metrics])))+instance Property "Granularity" MetricsCollectionProperty where+  type PropertyType "Granularity" MetricsCollectionProperty = Value Prelude.Text+  set newValue MetricsCollectionProperty {..}+    = MetricsCollectionProperty {granularity = newValue, ..}+instance Property "Metrics" MetricsCollectionProperty where+  type PropertyType "Metrics" MetricsCollectionProperty = ValueList Prelude.Text+  set newValue MetricsCollectionProperty {..}+    = MetricsCollectionProperty {metrics = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/MetricsCollectionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.MetricsCollectionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MetricsCollectionProperty :: Prelude.Type+instance ToResourceProperties MetricsCollectionProperty+instance Prelude.Eq MetricsCollectionProperty+instance Prelude.Show MetricsCollectionProperty+instance JSON.ToJSON MetricsCollectionProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/MixedInstancesPolicyProperty.hs view
@@ -0,0 +1,53 @@+module Stratosphere.AutoScaling.AutoScalingGroup.MixedInstancesPolicyProperty (+        module Exports, MixedInstancesPolicyProperty(..),+        mkMixedInstancesPolicyProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.InstancesDistributionProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.AutoScalingGroup.LaunchTemplateProperty as Exports+import Stratosphere.ResourceProperties+data MixedInstancesPolicyProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-mixedinstancespolicy.html>+    MixedInstancesPolicyProperty {haddock_workaround_ :: (),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-mixedinstancespolicy.html#cfn-autoscaling-autoscalinggroup-mixedinstancespolicy-instancesdistribution>+                                  instancesDistribution :: (Prelude.Maybe InstancesDistributionProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-mixedinstancespolicy.html#cfn-autoscaling-autoscalinggroup-mixedinstancespolicy-launchtemplate>+                                  launchTemplate :: LaunchTemplateProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMixedInstancesPolicyProperty ::+  LaunchTemplateProperty -> MixedInstancesPolicyProperty+mkMixedInstancesPolicyProperty launchTemplate+  = MixedInstancesPolicyProperty+      {haddock_workaround_ = (), launchTemplate = launchTemplate,+       instancesDistribution = Prelude.Nothing}+instance ToResourceProperties MixedInstancesPolicyProperty where+  toResourceProperties MixedInstancesPolicyProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["LaunchTemplate" JSON..= launchTemplate]+                           (Prelude.catMaybes+                              [(JSON..=) "InstancesDistribution"+                                 Prelude.<$> instancesDistribution]))}+instance JSON.ToJSON MixedInstancesPolicyProperty where+  toJSON MixedInstancesPolicyProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["LaunchTemplate" JSON..= launchTemplate]+              (Prelude.catMaybes+                 [(JSON..=) "InstancesDistribution"+                    Prelude.<$> instancesDistribution])))+instance Property "InstancesDistribution" MixedInstancesPolicyProperty where+  type PropertyType "InstancesDistribution" MixedInstancesPolicyProperty = InstancesDistributionProperty+  set newValue MixedInstancesPolicyProperty {..}+    = MixedInstancesPolicyProperty+        {instancesDistribution = Prelude.pure newValue, ..}+instance Property "LaunchTemplate" MixedInstancesPolicyProperty where+  type PropertyType "LaunchTemplate" MixedInstancesPolicyProperty = LaunchTemplateProperty+  set newValue MixedInstancesPolicyProperty {..}+    = MixedInstancesPolicyProperty {launchTemplate = newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/MixedInstancesPolicyProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.MixedInstancesPolicyProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MixedInstancesPolicyProperty :: Prelude.Type+instance ToResourceProperties MixedInstancesPolicyProperty+instance Prelude.Eq MixedInstancesPolicyProperty+instance Prelude.Show MixedInstancesPolicyProperty+instance JSON.ToJSON MixedInstancesPolicyProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/NetworkBandwidthGbpsRequestProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.AutoScaling.AutoScalingGroup.NetworkBandwidthGbpsRequestProperty (+        NetworkBandwidthGbpsRequestProperty(..),+        mkNetworkBandwidthGbpsRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data NetworkBandwidthGbpsRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-networkbandwidthgbpsrequest.html>+    NetworkBandwidthGbpsRequestProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-networkbandwidthgbpsrequest.html#cfn-autoscaling-autoscalinggroup-networkbandwidthgbpsrequest-max>+                                         max :: (Prelude.Maybe (Value Prelude.Double)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-networkbandwidthgbpsrequest.html#cfn-autoscaling-autoscalinggroup-networkbandwidthgbpsrequest-min>+                                         min :: (Prelude.Maybe (Value Prelude.Double))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNetworkBandwidthGbpsRequestProperty ::+  NetworkBandwidthGbpsRequestProperty+mkNetworkBandwidthGbpsRequestProperty+  = NetworkBandwidthGbpsRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties NetworkBandwidthGbpsRequestProperty where+  toResourceProperties NetworkBandwidthGbpsRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.NetworkBandwidthGbpsRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON NetworkBandwidthGbpsRequestProperty where+  toJSON NetworkBandwidthGbpsRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" NetworkBandwidthGbpsRequestProperty where+  type PropertyType "Max" NetworkBandwidthGbpsRequestProperty = Value Prelude.Double+  set newValue NetworkBandwidthGbpsRequestProperty {..}+    = NetworkBandwidthGbpsRequestProperty+        {max = Prelude.pure newValue, ..}+instance Property "Min" NetworkBandwidthGbpsRequestProperty where+  type PropertyType "Min" NetworkBandwidthGbpsRequestProperty = Value Prelude.Double+  set newValue NetworkBandwidthGbpsRequestProperty {..}+    = NetworkBandwidthGbpsRequestProperty+        {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/NetworkBandwidthGbpsRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.NetworkBandwidthGbpsRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data NetworkBandwidthGbpsRequestProperty :: Prelude.Type+instance ToResourceProperties NetworkBandwidthGbpsRequestProperty+instance Prelude.Eq NetworkBandwidthGbpsRequestProperty+instance Prelude.Show NetworkBandwidthGbpsRequestProperty+instance JSON.ToJSON NetworkBandwidthGbpsRequestProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/NetworkInterfaceCountRequestProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.AutoScaling.AutoScalingGroup.NetworkInterfaceCountRequestProperty (+        NetworkInterfaceCountRequestProperty(..),+        mkNetworkInterfaceCountRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data NetworkInterfaceCountRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-networkinterfacecountrequest.html>+    NetworkInterfaceCountRequestProperty {haddock_workaround_ :: (),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-networkinterfacecountrequest.html#cfn-autoscaling-autoscalinggroup-networkinterfacecountrequest-max>+                                          max :: (Prelude.Maybe (Value Prelude.Integer)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-networkinterfacecountrequest.html#cfn-autoscaling-autoscalinggroup-networkinterfacecountrequest-min>+                                          min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNetworkInterfaceCountRequestProperty ::+  NetworkInterfaceCountRequestProperty+mkNetworkInterfaceCountRequestProperty+  = NetworkInterfaceCountRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties NetworkInterfaceCountRequestProperty where+  toResourceProperties NetworkInterfaceCountRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.NetworkInterfaceCountRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON NetworkInterfaceCountRequestProperty where+  toJSON NetworkInterfaceCountRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" NetworkInterfaceCountRequestProperty where+  type PropertyType "Max" NetworkInterfaceCountRequestProperty = Value Prelude.Integer+  set newValue NetworkInterfaceCountRequestProperty {..}+    = NetworkInterfaceCountRequestProperty+        {max = Prelude.pure newValue, ..}+instance Property "Min" NetworkInterfaceCountRequestProperty where+  type PropertyType "Min" NetworkInterfaceCountRequestProperty = Value Prelude.Integer+  set newValue NetworkInterfaceCountRequestProperty {..}+    = NetworkInterfaceCountRequestProperty+        {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/NetworkInterfaceCountRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.NetworkInterfaceCountRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data NetworkInterfaceCountRequestProperty :: Prelude.Type+instance ToResourceProperties NetworkInterfaceCountRequestProperty+instance Prelude.Eq NetworkInterfaceCountRequestProperty+instance Prelude.Show NetworkInterfaceCountRequestProperty+instance JSON.ToJSON NetworkInterfaceCountRequestProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/NotificationConfigurationProperty.hs view
@@ -0,0 +1,50 @@+module Stratosphere.AutoScaling.AutoScalingGroup.NotificationConfigurationProperty (+        NotificationConfigurationProperty(..),+        mkNotificationConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data NotificationConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-notificationconfiguration.html>+    NotificationConfigurationProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-notificationconfiguration.html#cfn-autoscaling-autoscalinggroup-notificationconfiguration-notificationtypes>+                                       notificationTypes :: (Prelude.Maybe (ValueList Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-notificationconfiguration.html#cfn-autoscaling-autoscalinggroup-notificationconfiguration-topicarn>+                                       topicARN :: (ValueList Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNotificationConfigurationProperty ::+  ValueList Prelude.Text -> NotificationConfigurationProperty+mkNotificationConfigurationProperty topicARN+  = NotificationConfigurationProperty+      {haddock_workaround_ = (), topicARN = topicARN,+       notificationTypes = Prelude.Nothing}+instance ToResourceProperties NotificationConfigurationProperty where+  toResourceProperties NotificationConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["TopicARN" JSON..= topicARN]+                           (Prelude.catMaybes+                              [(JSON..=) "NotificationTypes" Prelude.<$> notificationTypes]))}+instance JSON.ToJSON NotificationConfigurationProperty where+  toJSON NotificationConfigurationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["TopicARN" JSON..= topicARN]+              (Prelude.catMaybes+                 [(JSON..=) "NotificationTypes" Prelude.<$> notificationTypes])))+instance Property "NotificationTypes" NotificationConfigurationProperty where+  type PropertyType "NotificationTypes" NotificationConfigurationProperty = ValueList Prelude.Text+  set newValue NotificationConfigurationProperty {..}+    = NotificationConfigurationProperty+        {notificationTypes = Prelude.pure newValue, ..}+instance Property "TopicARN" NotificationConfigurationProperty where+  type PropertyType "TopicARN" NotificationConfigurationProperty = ValueList Prelude.Text+  set newValue NotificationConfigurationProperty {..}+    = NotificationConfigurationProperty {topicARN = newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/NotificationConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.NotificationConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data NotificationConfigurationProperty :: Prelude.Type+instance ToResourceProperties NotificationConfigurationProperty+instance Prelude.Eq NotificationConfigurationProperty+instance Prelude.Show NotificationConfigurationProperty+instance JSON.ToJSON NotificationConfigurationProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/PerformanceFactorReferenceRequestProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.AutoScaling.AutoScalingGroup.PerformanceFactorReferenceRequestProperty (+        PerformanceFactorReferenceRequestProperty(..),+        mkPerformanceFactorReferenceRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PerformanceFactorReferenceRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-performancefactorreferencerequest.html>+    PerformanceFactorReferenceRequestProperty {haddock_workaround_ :: (),+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-performancefactorreferencerequest.html#cfn-autoscaling-autoscalinggroup-performancefactorreferencerequest-instancefamily>+                                               instanceFamily :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPerformanceFactorReferenceRequestProperty ::+  PerformanceFactorReferenceRequestProperty+mkPerformanceFactorReferenceRequestProperty+  = PerformanceFactorReferenceRequestProperty+      {haddock_workaround_ = (), instanceFamily = Prelude.Nothing}+instance ToResourceProperties PerformanceFactorReferenceRequestProperty where+  toResourceProperties PerformanceFactorReferenceRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.PerformanceFactorReferenceRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "InstanceFamily" Prelude.<$> instanceFamily])}+instance JSON.ToJSON PerformanceFactorReferenceRequestProperty where+  toJSON PerformanceFactorReferenceRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "InstanceFamily" Prelude.<$> instanceFamily]))+instance Property "InstanceFamily" PerformanceFactorReferenceRequestProperty where+  type PropertyType "InstanceFamily" PerformanceFactorReferenceRequestProperty = Value Prelude.Text+  set newValue PerformanceFactorReferenceRequestProperty {..}+    = PerformanceFactorReferenceRequestProperty+        {instanceFamily = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/PerformanceFactorReferenceRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.PerformanceFactorReferenceRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PerformanceFactorReferenceRequestProperty :: Prelude.Type+instance ToResourceProperties PerformanceFactorReferenceRequestProperty+instance Prelude.Eq PerformanceFactorReferenceRequestProperty+instance Prelude.Show PerformanceFactorReferenceRequestProperty+instance JSON.ToJSON PerformanceFactorReferenceRequestProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/TagPropertyProperty.hs view
@@ -0,0 +1,50 @@+module Stratosphere.AutoScaling.AutoScalingGroup.TagPropertyProperty (+        TagPropertyProperty(..), mkTagPropertyProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TagPropertyProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-tagproperty.html>+    TagPropertyProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-tagproperty.html#cfn-autoscaling-autoscalinggroup-tagproperty-key>+                         key :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-tagproperty.html#cfn-autoscaling-autoscalinggroup-tagproperty-propagateatlaunch>+                         propagateAtLaunch :: (Value Prelude.Bool),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-tagproperty.html#cfn-autoscaling-autoscalinggroup-tagproperty-value>+                         value :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTagPropertyProperty ::+  Value Prelude.Text+  -> Value Prelude.Bool -> Value Prelude.Text -> TagPropertyProperty+mkTagPropertyProperty key propagateAtLaunch value+  = TagPropertyProperty+      {haddock_workaround_ = (), key = key,+       propagateAtLaunch = propagateAtLaunch, value = value}+instance ToResourceProperties TagPropertyProperty where+  toResourceProperties TagPropertyProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.TagProperty",+         supportsTags = Prelude.False,+         properties = ["Key" JSON..= key,+                       "PropagateAtLaunch" JSON..= propagateAtLaunch,+                       "Value" JSON..= value]}+instance JSON.ToJSON TagPropertyProperty where+  toJSON TagPropertyProperty {..}+    = JSON.object+        ["Key" JSON..= key, "PropagateAtLaunch" JSON..= propagateAtLaunch,+         "Value" JSON..= value]+instance Property "Key" TagPropertyProperty where+  type PropertyType "Key" TagPropertyProperty = Value Prelude.Text+  set newValue TagPropertyProperty {..}+    = TagPropertyProperty {key = newValue, ..}+instance Property "PropagateAtLaunch" TagPropertyProperty where+  type PropertyType "PropagateAtLaunch" TagPropertyProperty = Value Prelude.Bool+  set newValue TagPropertyProperty {..}+    = TagPropertyProperty {propagateAtLaunch = newValue, ..}+instance Property "Value" TagPropertyProperty where+  type PropertyType "Value" TagPropertyProperty = Value Prelude.Text+  set newValue TagPropertyProperty {..}+    = TagPropertyProperty {value = newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/TagPropertyProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.TagPropertyProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TagPropertyProperty :: Prelude.Type+instance ToResourceProperties TagPropertyProperty+instance Prelude.Eq TagPropertyProperty+instance Prelude.Show TagPropertyProperty+instance JSON.ToJSON TagPropertyProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/TotalLocalStorageGBRequestProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.AutoScaling.AutoScalingGroup.TotalLocalStorageGBRequestProperty (+        TotalLocalStorageGBRequestProperty(..),+        mkTotalLocalStorageGBRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TotalLocalStorageGBRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-totallocalstoragegbrequest.html>+    TotalLocalStorageGBRequestProperty {haddock_workaround_ :: (),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-totallocalstoragegbrequest.html#cfn-autoscaling-autoscalinggroup-totallocalstoragegbrequest-max>+                                        max :: (Prelude.Maybe (Value Prelude.Double)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-totallocalstoragegbrequest.html#cfn-autoscaling-autoscalinggroup-totallocalstoragegbrequest-min>+                                        min :: (Prelude.Maybe (Value Prelude.Double))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTotalLocalStorageGBRequestProperty ::+  TotalLocalStorageGBRequestProperty+mkTotalLocalStorageGBRequestProperty+  = TotalLocalStorageGBRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties TotalLocalStorageGBRequestProperty where+  toResourceProperties TotalLocalStorageGBRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.TotalLocalStorageGBRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON TotalLocalStorageGBRequestProperty where+  toJSON TotalLocalStorageGBRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" TotalLocalStorageGBRequestProperty where+  type PropertyType "Max" TotalLocalStorageGBRequestProperty = Value Prelude.Double+  set newValue TotalLocalStorageGBRequestProperty {..}+    = TotalLocalStorageGBRequestProperty+        {max = Prelude.pure newValue, ..}+instance Property "Min" TotalLocalStorageGBRequestProperty where+  type PropertyType "Min" TotalLocalStorageGBRequestProperty = Value Prelude.Double+  set newValue TotalLocalStorageGBRequestProperty {..}+    = TotalLocalStorageGBRequestProperty+        {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/TotalLocalStorageGBRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.TotalLocalStorageGBRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TotalLocalStorageGBRequestProperty :: Prelude.Type+instance ToResourceProperties TotalLocalStorageGBRequestProperty+instance Prelude.Eq TotalLocalStorageGBRequestProperty+instance Prelude.Show TotalLocalStorageGBRequestProperty+instance JSON.ToJSON TotalLocalStorageGBRequestProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/TrafficSourceIdentifierProperty.hs view
@@ -0,0 +1,42 @@+module Stratosphere.AutoScaling.AutoScalingGroup.TrafficSourceIdentifierProperty (+        TrafficSourceIdentifierProperty(..),+        mkTrafficSourceIdentifierProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TrafficSourceIdentifierProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-trafficsourceidentifier.html>+    TrafficSourceIdentifierProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-trafficsourceidentifier.html#cfn-autoscaling-autoscalinggroup-trafficsourceidentifier-identifier>+                                     identifier :: (Value Prelude.Text),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-trafficsourceidentifier.html#cfn-autoscaling-autoscalinggroup-trafficsourceidentifier-type>+                                     type' :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTrafficSourceIdentifierProperty ::+  Value Prelude.Text+  -> Value Prelude.Text -> TrafficSourceIdentifierProperty+mkTrafficSourceIdentifierProperty identifier type'+  = TrafficSourceIdentifierProperty+      {haddock_workaround_ = (), identifier = identifier, type' = type'}+instance ToResourceProperties TrafficSourceIdentifierProperty where+  toResourceProperties TrafficSourceIdentifierProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.TrafficSourceIdentifier",+         supportsTags = Prelude.False,+         properties = ["Identifier" JSON..= identifier,+                       "Type" JSON..= type']}+instance JSON.ToJSON TrafficSourceIdentifierProperty where+  toJSON TrafficSourceIdentifierProperty {..}+    = JSON.object+        ["Identifier" JSON..= identifier, "Type" JSON..= type']+instance Property "Identifier" TrafficSourceIdentifierProperty where+  type PropertyType "Identifier" TrafficSourceIdentifierProperty = Value Prelude.Text+  set newValue TrafficSourceIdentifierProperty {..}+    = TrafficSourceIdentifierProperty {identifier = newValue, ..}+instance Property "Type" TrafficSourceIdentifierProperty where+  type PropertyType "Type" TrafficSourceIdentifierProperty = Value Prelude.Text+  set newValue TrafficSourceIdentifierProperty {..}+    = TrafficSourceIdentifierProperty {type' = newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/TrafficSourceIdentifierProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.TrafficSourceIdentifierProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TrafficSourceIdentifierProperty :: Prelude.Type+instance ToResourceProperties TrafficSourceIdentifierProperty+instance Prelude.Eq TrafficSourceIdentifierProperty+instance Prelude.Show TrafficSourceIdentifierProperty+instance JSON.ToJSON TrafficSourceIdentifierProperty
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/VCpuCountRequestProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.AutoScaling.AutoScalingGroup.VCpuCountRequestProperty (+        VCpuCountRequestProperty(..), mkVCpuCountRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VCpuCountRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-vcpucountrequest.html>+    VCpuCountRequestProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-vcpucountrequest.html#cfn-autoscaling-autoscalinggroup-vcpucountrequest-max>+                              max :: (Prelude.Maybe (Value Prelude.Integer)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-vcpucountrequest.html#cfn-autoscaling-autoscalinggroup-vcpucountrequest-min>+                              min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVCpuCountRequestProperty :: VCpuCountRequestProperty+mkVCpuCountRequestProperty+  = VCpuCountRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties VCpuCountRequestProperty where+  toResourceProperties VCpuCountRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::AutoScalingGroup.VCpuCountRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON VCpuCountRequestProperty where+  toJSON VCpuCountRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" VCpuCountRequestProperty where+  type PropertyType "Max" VCpuCountRequestProperty = Value Prelude.Integer+  set newValue VCpuCountRequestProperty {..}+    = VCpuCountRequestProperty {max = Prelude.pure newValue, ..}+instance Property "Min" VCpuCountRequestProperty where+  type PropertyType "Min" VCpuCountRequestProperty = Value Prelude.Integer+  set newValue VCpuCountRequestProperty {..}+    = VCpuCountRequestProperty {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/AutoScalingGroup/VCpuCountRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.AutoScalingGroup.VCpuCountRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VCpuCountRequestProperty :: Prelude.Type+instance ToResourceProperties VCpuCountRequestProperty+instance Prelude.Eq VCpuCountRequestProperty+instance Prelude.Show VCpuCountRequestProperty+instance JSON.ToJSON VCpuCountRequestProperty
+ gen/Stratosphere/AutoScaling/LaunchConfiguration.hs view
@@ -0,0 +1,211 @@+module Stratosphere.AutoScaling.LaunchConfiguration (+        module Exports, LaunchConfiguration(..), mkLaunchConfiguration+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.LaunchConfiguration.BlockDeviceMappingProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.LaunchConfiguration.MetadataOptionsProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LaunchConfiguration+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html>+    LaunchConfiguration {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html#cfn-autoscaling-launchconfiguration-associatepublicipaddress>+                         associatePublicIpAddress :: (Prelude.Maybe (Value Prelude.Bool)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html#cfn-autoscaling-launchconfiguration-blockdevicemappings>+                         blockDeviceMappings :: (Prelude.Maybe [BlockDeviceMappingProperty]),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html#cfn-autoscaling-launchconfiguration-classiclinkvpcid>+                         classicLinkVPCId :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html#cfn-autoscaling-launchconfiguration-classiclinkvpcsecuritygroups>+                         classicLinkVPCSecurityGroups :: (Prelude.Maybe (ValueList Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html#cfn-autoscaling-launchconfiguration-ebsoptimized>+                         ebsOptimized :: (Prelude.Maybe (Value Prelude.Bool)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html#cfn-autoscaling-launchconfiguration-iaminstanceprofile>+                         iamInstanceProfile :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html#cfn-autoscaling-launchconfiguration-imageid>+                         imageId :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html#cfn-autoscaling-launchconfiguration-instanceid>+                         instanceId :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html#cfn-autoscaling-launchconfiguration-instancemonitoring>+                         instanceMonitoring :: (Prelude.Maybe (Value Prelude.Bool)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html#cfn-autoscaling-launchconfiguration-instancetype>+                         instanceType :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html#cfn-autoscaling-launchconfiguration-kernelid>+                         kernelId :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html#cfn-autoscaling-launchconfiguration-keyname>+                         keyName :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html#cfn-autoscaling-launchconfiguration-launchconfigurationname>+                         launchConfigurationName :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html#cfn-autoscaling-launchconfiguration-metadataoptions>+                         metadataOptions :: (Prelude.Maybe MetadataOptionsProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html#cfn-autoscaling-launchconfiguration-placementtenancy>+                         placementTenancy :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html#cfn-autoscaling-launchconfiguration-ramdiskid>+                         ramDiskId :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html#cfn-autoscaling-launchconfiguration-securitygroups>+                         securityGroups :: (Prelude.Maybe (ValueList Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html#cfn-autoscaling-launchconfiguration-spotprice>+                         spotPrice :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html#cfn-autoscaling-launchconfiguration-userdata>+                         userData :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLaunchConfiguration ::+  Value Prelude.Text -> Value Prelude.Text -> LaunchConfiguration+mkLaunchConfiguration imageId instanceType+  = LaunchConfiguration+      {haddock_workaround_ = (), imageId = imageId,+       instanceType = instanceType,+       associatePublicIpAddress = Prelude.Nothing,+       blockDeviceMappings = Prelude.Nothing,+       classicLinkVPCId = Prelude.Nothing,+       classicLinkVPCSecurityGroups = Prelude.Nothing,+       ebsOptimized = Prelude.Nothing,+       iamInstanceProfile = Prelude.Nothing, instanceId = Prelude.Nothing,+       instanceMonitoring = Prelude.Nothing, kernelId = Prelude.Nothing,+       keyName = Prelude.Nothing,+       launchConfigurationName = Prelude.Nothing,+       metadataOptions = Prelude.Nothing,+       placementTenancy = Prelude.Nothing, ramDiskId = Prelude.Nothing,+       securityGroups = Prelude.Nothing, spotPrice = Prelude.Nothing,+       userData = Prelude.Nothing}+instance ToResourceProperties LaunchConfiguration where+  toResourceProperties LaunchConfiguration {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::LaunchConfiguration",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["ImageId" JSON..= imageId, "InstanceType" JSON..= instanceType]+                           (Prelude.catMaybes+                              [(JSON..=) "AssociatePublicIpAddress"+                                 Prelude.<$> associatePublicIpAddress,+                               (JSON..=) "BlockDeviceMappings" Prelude.<$> blockDeviceMappings,+                               (JSON..=) "ClassicLinkVPCId" Prelude.<$> classicLinkVPCId,+                               (JSON..=) "ClassicLinkVPCSecurityGroups"+                                 Prelude.<$> classicLinkVPCSecurityGroups,+                               (JSON..=) "EbsOptimized" Prelude.<$> ebsOptimized,+                               (JSON..=) "IamInstanceProfile" Prelude.<$> iamInstanceProfile,+                               (JSON..=) "InstanceId" Prelude.<$> instanceId,+                               (JSON..=) "InstanceMonitoring" Prelude.<$> instanceMonitoring,+                               (JSON..=) "KernelId" Prelude.<$> kernelId,+                               (JSON..=) "KeyName" Prelude.<$> keyName,+                               (JSON..=) "LaunchConfigurationName"+                                 Prelude.<$> launchConfigurationName,+                               (JSON..=) "MetadataOptions" Prelude.<$> metadataOptions,+                               (JSON..=) "PlacementTenancy" Prelude.<$> placementTenancy,+                               (JSON..=) "RamDiskId" Prelude.<$> ramDiskId,+                               (JSON..=) "SecurityGroups" Prelude.<$> securityGroups,+                               (JSON..=) "SpotPrice" Prelude.<$> spotPrice,+                               (JSON..=) "UserData" Prelude.<$> userData]))}+instance JSON.ToJSON LaunchConfiguration where+  toJSON LaunchConfiguration {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["ImageId" JSON..= imageId, "InstanceType" JSON..= instanceType]+              (Prelude.catMaybes+                 [(JSON..=) "AssociatePublicIpAddress"+                    Prelude.<$> associatePublicIpAddress,+                  (JSON..=) "BlockDeviceMappings" Prelude.<$> blockDeviceMappings,+                  (JSON..=) "ClassicLinkVPCId" Prelude.<$> classicLinkVPCId,+                  (JSON..=) "ClassicLinkVPCSecurityGroups"+                    Prelude.<$> classicLinkVPCSecurityGroups,+                  (JSON..=) "EbsOptimized" Prelude.<$> ebsOptimized,+                  (JSON..=) "IamInstanceProfile" Prelude.<$> iamInstanceProfile,+                  (JSON..=) "InstanceId" Prelude.<$> instanceId,+                  (JSON..=) "InstanceMonitoring" Prelude.<$> instanceMonitoring,+                  (JSON..=) "KernelId" Prelude.<$> kernelId,+                  (JSON..=) "KeyName" Prelude.<$> keyName,+                  (JSON..=) "LaunchConfigurationName"+                    Prelude.<$> launchConfigurationName,+                  (JSON..=) "MetadataOptions" Prelude.<$> metadataOptions,+                  (JSON..=) "PlacementTenancy" Prelude.<$> placementTenancy,+                  (JSON..=) "RamDiskId" Prelude.<$> ramDiskId,+                  (JSON..=) "SecurityGroups" Prelude.<$> securityGroups,+                  (JSON..=) "SpotPrice" Prelude.<$> spotPrice,+                  (JSON..=) "UserData" Prelude.<$> userData])))+instance Property "AssociatePublicIpAddress" LaunchConfiguration where+  type PropertyType "AssociatePublicIpAddress" LaunchConfiguration = Value Prelude.Bool+  set newValue LaunchConfiguration {..}+    = LaunchConfiguration+        {associatePublicIpAddress = Prelude.pure newValue, ..}+instance Property "BlockDeviceMappings" LaunchConfiguration where+  type PropertyType "BlockDeviceMappings" LaunchConfiguration = [BlockDeviceMappingProperty]+  set newValue LaunchConfiguration {..}+    = LaunchConfiguration+        {blockDeviceMappings = Prelude.pure newValue, ..}+instance Property "ClassicLinkVPCId" LaunchConfiguration where+  type PropertyType "ClassicLinkVPCId" LaunchConfiguration = Value Prelude.Text+  set newValue LaunchConfiguration {..}+    = LaunchConfiguration+        {classicLinkVPCId = Prelude.pure newValue, ..}+instance Property "ClassicLinkVPCSecurityGroups" LaunchConfiguration where+  type PropertyType "ClassicLinkVPCSecurityGroups" LaunchConfiguration = ValueList Prelude.Text+  set newValue LaunchConfiguration {..}+    = LaunchConfiguration+        {classicLinkVPCSecurityGroups = Prelude.pure newValue, ..}+instance Property "EbsOptimized" LaunchConfiguration where+  type PropertyType "EbsOptimized" LaunchConfiguration = Value Prelude.Bool+  set newValue LaunchConfiguration {..}+    = LaunchConfiguration {ebsOptimized = Prelude.pure newValue, ..}+instance Property "IamInstanceProfile" LaunchConfiguration where+  type PropertyType "IamInstanceProfile" LaunchConfiguration = Value Prelude.Text+  set newValue LaunchConfiguration {..}+    = LaunchConfiguration+        {iamInstanceProfile = Prelude.pure newValue, ..}+instance Property "ImageId" LaunchConfiguration where+  type PropertyType "ImageId" LaunchConfiguration = Value Prelude.Text+  set newValue LaunchConfiguration {..}+    = LaunchConfiguration {imageId = newValue, ..}+instance Property "InstanceId" LaunchConfiguration where+  type PropertyType "InstanceId" LaunchConfiguration = Value Prelude.Text+  set newValue LaunchConfiguration {..}+    = LaunchConfiguration {instanceId = Prelude.pure newValue, ..}+instance Property "InstanceMonitoring" LaunchConfiguration where+  type PropertyType "InstanceMonitoring" LaunchConfiguration = Value Prelude.Bool+  set newValue LaunchConfiguration {..}+    = LaunchConfiguration+        {instanceMonitoring = Prelude.pure newValue, ..}+instance Property "InstanceType" LaunchConfiguration where+  type PropertyType "InstanceType" LaunchConfiguration = Value Prelude.Text+  set newValue LaunchConfiguration {..}+    = LaunchConfiguration {instanceType = newValue, ..}+instance Property "KernelId" LaunchConfiguration where+  type PropertyType "KernelId" LaunchConfiguration = Value Prelude.Text+  set newValue LaunchConfiguration {..}+    = LaunchConfiguration {kernelId = Prelude.pure newValue, ..}+instance Property "KeyName" LaunchConfiguration where+  type PropertyType "KeyName" LaunchConfiguration = Value Prelude.Text+  set newValue LaunchConfiguration {..}+    = LaunchConfiguration {keyName = Prelude.pure newValue, ..}+instance Property "LaunchConfigurationName" LaunchConfiguration where+  type PropertyType "LaunchConfigurationName" LaunchConfiguration = Value Prelude.Text+  set newValue LaunchConfiguration {..}+    = LaunchConfiguration+        {launchConfigurationName = Prelude.pure newValue, ..}+instance Property "MetadataOptions" LaunchConfiguration where+  type PropertyType "MetadataOptions" LaunchConfiguration = MetadataOptionsProperty+  set newValue LaunchConfiguration {..}+    = LaunchConfiguration {metadataOptions = Prelude.pure newValue, ..}+instance Property "PlacementTenancy" LaunchConfiguration where+  type PropertyType "PlacementTenancy" LaunchConfiguration = Value Prelude.Text+  set newValue LaunchConfiguration {..}+    = LaunchConfiguration+        {placementTenancy = Prelude.pure newValue, ..}+instance Property "RamDiskId" LaunchConfiguration where+  type PropertyType "RamDiskId" LaunchConfiguration = Value Prelude.Text+  set newValue LaunchConfiguration {..}+    = LaunchConfiguration {ramDiskId = Prelude.pure newValue, ..}+instance Property "SecurityGroups" LaunchConfiguration where+  type PropertyType "SecurityGroups" LaunchConfiguration = ValueList Prelude.Text+  set newValue LaunchConfiguration {..}+    = LaunchConfiguration {securityGroups = Prelude.pure newValue, ..}+instance Property "SpotPrice" LaunchConfiguration where+  type PropertyType "SpotPrice" LaunchConfiguration = Value Prelude.Text+  set newValue LaunchConfiguration {..}+    = LaunchConfiguration {spotPrice = Prelude.pure newValue, ..}+instance Property "UserData" LaunchConfiguration where+  type PropertyType "UserData" LaunchConfiguration = Value Prelude.Text+  set newValue LaunchConfiguration {..}+    = LaunchConfiguration {userData = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/LaunchConfiguration/BlockDeviceMappingProperty.hs view
@@ -0,0 +1,68 @@+module Stratosphere.AutoScaling.LaunchConfiguration.BlockDeviceMappingProperty (+        module Exports, BlockDeviceMappingProperty(..),+        mkBlockDeviceMappingProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.LaunchConfiguration.BlockDeviceProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data BlockDeviceMappingProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfiguration-blockdevicemapping.html>+    BlockDeviceMappingProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfiguration-blockdevicemapping.html#cfn-autoscaling-launchconfiguration-blockdevicemapping-devicename>+                                deviceName :: (Value Prelude.Text),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfiguration-blockdevicemapping.html#cfn-autoscaling-launchconfiguration-blockdevicemapping-ebs>+                                ebs :: (Prelude.Maybe BlockDeviceProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfiguration-blockdevicemapping.html#cfn-autoscaling-launchconfiguration-blockdevicemapping-nodevice>+                                noDevice :: (Prelude.Maybe (Value Prelude.Bool)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfiguration-blockdevicemapping.html#cfn-autoscaling-launchconfiguration-blockdevicemapping-virtualname>+                                virtualName :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBlockDeviceMappingProperty ::+  Value Prelude.Text -> BlockDeviceMappingProperty+mkBlockDeviceMappingProperty deviceName+  = BlockDeviceMappingProperty+      {haddock_workaround_ = (), deviceName = deviceName,+       ebs = Prelude.Nothing, noDevice = Prelude.Nothing,+       virtualName = Prelude.Nothing}+instance ToResourceProperties BlockDeviceMappingProperty where+  toResourceProperties BlockDeviceMappingProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::LaunchConfiguration.BlockDeviceMapping",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["DeviceName" JSON..= deviceName]+                           (Prelude.catMaybes+                              [(JSON..=) "Ebs" Prelude.<$> ebs,+                               (JSON..=) "NoDevice" Prelude.<$> noDevice,+                               (JSON..=) "VirtualName" Prelude.<$> virtualName]))}+instance JSON.ToJSON BlockDeviceMappingProperty where+  toJSON BlockDeviceMappingProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["DeviceName" JSON..= deviceName]+              (Prelude.catMaybes+                 [(JSON..=) "Ebs" Prelude.<$> ebs,+                  (JSON..=) "NoDevice" Prelude.<$> noDevice,+                  (JSON..=) "VirtualName" Prelude.<$> virtualName])))+instance Property "DeviceName" BlockDeviceMappingProperty where+  type PropertyType "DeviceName" BlockDeviceMappingProperty = Value Prelude.Text+  set newValue BlockDeviceMappingProperty {..}+    = BlockDeviceMappingProperty {deviceName = newValue, ..}+instance Property "Ebs" BlockDeviceMappingProperty where+  type PropertyType "Ebs" BlockDeviceMappingProperty = BlockDeviceProperty+  set newValue BlockDeviceMappingProperty {..}+    = BlockDeviceMappingProperty {ebs = Prelude.pure newValue, ..}+instance Property "NoDevice" BlockDeviceMappingProperty where+  type PropertyType "NoDevice" BlockDeviceMappingProperty = Value Prelude.Bool+  set newValue BlockDeviceMappingProperty {..}+    = BlockDeviceMappingProperty {noDevice = Prelude.pure newValue, ..}+instance Property "VirtualName" BlockDeviceMappingProperty where+  type PropertyType "VirtualName" BlockDeviceMappingProperty = Value Prelude.Text+  set newValue BlockDeviceMappingProperty {..}+    = BlockDeviceMappingProperty+        {virtualName = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/LaunchConfiguration/BlockDeviceMappingProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.LaunchConfiguration.BlockDeviceMappingProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data BlockDeviceMappingProperty :: Prelude.Type+instance ToResourceProperties BlockDeviceMappingProperty+instance Prelude.Eq BlockDeviceMappingProperty+instance Prelude.Show BlockDeviceMappingProperty+instance JSON.ToJSON BlockDeviceMappingProperty
+ gen/Stratosphere/AutoScaling/LaunchConfiguration/BlockDeviceProperty.hs view
@@ -0,0 +1,88 @@+module Stratosphere.AutoScaling.LaunchConfiguration.BlockDeviceProperty (+        BlockDeviceProperty(..), mkBlockDeviceProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data BlockDeviceProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfiguration-blockdevice.html>+    BlockDeviceProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfiguration-blockdevice.html#cfn-autoscaling-launchconfiguration-blockdevice-deleteontermination>+                         deleteOnTermination :: (Prelude.Maybe (Value Prelude.Bool)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfiguration-blockdevice.html#cfn-autoscaling-launchconfiguration-blockdevice-encrypted>+                         encrypted :: (Prelude.Maybe (Value Prelude.Bool)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfiguration-blockdevice.html#cfn-autoscaling-launchconfiguration-blockdevice-iops>+                         iops :: (Prelude.Maybe (Value Prelude.Integer)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfiguration-blockdevice.html#cfn-autoscaling-launchconfiguration-blockdevice-snapshotid>+                         snapshotId :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfiguration-blockdevice.html#cfn-autoscaling-launchconfiguration-blockdevice-throughput>+                         throughput :: (Prelude.Maybe (Value Prelude.Integer)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfiguration-blockdevice.html#cfn-autoscaling-launchconfiguration-blockdevice-volumesize>+                         volumeSize :: (Prelude.Maybe (Value Prelude.Integer)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfiguration-blockdevice.html#cfn-autoscaling-launchconfiguration-blockdevice-volumetype>+                         volumeType :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBlockDeviceProperty :: BlockDeviceProperty+mkBlockDeviceProperty+  = BlockDeviceProperty+      {haddock_workaround_ = (), deleteOnTermination = Prelude.Nothing,+       encrypted = Prelude.Nothing, iops = Prelude.Nothing,+       snapshotId = Prelude.Nothing, throughput = Prelude.Nothing,+       volumeSize = Prelude.Nothing, volumeType = Prelude.Nothing}+instance ToResourceProperties BlockDeviceProperty where+  toResourceProperties BlockDeviceProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::LaunchConfiguration.BlockDevice",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DeleteOnTermination" Prelude.<$> deleteOnTermination,+                            (JSON..=) "Encrypted" Prelude.<$> encrypted,+                            (JSON..=) "Iops" Prelude.<$> iops,+                            (JSON..=) "SnapshotId" Prelude.<$> snapshotId,+                            (JSON..=) "Throughput" Prelude.<$> throughput,+                            (JSON..=) "VolumeSize" Prelude.<$> volumeSize,+                            (JSON..=) "VolumeType" Prelude.<$> volumeType])}+instance JSON.ToJSON BlockDeviceProperty where+  toJSON BlockDeviceProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DeleteOnTermination" Prelude.<$> deleteOnTermination,+               (JSON..=) "Encrypted" Prelude.<$> encrypted,+               (JSON..=) "Iops" Prelude.<$> iops,+               (JSON..=) "SnapshotId" Prelude.<$> snapshotId,+               (JSON..=) "Throughput" Prelude.<$> throughput,+               (JSON..=) "VolumeSize" Prelude.<$> volumeSize,+               (JSON..=) "VolumeType" Prelude.<$> volumeType]))+instance Property "DeleteOnTermination" BlockDeviceProperty where+  type PropertyType "DeleteOnTermination" BlockDeviceProperty = Value Prelude.Bool+  set newValue BlockDeviceProperty {..}+    = BlockDeviceProperty+        {deleteOnTermination = Prelude.pure newValue, ..}+instance Property "Encrypted" BlockDeviceProperty where+  type PropertyType "Encrypted" BlockDeviceProperty = Value Prelude.Bool+  set newValue BlockDeviceProperty {..}+    = BlockDeviceProperty {encrypted = Prelude.pure newValue, ..}+instance Property "Iops" BlockDeviceProperty where+  type PropertyType "Iops" BlockDeviceProperty = Value Prelude.Integer+  set newValue BlockDeviceProperty {..}+    = BlockDeviceProperty {iops = Prelude.pure newValue, ..}+instance Property "SnapshotId" BlockDeviceProperty where+  type PropertyType "SnapshotId" BlockDeviceProperty = Value Prelude.Text+  set newValue BlockDeviceProperty {..}+    = BlockDeviceProperty {snapshotId = Prelude.pure newValue, ..}+instance Property "Throughput" BlockDeviceProperty where+  type PropertyType "Throughput" BlockDeviceProperty = Value Prelude.Integer+  set newValue BlockDeviceProperty {..}+    = BlockDeviceProperty {throughput = Prelude.pure newValue, ..}+instance Property "VolumeSize" BlockDeviceProperty where+  type PropertyType "VolumeSize" BlockDeviceProperty = Value Prelude.Integer+  set newValue BlockDeviceProperty {..}+    = BlockDeviceProperty {volumeSize = Prelude.pure newValue, ..}+instance Property "VolumeType" BlockDeviceProperty where+  type PropertyType "VolumeType" BlockDeviceProperty = Value Prelude.Text+  set newValue BlockDeviceProperty {..}+    = BlockDeviceProperty {volumeType = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/LaunchConfiguration/BlockDeviceProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.LaunchConfiguration.BlockDeviceProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data BlockDeviceProperty :: Prelude.Type+instance ToResourceProperties BlockDeviceProperty+instance Prelude.Eq BlockDeviceProperty+instance Prelude.Show BlockDeviceProperty+instance JSON.ToJSON BlockDeviceProperty
+ gen/Stratosphere/AutoScaling/LaunchConfiguration/MetadataOptionsProperty.hs view
@@ -0,0 +1,58 @@+module Stratosphere.AutoScaling.LaunchConfiguration.MetadataOptionsProperty (+        MetadataOptionsProperty(..), mkMetadataOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MetadataOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfiguration-metadataoptions.html>+    MetadataOptionsProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfiguration-metadataoptions.html#cfn-autoscaling-launchconfiguration-metadataoptions-httpendpoint>+                             httpEndpoint :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfiguration-metadataoptions.html#cfn-autoscaling-launchconfiguration-metadataoptions-httpputresponsehoplimit>+                             httpPutResponseHopLimit :: (Prelude.Maybe (Value Prelude.Integer)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-launchconfiguration-metadataoptions.html#cfn-autoscaling-launchconfiguration-metadataoptions-httptokens>+                             httpTokens :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMetadataOptionsProperty :: MetadataOptionsProperty+mkMetadataOptionsProperty+  = MetadataOptionsProperty+      {haddock_workaround_ = (), httpEndpoint = Prelude.Nothing,+       httpPutResponseHopLimit = Prelude.Nothing,+       httpTokens = Prelude.Nothing}+instance ToResourceProperties MetadataOptionsProperty where+  toResourceProperties MetadataOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::LaunchConfiguration.MetadataOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "HttpEndpoint" Prelude.<$> httpEndpoint,+                            (JSON..=) "HttpPutResponseHopLimit"+                              Prelude.<$> httpPutResponseHopLimit,+                            (JSON..=) "HttpTokens" Prelude.<$> httpTokens])}+instance JSON.ToJSON MetadataOptionsProperty where+  toJSON MetadataOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "HttpEndpoint" Prelude.<$> httpEndpoint,+               (JSON..=) "HttpPutResponseHopLimit"+                 Prelude.<$> httpPutResponseHopLimit,+               (JSON..=) "HttpTokens" Prelude.<$> httpTokens]))+instance Property "HttpEndpoint" MetadataOptionsProperty where+  type PropertyType "HttpEndpoint" MetadataOptionsProperty = Value Prelude.Text+  set newValue MetadataOptionsProperty {..}+    = MetadataOptionsProperty+        {httpEndpoint = Prelude.pure newValue, ..}+instance Property "HttpPutResponseHopLimit" MetadataOptionsProperty where+  type PropertyType "HttpPutResponseHopLimit" MetadataOptionsProperty = Value Prelude.Integer+  set newValue MetadataOptionsProperty {..}+    = MetadataOptionsProperty+        {httpPutResponseHopLimit = Prelude.pure newValue, ..}+instance Property "HttpTokens" MetadataOptionsProperty where+  type PropertyType "HttpTokens" MetadataOptionsProperty = Value Prelude.Text+  set newValue MetadataOptionsProperty {..}+    = MetadataOptionsProperty {httpTokens = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/LaunchConfiguration/MetadataOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.LaunchConfiguration.MetadataOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MetadataOptionsProperty :: Prelude.Type+instance ToResourceProperties MetadataOptionsProperty+instance Prelude.Eq MetadataOptionsProperty+instance Prelude.Show MetadataOptionsProperty+instance JSON.ToJSON MetadataOptionsProperty
+ gen/Stratosphere/AutoScaling/LifecycleHook.hs view
@@ -0,0 +1,104 @@+module Stratosphere.AutoScaling.LifecycleHook (+        LifecycleHook(..), mkLifecycleHook+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LifecycleHook+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-lifecyclehook.html>+    LifecycleHook {haddock_workaround_ :: (),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-lifecyclehook.html#cfn-autoscaling-lifecyclehook-autoscalinggroupname>+                   autoScalingGroupName :: (Value Prelude.Text),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-lifecyclehook.html#cfn-autoscaling-lifecyclehook-defaultresult>+                   defaultResult :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-lifecyclehook.html#cfn-autoscaling-lifecyclehook-heartbeattimeout>+                   heartbeatTimeout :: (Prelude.Maybe (Value Prelude.Integer)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-lifecyclehook.html#cfn-autoscaling-lifecyclehook-lifecyclehookname>+                   lifecycleHookName :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-lifecyclehook.html#cfn-autoscaling-lifecyclehook-lifecycletransition>+                   lifecycleTransition :: (Value Prelude.Text),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-lifecyclehook.html#cfn-autoscaling-lifecyclehook-notificationmetadata>+                   notificationMetadata :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-lifecyclehook.html#cfn-autoscaling-lifecyclehook-notificationtargetarn>+                   notificationTargetARN :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-lifecyclehook.html#cfn-autoscaling-lifecyclehook-rolearn>+                   roleARN :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLifecycleHook ::+  Value Prelude.Text -> Value Prelude.Text -> LifecycleHook+mkLifecycleHook autoScalingGroupName lifecycleTransition+  = LifecycleHook+      {haddock_workaround_ = (),+       autoScalingGroupName = autoScalingGroupName,+       lifecycleTransition = lifecycleTransition,+       defaultResult = Prelude.Nothing,+       heartbeatTimeout = Prelude.Nothing,+       lifecycleHookName = Prelude.Nothing,+       notificationMetadata = Prelude.Nothing,+       notificationTargetARN = Prelude.Nothing, roleARN = Prelude.Nothing}+instance ToResourceProperties LifecycleHook where+  toResourceProperties LifecycleHook {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::LifecycleHook",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["AutoScalingGroupName" JSON..= autoScalingGroupName,+                            "LifecycleTransition" JSON..= lifecycleTransition]+                           (Prelude.catMaybes+                              [(JSON..=) "DefaultResult" Prelude.<$> defaultResult,+                               (JSON..=) "HeartbeatTimeout" Prelude.<$> heartbeatTimeout,+                               (JSON..=) "LifecycleHookName" Prelude.<$> lifecycleHookName,+                               (JSON..=) "NotificationMetadata" Prelude.<$> notificationMetadata,+                               (JSON..=) "NotificationTargetARN"+                                 Prelude.<$> notificationTargetARN,+                               (JSON..=) "RoleARN" Prelude.<$> roleARN]))}+instance JSON.ToJSON LifecycleHook where+  toJSON LifecycleHook {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["AutoScalingGroupName" JSON..= autoScalingGroupName,+               "LifecycleTransition" JSON..= lifecycleTransition]+              (Prelude.catMaybes+                 [(JSON..=) "DefaultResult" Prelude.<$> defaultResult,+                  (JSON..=) "HeartbeatTimeout" Prelude.<$> heartbeatTimeout,+                  (JSON..=) "LifecycleHookName" Prelude.<$> lifecycleHookName,+                  (JSON..=) "NotificationMetadata" Prelude.<$> notificationMetadata,+                  (JSON..=) "NotificationTargetARN"+                    Prelude.<$> notificationTargetARN,+                  (JSON..=) "RoleARN" Prelude.<$> roleARN])))+instance Property "AutoScalingGroupName" LifecycleHook where+  type PropertyType "AutoScalingGroupName" LifecycleHook = Value Prelude.Text+  set newValue LifecycleHook {..}+    = LifecycleHook {autoScalingGroupName = newValue, ..}+instance Property "DefaultResult" LifecycleHook where+  type PropertyType "DefaultResult" LifecycleHook = Value Prelude.Text+  set newValue LifecycleHook {..}+    = LifecycleHook {defaultResult = Prelude.pure newValue, ..}+instance Property "HeartbeatTimeout" LifecycleHook where+  type PropertyType "HeartbeatTimeout" LifecycleHook = Value Prelude.Integer+  set newValue LifecycleHook {..}+    = LifecycleHook {heartbeatTimeout = Prelude.pure newValue, ..}+instance Property "LifecycleHookName" LifecycleHook where+  type PropertyType "LifecycleHookName" LifecycleHook = Value Prelude.Text+  set newValue LifecycleHook {..}+    = LifecycleHook {lifecycleHookName = Prelude.pure newValue, ..}+instance Property "LifecycleTransition" LifecycleHook where+  type PropertyType "LifecycleTransition" LifecycleHook = Value Prelude.Text+  set newValue LifecycleHook {..}+    = LifecycleHook {lifecycleTransition = newValue, ..}+instance Property "NotificationMetadata" LifecycleHook where+  type PropertyType "NotificationMetadata" LifecycleHook = Value Prelude.Text+  set newValue LifecycleHook {..}+    = LifecycleHook {notificationMetadata = Prelude.pure newValue, ..}+instance Property "NotificationTargetARN" LifecycleHook where+  type PropertyType "NotificationTargetARN" LifecycleHook = Value Prelude.Text+  set newValue LifecycleHook {..}+    = LifecycleHook {notificationTargetARN = Prelude.pure newValue, ..}+instance Property "RoleARN" LifecycleHook where+  type PropertyType "RoleARN" LifecycleHook = Value Prelude.Text+  set newValue LifecycleHook {..}+    = LifecycleHook {roleARN = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/ScalingPolicy.hs view
@@ -0,0 +1,145 @@+module Stratosphere.AutoScaling.ScalingPolicy (+        module Exports, ScalingPolicy(..), mkScalingPolicy+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingConfigurationProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.StepAdjustmentProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.TargetTrackingConfigurationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ScalingPolicy+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html>+    ScalingPolicy {haddock_workaround_ :: (),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-adjustmenttype>+                   adjustmentType :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-autoscalinggroupname>+                   autoScalingGroupName :: (Value Prelude.Text),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-cooldown>+                   cooldown :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-estimatedinstancewarmup>+                   estimatedInstanceWarmup :: (Prelude.Maybe (Value Prelude.Integer)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-metricaggregationtype>+                   metricAggregationType :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-minadjustmentmagnitude>+                   minAdjustmentMagnitude :: (Prelude.Maybe (Value Prelude.Integer)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-policytype>+                   policyType :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-predictivescalingconfiguration>+                   predictiveScalingConfiguration :: (Prelude.Maybe PredictiveScalingConfigurationProperty),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-scalingadjustment>+                   scalingAdjustment :: (Prelude.Maybe (Value Prelude.Integer)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-stepadjustments>+                   stepAdjustments :: (Prelude.Maybe [StepAdjustmentProperty]),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html#cfn-autoscaling-scalingpolicy-targettrackingconfiguration>+                   targetTrackingConfiguration :: (Prelude.Maybe TargetTrackingConfigurationProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkScalingPolicy :: Value Prelude.Text -> ScalingPolicy+mkScalingPolicy autoScalingGroupName+  = ScalingPolicy+      {haddock_workaround_ = (),+       autoScalingGroupName = autoScalingGroupName,+       adjustmentType = Prelude.Nothing, cooldown = Prelude.Nothing,+       estimatedInstanceWarmup = Prelude.Nothing,+       metricAggregationType = Prelude.Nothing,+       minAdjustmentMagnitude = Prelude.Nothing,+       policyType = Prelude.Nothing,+       predictiveScalingConfiguration = Prelude.Nothing,+       scalingAdjustment = Prelude.Nothing,+       stepAdjustments = Prelude.Nothing,+       targetTrackingConfiguration = Prelude.Nothing}+instance ToResourceProperties ScalingPolicy where+  toResourceProperties ScalingPolicy {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::ScalingPolicy",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["AutoScalingGroupName" JSON..= autoScalingGroupName]+                           (Prelude.catMaybes+                              [(JSON..=) "AdjustmentType" Prelude.<$> adjustmentType,+                               (JSON..=) "Cooldown" Prelude.<$> cooldown,+                               (JSON..=) "EstimatedInstanceWarmup"+                                 Prelude.<$> estimatedInstanceWarmup,+                               (JSON..=) "MetricAggregationType"+                                 Prelude.<$> metricAggregationType,+                               (JSON..=) "MinAdjustmentMagnitude"+                                 Prelude.<$> minAdjustmentMagnitude,+                               (JSON..=) "PolicyType" Prelude.<$> policyType,+                               (JSON..=) "PredictiveScalingConfiguration"+                                 Prelude.<$> predictiveScalingConfiguration,+                               (JSON..=) "ScalingAdjustment" Prelude.<$> scalingAdjustment,+                               (JSON..=) "StepAdjustments" Prelude.<$> stepAdjustments,+                               (JSON..=) "TargetTrackingConfiguration"+                                 Prelude.<$> targetTrackingConfiguration]))}+instance JSON.ToJSON ScalingPolicy where+  toJSON ScalingPolicy {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["AutoScalingGroupName" JSON..= autoScalingGroupName]+              (Prelude.catMaybes+                 [(JSON..=) "AdjustmentType" Prelude.<$> adjustmentType,+                  (JSON..=) "Cooldown" Prelude.<$> cooldown,+                  (JSON..=) "EstimatedInstanceWarmup"+                    Prelude.<$> estimatedInstanceWarmup,+                  (JSON..=) "MetricAggregationType"+                    Prelude.<$> metricAggregationType,+                  (JSON..=) "MinAdjustmentMagnitude"+                    Prelude.<$> minAdjustmentMagnitude,+                  (JSON..=) "PolicyType" Prelude.<$> policyType,+                  (JSON..=) "PredictiveScalingConfiguration"+                    Prelude.<$> predictiveScalingConfiguration,+                  (JSON..=) "ScalingAdjustment" Prelude.<$> scalingAdjustment,+                  (JSON..=) "StepAdjustments" Prelude.<$> stepAdjustments,+                  (JSON..=) "TargetTrackingConfiguration"+                    Prelude.<$> targetTrackingConfiguration])))+instance Property "AdjustmentType" ScalingPolicy where+  type PropertyType "AdjustmentType" ScalingPolicy = Value Prelude.Text+  set newValue ScalingPolicy {..}+    = ScalingPolicy {adjustmentType = Prelude.pure newValue, ..}+instance Property "AutoScalingGroupName" ScalingPolicy where+  type PropertyType "AutoScalingGroupName" ScalingPolicy = Value Prelude.Text+  set newValue ScalingPolicy {..}+    = ScalingPolicy {autoScalingGroupName = newValue, ..}+instance Property "Cooldown" ScalingPolicy where+  type PropertyType "Cooldown" ScalingPolicy = Value Prelude.Text+  set newValue ScalingPolicy {..}+    = ScalingPolicy {cooldown = Prelude.pure newValue, ..}+instance Property "EstimatedInstanceWarmup" ScalingPolicy where+  type PropertyType "EstimatedInstanceWarmup" ScalingPolicy = Value Prelude.Integer+  set newValue ScalingPolicy {..}+    = ScalingPolicy+        {estimatedInstanceWarmup = Prelude.pure newValue, ..}+instance Property "MetricAggregationType" ScalingPolicy where+  type PropertyType "MetricAggregationType" ScalingPolicy = Value Prelude.Text+  set newValue ScalingPolicy {..}+    = ScalingPolicy {metricAggregationType = Prelude.pure newValue, ..}+instance Property "MinAdjustmentMagnitude" ScalingPolicy where+  type PropertyType "MinAdjustmentMagnitude" ScalingPolicy = Value Prelude.Integer+  set newValue ScalingPolicy {..}+    = ScalingPolicy+        {minAdjustmentMagnitude = Prelude.pure newValue, ..}+instance Property "PolicyType" ScalingPolicy where+  type PropertyType "PolicyType" ScalingPolicy = Value Prelude.Text+  set newValue ScalingPolicy {..}+    = ScalingPolicy {policyType = Prelude.pure newValue, ..}+instance Property "PredictiveScalingConfiguration" ScalingPolicy where+  type PropertyType "PredictiveScalingConfiguration" ScalingPolicy = PredictiveScalingConfigurationProperty+  set newValue ScalingPolicy {..}+    = ScalingPolicy+        {predictiveScalingConfiguration = Prelude.pure newValue, ..}+instance Property "ScalingAdjustment" ScalingPolicy where+  type PropertyType "ScalingAdjustment" ScalingPolicy = Value Prelude.Integer+  set newValue ScalingPolicy {..}+    = ScalingPolicy {scalingAdjustment = Prelude.pure newValue, ..}+instance Property "StepAdjustments" ScalingPolicy where+  type PropertyType "StepAdjustments" ScalingPolicy = [StepAdjustmentProperty]+  set newValue ScalingPolicy {..}+    = ScalingPolicy {stepAdjustments = Prelude.pure newValue, ..}+instance Property "TargetTrackingConfiguration" ScalingPolicy where+  type PropertyType "TargetTrackingConfiguration" ScalingPolicy = TargetTrackingConfigurationProperty+  set newValue ScalingPolicy {..}+    = ScalingPolicy+        {targetTrackingConfiguration = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/ScalingPolicy/CustomizedMetricSpecificationProperty.hs view
@@ -0,0 +1,98 @@+module Stratosphere.AutoScaling.ScalingPolicy.CustomizedMetricSpecificationProperty (+        module Exports, CustomizedMetricSpecificationProperty(..),+        mkCustomizedMetricSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.MetricDimensionProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.TargetTrackingMetricDataQueryProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CustomizedMetricSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html>+    CustomizedMetricSpecificationProperty {haddock_workaround_ :: (),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html#cfn-autoscaling-scalingpolicy-customizedmetricspecification-dimensions>+                                           dimensions :: (Prelude.Maybe [MetricDimensionProperty]),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html#cfn-autoscaling-scalingpolicy-customizedmetricspecification-metricname>+                                           metricName :: (Prelude.Maybe (Value Prelude.Text)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html#cfn-autoscaling-scalingpolicy-customizedmetricspecification-metrics>+                                           metrics :: (Prelude.Maybe [TargetTrackingMetricDataQueryProperty]),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html#cfn-autoscaling-scalingpolicy-customizedmetricspecification-namespace>+                                           namespace :: (Prelude.Maybe (Value Prelude.Text)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html#cfn-autoscaling-scalingpolicy-customizedmetricspecification-period>+                                           period :: (Prelude.Maybe (Value Prelude.Integer)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html#cfn-autoscaling-scalingpolicy-customizedmetricspecification-statistic>+                                           statistic :: (Prelude.Maybe (Value Prelude.Text)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html#cfn-autoscaling-scalingpolicy-customizedmetricspecification-unit>+                                           unit :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCustomizedMetricSpecificationProperty ::+  CustomizedMetricSpecificationProperty+mkCustomizedMetricSpecificationProperty+  = CustomizedMetricSpecificationProperty+      {haddock_workaround_ = (), dimensions = Prelude.Nothing,+       metricName = Prelude.Nothing, metrics = Prelude.Nothing,+       namespace = Prelude.Nothing, period = Prelude.Nothing,+       statistic = Prelude.Nothing, unit = Prelude.Nothing}+instance ToResourceProperties CustomizedMetricSpecificationProperty where+  toResourceProperties CustomizedMetricSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::ScalingPolicy.CustomizedMetricSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Dimensions" Prelude.<$> dimensions,+                            (JSON..=) "MetricName" Prelude.<$> metricName,+                            (JSON..=) "Metrics" Prelude.<$> metrics,+                            (JSON..=) "Namespace" Prelude.<$> namespace,+                            (JSON..=) "Period" Prelude.<$> period,+                            (JSON..=) "Statistic" Prelude.<$> statistic,+                            (JSON..=) "Unit" Prelude.<$> unit])}+instance JSON.ToJSON CustomizedMetricSpecificationProperty where+  toJSON CustomizedMetricSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Dimensions" Prelude.<$> dimensions,+               (JSON..=) "MetricName" Prelude.<$> metricName,+               (JSON..=) "Metrics" Prelude.<$> metrics,+               (JSON..=) "Namespace" Prelude.<$> namespace,+               (JSON..=) "Period" Prelude.<$> period,+               (JSON..=) "Statistic" Prelude.<$> statistic,+               (JSON..=) "Unit" Prelude.<$> unit]))+instance Property "Dimensions" CustomizedMetricSpecificationProperty where+  type PropertyType "Dimensions" CustomizedMetricSpecificationProperty = [MetricDimensionProperty]+  set newValue CustomizedMetricSpecificationProperty {..}+    = CustomizedMetricSpecificationProperty+        {dimensions = Prelude.pure newValue, ..}+instance Property "MetricName" CustomizedMetricSpecificationProperty where+  type PropertyType "MetricName" CustomizedMetricSpecificationProperty = Value Prelude.Text+  set newValue CustomizedMetricSpecificationProperty {..}+    = CustomizedMetricSpecificationProperty+        {metricName = Prelude.pure newValue, ..}+instance Property "Metrics" CustomizedMetricSpecificationProperty where+  type PropertyType "Metrics" CustomizedMetricSpecificationProperty = [TargetTrackingMetricDataQueryProperty]+  set newValue CustomizedMetricSpecificationProperty {..}+    = CustomizedMetricSpecificationProperty+        {metrics = Prelude.pure newValue, ..}+instance Property "Namespace" CustomizedMetricSpecificationProperty where+  type PropertyType "Namespace" CustomizedMetricSpecificationProperty = Value Prelude.Text+  set newValue CustomizedMetricSpecificationProperty {..}+    = CustomizedMetricSpecificationProperty+        {namespace = Prelude.pure newValue, ..}+instance Property "Period" CustomizedMetricSpecificationProperty where+  type PropertyType "Period" CustomizedMetricSpecificationProperty = Value Prelude.Integer+  set newValue CustomizedMetricSpecificationProperty {..}+    = CustomizedMetricSpecificationProperty+        {period = Prelude.pure newValue, ..}+instance Property "Statistic" CustomizedMetricSpecificationProperty where+  type PropertyType "Statistic" CustomizedMetricSpecificationProperty = Value Prelude.Text+  set newValue CustomizedMetricSpecificationProperty {..}+    = CustomizedMetricSpecificationProperty+        {statistic = Prelude.pure newValue, ..}+instance Property "Unit" CustomizedMetricSpecificationProperty where+  type PropertyType "Unit" CustomizedMetricSpecificationProperty = Value Prelude.Text+  set newValue CustomizedMetricSpecificationProperty {..}+    = CustomizedMetricSpecificationProperty+        {unit = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/ScalingPolicy/CustomizedMetricSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.ScalingPolicy.CustomizedMetricSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CustomizedMetricSpecificationProperty :: Prelude.Type+instance ToResourceProperties CustomizedMetricSpecificationProperty+instance Prelude.Eq CustomizedMetricSpecificationProperty+instance Prelude.Show CustomizedMetricSpecificationProperty+instance JSON.ToJSON CustomizedMetricSpecificationProperty
+ gen/Stratosphere/AutoScaling/ScalingPolicy/MetricDataQueryProperty.hs view
@@ -0,0 +1,75 @@+module Stratosphere.AutoScaling.ScalingPolicy.MetricDataQueryProperty (+        module Exports, MetricDataQueryProperty(..),+        mkMetricDataQueryProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.MetricStatProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MetricDataQueryProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metricdataquery.html>+    MetricDataQueryProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metricdataquery.html#cfn-autoscaling-scalingpolicy-metricdataquery-expression>+                             expression :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metricdataquery.html#cfn-autoscaling-scalingpolicy-metricdataquery-id>+                             id :: (Value Prelude.Text),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metricdataquery.html#cfn-autoscaling-scalingpolicy-metricdataquery-label>+                             label :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metricdataquery.html#cfn-autoscaling-scalingpolicy-metricdataquery-metricstat>+                             metricStat :: (Prelude.Maybe MetricStatProperty),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metricdataquery.html#cfn-autoscaling-scalingpolicy-metricdataquery-returndata>+                             returnData :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMetricDataQueryProperty ::+  Value Prelude.Text -> MetricDataQueryProperty+mkMetricDataQueryProperty id+  = MetricDataQueryProperty+      {haddock_workaround_ = (), id = id, expression = Prelude.Nothing,+       label = Prelude.Nothing, metricStat = Prelude.Nothing,+       returnData = Prelude.Nothing}+instance ToResourceProperties MetricDataQueryProperty where+  toResourceProperties MetricDataQueryProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::ScalingPolicy.MetricDataQuery",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Id" JSON..= id]+                           (Prelude.catMaybes+                              [(JSON..=) "Expression" Prelude.<$> expression,+                               (JSON..=) "Label" Prelude.<$> label,+                               (JSON..=) "MetricStat" Prelude.<$> metricStat,+                               (JSON..=) "ReturnData" Prelude.<$> returnData]))}+instance JSON.ToJSON MetricDataQueryProperty where+  toJSON MetricDataQueryProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Id" JSON..= id]+              (Prelude.catMaybes+                 [(JSON..=) "Expression" Prelude.<$> expression,+                  (JSON..=) "Label" Prelude.<$> label,+                  (JSON..=) "MetricStat" Prelude.<$> metricStat,+                  (JSON..=) "ReturnData" Prelude.<$> returnData])))+instance Property "Expression" MetricDataQueryProperty where+  type PropertyType "Expression" MetricDataQueryProperty = Value Prelude.Text+  set newValue MetricDataQueryProperty {..}+    = MetricDataQueryProperty {expression = Prelude.pure newValue, ..}+instance Property "Id" MetricDataQueryProperty where+  type PropertyType "Id" MetricDataQueryProperty = Value Prelude.Text+  set newValue MetricDataQueryProperty {..}+    = MetricDataQueryProperty {id = newValue, ..}+instance Property "Label" MetricDataQueryProperty where+  type PropertyType "Label" MetricDataQueryProperty = Value Prelude.Text+  set newValue MetricDataQueryProperty {..}+    = MetricDataQueryProperty {label = Prelude.pure newValue, ..}+instance Property "MetricStat" MetricDataQueryProperty where+  type PropertyType "MetricStat" MetricDataQueryProperty = MetricStatProperty+  set newValue MetricDataQueryProperty {..}+    = MetricDataQueryProperty {metricStat = Prelude.pure newValue, ..}+instance Property "ReturnData" MetricDataQueryProperty where+  type PropertyType "ReturnData" MetricDataQueryProperty = Value Prelude.Bool+  set newValue MetricDataQueryProperty {..}+    = MetricDataQueryProperty {returnData = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/ScalingPolicy/MetricDataQueryProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.ScalingPolicy.MetricDataQueryProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MetricDataQueryProperty :: Prelude.Type+instance ToResourceProperties MetricDataQueryProperty+instance Prelude.Eq MetricDataQueryProperty+instance Prelude.Show MetricDataQueryProperty+instance JSON.ToJSON MetricDataQueryProperty
+ gen/Stratosphere/AutoScaling/ScalingPolicy/MetricDimensionProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.AutoScaling.ScalingPolicy.MetricDimensionProperty (+        MetricDimensionProperty(..), mkMetricDimensionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MetricDimensionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metricdimension.html>+    MetricDimensionProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metricdimension.html#cfn-autoscaling-scalingpolicy-metricdimension-name>+                             name :: (Value Prelude.Text),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metricdimension.html#cfn-autoscaling-scalingpolicy-metricdimension-value>+                             value :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMetricDimensionProperty ::+  Value Prelude.Text -> Value Prelude.Text -> MetricDimensionProperty+mkMetricDimensionProperty name value+  = MetricDimensionProperty+      {haddock_workaround_ = (), name = name, value = value}+instance ToResourceProperties MetricDimensionProperty where+  toResourceProperties MetricDimensionProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::ScalingPolicy.MetricDimension",+         supportsTags = Prelude.False,+         properties = ["Name" JSON..= name, "Value" JSON..= value]}+instance JSON.ToJSON MetricDimensionProperty where+  toJSON MetricDimensionProperty {..}+    = JSON.object ["Name" JSON..= name, "Value" JSON..= value]+instance Property "Name" MetricDimensionProperty where+  type PropertyType "Name" MetricDimensionProperty = Value Prelude.Text+  set newValue MetricDimensionProperty {..}+    = MetricDimensionProperty {name = newValue, ..}+instance Property "Value" MetricDimensionProperty where+  type PropertyType "Value" MetricDimensionProperty = Value Prelude.Text+  set newValue MetricDimensionProperty {..}+    = MetricDimensionProperty {value = newValue, ..}
+ gen/Stratosphere/AutoScaling/ScalingPolicy/MetricDimensionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.ScalingPolicy.MetricDimensionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MetricDimensionProperty :: Prelude.Type+instance ToResourceProperties MetricDimensionProperty+instance Prelude.Eq MetricDimensionProperty+instance Prelude.Show MetricDimensionProperty+instance JSON.ToJSON MetricDimensionProperty
+ gen/Stratosphere/AutoScaling/ScalingPolicy/MetricProperty.hs view
@@ -0,0 +1,55 @@+module Stratosphere.AutoScaling.ScalingPolicy.MetricProperty (+        module Exports, MetricProperty(..), mkMetricProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.MetricDimensionProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MetricProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metric.html>+    MetricProperty {haddock_workaround_ :: (),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metric.html#cfn-autoscaling-scalingpolicy-metric-dimensions>+                    dimensions :: (Prelude.Maybe [MetricDimensionProperty]),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metric.html#cfn-autoscaling-scalingpolicy-metric-metricname>+                    metricName :: (Value Prelude.Text),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metric.html#cfn-autoscaling-scalingpolicy-metric-namespace>+                    namespace :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMetricProperty ::+  Value Prelude.Text -> Value Prelude.Text -> MetricProperty+mkMetricProperty metricName namespace+  = MetricProperty+      {haddock_workaround_ = (), metricName = metricName,+       namespace = namespace, dimensions = Prelude.Nothing}+instance ToResourceProperties MetricProperty where+  toResourceProperties MetricProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::ScalingPolicy.Metric",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["MetricName" JSON..= metricName, "Namespace" JSON..= namespace]+                           (Prelude.catMaybes+                              [(JSON..=) "Dimensions" Prelude.<$> dimensions]))}+instance JSON.ToJSON MetricProperty where+  toJSON MetricProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["MetricName" JSON..= metricName, "Namespace" JSON..= namespace]+              (Prelude.catMaybes+                 [(JSON..=) "Dimensions" Prelude.<$> dimensions])))+instance Property "Dimensions" MetricProperty where+  type PropertyType "Dimensions" MetricProperty = [MetricDimensionProperty]+  set newValue MetricProperty {..}+    = MetricProperty {dimensions = Prelude.pure newValue, ..}+instance Property "MetricName" MetricProperty where+  type PropertyType "MetricName" MetricProperty = Value Prelude.Text+  set newValue MetricProperty {..}+    = MetricProperty {metricName = newValue, ..}+instance Property "Namespace" MetricProperty where+  type PropertyType "Namespace" MetricProperty = Value Prelude.Text+  set newValue MetricProperty {..}+    = MetricProperty {namespace = newValue, ..}
+ gen/Stratosphere/AutoScaling/ScalingPolicy/MetricProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.ScalingPolicy.MetricProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MetricProperty :: Prelude.Type+instance ToResourceProperties MetricProperty+instance Prelude.Eq MetricProperty+instance Prelude.Show MetricProperty+instance JSON.ToJSON MetricProperty
+ gen/Stratosphere/AutoScaling/ScalingPolicy/MetricStatProperty.hs view
@@ -0,0 +1,53 @@+module Stratosphere.AutoScaling.ScalingPolicy.MetricStatProperty (+        module Exports, MetricStatProperty(..), mkMetricStatProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.MetricProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MetricStatProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metricstat.html>+    MetricStatProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metricstat.html#cfn-autoscaling-scalingpolicy-metricstat-metric>+                        metric :: MetricProperty,+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metricstat.html#cfn-autoscaling-scalingpolicy-metricstat-stat>+                        stat :: (Value Prelude.Text),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metricstat.html#cfn-autoscaling-scalingpolicy-metricstat-unit>+                        unit :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMetricStatProperty ::+  MetricProperty -> Value Prelude.Text -> MetricStatProperty+mkMetricStatProperty metric stat+  = MetricStatProperty+      {haddock_workaround_ = (), metric = metric, stat = stat,+       unit = Prelude.Nothing}+instance ToResourceProperties MetricStatProperty where+  toResourceProperties MetricStatProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::ScalingPolicy.MetricStat",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Metric" JSON..= metric, "Stat" JSON..= stat]+                           (Prelude.catMaybes [(JSON..=) "Unit" Prelude.<$> unit]))}+instance JSON.ToJSON MetricStatProperty where+  toJSON MetricStatProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Metric" JSON..= metric, "Stat" JSON..= stat]+              (Prelude.catMaybes [(JSON..=) "Unit" Prelude.<$> unit])))+instance Property "Metric" MetricStatProperty where+  type PropertyType "Metric" MetricStatProperty = MetricProperty+  set newValue MetricStatProperty {..}+    = MetricStatProperty {metric = newValue, ..}+instance Property "Stat" MetricStatProperty where+  type PropertyType "Stat" MetricStatProperty = Value Prelude.Text+  set newValue MetricStatProperty {..}+    = MetricStatProperty {stat = newValue, ..}+instance Property "Unit" MetricStatProperty where+  type PropertyType "Unit" MetricStatProperty = Value Prelude.Text+  set newValue MetricStatProperty {..}+    = MetricStatProperty {unit = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/ScalingPolicy/MetricStatProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.ScalingPolicy.MetricStatProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MetricStatProperty :: Prelude.Type+instance ToResourceProperties MetricStatProperty+instance Prelude.Eq MetricStatProperty+instance Prelude.Show MetricStatProperty+instance JSON.ToJSON MetricStatProperty
+ gen/Stratosphere/AutoScaling/ScalingPolicy/PredefinedMetricSpecificationProperty.hs view
@@ -0,0 +1,52 @@+module Stratosphere.AutoScaling.ScalingPolicy.PredefinedMetricSpecificationProperty (+        PredefinedMetricSpecificationProperty(..),+        mkPredefinedMetricSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PredefinedMetricSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predefinedmetricspecification.html>+    PredefinedMetricSpecificationProperty {haddock_workaround_ :: (),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predefinedmetricspecification.html#cfn-autoscaling-scalingpolicy-predefinedmetricspecification-predefinedmetrictype>+                                           predefinedMetricType :: (Value Prelude.Text),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predefinedmetricspecification.html#cfn-autoscaling-scalingpolicy-predefinedmetricspecification-resourcelabel>+                                           resourceLabel :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredefinedMetricSpecificationProperty ::+  Value Prelude.Text -> PredefinedMetricSpecificationProperty+mkPredefinedMetricSpecificationProperty predefinedMetricType+  = PredefinedMetricSpecificationProperty+      {haddock_workaround_ = (),+       predefinedMetricType = predefinedMetricType,+       resourceLabel = Prelude.Nothing}+instance ToResourceProperties PredefinedMetricSpecificationProperty where+  toResourceProperties PredefinedMetricSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["PredefinedMetricType" JSON..= predefinedMetricType]+                           (Prelude.catMaybes+                              [(JSON..=) "ResourceLabel" Prelude.<$> resourceLabel]))}+instance JSON.ToJSON PredefinedMetricSpecificationProperty where+  toJSON PredefinedMetricSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["PredefinedMetricType" JSON..= predefinedMetricType]+              (Prelude.catMaybes+                 [(JSON..=) "ResourceLabel" Prelude.<$> resourceLabel])))+instance Property "PredefinedMetricType" PredefinedMetricSpecificationProperty where+  type PropertyType "PredefinedMetricType" PredefinedMetricSpecificationProperty = Value Prelude.Text+  set newValue PredefinedMetricSpecificationProperty {..}+    = PredefinedMetricSpecificationProperty+        {predefinedMetricType = newValue, ..}+instance Property "ResourceLabel" PredefinedMetricSpecificationProperty where+  type PropertyType "ResourceLabel" PredefinedMetricSpecificationProperty = Value Prelude.Text+  set newValue PredefinedMetricSpecificationProperty {..}+    = PredefinedMetricSpecificationProperty+        {resourceLabel = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/ScalingPolicy/PredefinedMetricSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.ScalingPolicy.PredefinedMetricSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredefinedMetricSpecificationProperty :: Prelude.Type+instance ToResourceProperties PredefinedMetricSpecificationProperty+instance Prelude.Eq PredefinedMetricSpecificationProperty+instance Prelude.Show PredefinedMetricSpecificationProperty+instance JSON.ToJSON PredefinedMetricSpecificationProperty
+ gen/Stratosphere/AutoScaling/ScalingPolicy/PredictiveScalingConfigurationProperty.hs view
@@ -0,0 +1,87 @@+module Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingConfigurationProperty (+        module Exports, PredictiveScalingConfigurationProperty(..),+        mkPredictiveScalingConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingMetricSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PredictiveScalingConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingconfiguration.html>+    PredictiveScalingConfigurationProperty {haddock_workaround_ :: (),+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingconfiguration.html#cfn-autoscaling-scalingpolicy-predictivescalingconfiguration-maxcapacitybreachbehavior>+                                            maxCapacityBreachBehavior :: (Prelude.Maybe (Value Prelude.Text)),+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingconfiguration.html#cfn-autoscaling-scalingpolicy-predictivescalingconfiguration-maxcapacitybuffer>+                                            maxCapacityBuffer :: (Prelude.Maybe (Value Prelude.Integer)),+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingconfiguration.html#cfn-autoscaling-scalingpolicy-predictivescalingconfiguration-metricspecifications>+                                            metricSpecifications :: [PredictiveScalingMetricSpecificationProperty],+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingconfiguration.html#cfn-autoscaling-scalingpolicy-predictivescalingconfiguration-mode>+                                            mode :: (Prelude.Maybe (Value Prelude.Text)),+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingconfiguration.html#cfn-autoscaling-scalingpolicy-predictivescalingconfiguration-schedulingbuffertime>+                                            schedulingBufferTime :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredictiveScalingConfigurationProperty ::+  [PredictiveScalingMetricSpecificationProperty]+  -> PredictiveScalingConfigurationProperty+mkPredictiveScalingConfigurationProperty metricSpecifications+  = PredictiveScalingConfigurationProperty+      {haddock_workaround_ = (),+       metricSpecifications = metricSpecifications,+       maxCapacityBreachBehavior = Prelude.Nothing,+       maxCapacityBuffer = Prelude.Nothing, mode = Prelude.Nothing,+       schedulingBufferTime = Prelude.Nothing}+instance ToResourceProperties PredictiveScalingConfigurationProperty where+  toResourceProperties PredictiveScalingConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::ScalingPolicy.PredictiveScalingConfiguration",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["MetricSpecifications" JSON..= metricSpecifications]+                           (Prelude.catMaybes+                              [(JSON..=) "MaxCapacityBreachBehavior"+                                 Prelude.<$> maxCapacityBreachBehavior,+                               (JSON..=) "MaxCapacityBuffer" Prelude.<$> maxCapacityBuffer,+                               (JSON..=) "Mode" Prelude.<$> mode,+                               (JSON..=) "SchedulingBufferTime"+                                 Prelude.<$> schedulingBufferTime]))}+instance JSON.ToJSON PredictiveScalingConfigurationProperty where+  toJSON PredictiveScalingConfigurationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["MetricSpecifications" JSON..= metricSpecifications]+              (Prelude.catMaybes+                 [(JSON..=) "MaxCapacityBreachBehavior"+                    Prelude.<$> maxCapacityBreachBehavior,+                  (JSON..=) "MaxCapacityBuffer" Prelude.<$> maxCapacityBuffer,+                  (JSON..=) "Mode" Prelude.<$> mode,+                  (JSON..=) "SchedulingBufferTime"+                    Prelude.<$> schedulingBufferTime])))+instance Property "MaxCapacityBreachBehavior" PredictiveScalingConfigurationProperty where+  type PropertyType "MaxCapacityBreachBehavior" PredictiveScalingConfigurationProperty = Value Prelude.Text+  set newValue PredictiveScalingConfigurationProperty {..}+    = PredictiveScalingConfigurationProperty+        {maxCapacityBreachBehavior = Prelude.pure newValue, ..}+instance Property "MaxCapacityBuffer" PredictiveScalingConfigurationProperty where+  type PropertyType "MaxCapacityBuffer" PredictiveScalingConfigurationProperty = Value Prelude.Integer+  set newValue PredictiveScalingConfigurationProperty {..}+    = PredictiveScalingConfigurationProperty+        {maxCapacityBuffer = Prelude.pure newValue, ..}+instance Property "MetricSpecifications" PredictiveScalingConfigurationProperty where+  type PropertyType "MetricSpecifications" PredictiveScalingConfigurationProperty = [PredictiveScalingMetricSpecificationProperty]+  set newValue PredictiveScalingConfigurationProperty {..}+    = PredictiveScalingConfigurationProperty+        {metricSpecifications = newValue, ..}+instance Property "Mode" PredictiveScalingConfigurationProperty where+  type PropertyType "Mode" PredictiveScalingConfigurationProperty = Value Prelude.Text+  set newValue PredictiveScalingConfigurationProperty {..}+    = PredictiveScalingConfigurationProperty+        {mode = Prelude.pure newValue, ..}+instance Property "SchedulingBufferTime" PredictiveScalingConfigurationProperty where+  type PropertyType "SchedulingBufferTime" PredictiveScalingConfigurationProperty = Value Prelude.Integer+  set newValue PredictiveScalingConfigurationProperty {..}+    = PredictiveScalingConfigurationProperty+        {schedulingBufferTime = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/ScalingPolicy/PredictiveScalingConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredictiveScalingConfigurationProperty :: Prelude.Type+instance ToResourceProperties PredictiveScalingConfigurationProperty+instance Prelude.Eq PredictiveScalingConfigurationProperty+instance Prelude.Show PredictiveScalingConfigurationProperty+instance JSON.ToJSON PredictiveScalingConfigurationProperty
+ gen/Stratosphere/AutoScaling/ScalingPolicy/PredictiveScalingCustomizedCapacityMetricProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingCustomizedCapacityMetricProperty (+        module Exports,+        PredictiveScalingCustomizedCapacityMetricProperty(..),+        mkPredictiveScalingCustomizedCapacityMetricProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.MetricDataQueryProperty as Exports+import Stratosphere.ResourceProperties+data PredictiveScalingCustomizedCapacityMetricProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingcustomizedcapacitymetric.html>+    PredictiveScalingCustomizedCapacityMetricProperty {haddock_workaround_ :: (),+                                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingcustomizedcapacitymetric.html#cfn-autoscaling-scalingpolicy-predictivescalingcustomizedcapacitymetric-metricdataqueries>+                                                       metricDataQueries :: [MetricDataQueryProperty]}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredictiveScalingCustomizedCapacityMetricProperty ::+  [MetricDataQueryProperty]+  -> PredictiveScalingCustomizedCapacityMetricProperty+mkPredictiveScalingCustomizedCapacityMetricProperty+  metricDataQueries+  = PredictiveScalingCustomizedCapacityMetricProperty+      {haddock_workaround_ = (), metricDataQueries = metricDataQueries}+instance ToResourceProperties PredictiveScalingCustomizedCapacityMetricProperty where+  toResourceProperties+    PredictiveScalingCustomizedCapacityMetricProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::ScalingPolicy.PredictiveScalingCustomizedCapacityMetric",+         supportsTags = Prelude.False,+         properties = ["MetricDataQueries" JSON..= metricDataQueries]}+instance JSON.ToJSON PredictiveScalingCustomizedCapacityMetricProperty where+  toJSON PredictiveScalingCustomizedCapacityMetricProperty {..}+    = JSON.object ["MetricDataQueries" JSON..= metricDataQueries]+instance Property "MetricDataQueries" PredictiveScalingCustomizedCapacityMetricProperty where+  type PropertyType "MetricDataQueries" PredictiveScalingCustomizedCapacityMetricProperty = [MetricDataQueryProperty]+  set newValue PredictiveScalingCustomizedCapacityMetricProperty {..}+    = PredictiveScalingCustomizedCapacityMetricProperty+        {metricDataQueries = newValue, ..}
+ gen/Stratosphere/AutoScaling/ScalingPolicy/PredictiveScalingCustomizedCapacityMetricProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingCustomizedCapacityMetricProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredictiveScalingCustomizedCapacityMetricProperty :: Prelude.Type+instance ToResourceProperties PredictiveScalingCustomizedCapacityMetricProperty+instance Prelude.Eq PredictiveScalingCustomizedCapacityMetricProperty+instance Prelude.Show PredictiveScalingCustomizedCapacityMetricProperty+instance JSON.ToJSON PredictiveScalingCustomizedCapacityMetricProperty
+ gen/Stratosphere/AutoScaling/ScalingPolicy/PredictiveScalingCustomizedLoadMetricProperty.hs view
@@ -0,0 +1,36 @@+module Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingCustomizedLoadMetricProperty (+        module Exports, PredictiveScalingCustomizedLoadMetricProperty(..),+        mkPredictiveScalingCustomizedLoadMetricProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.MetricDataQueryProperty as Exports+import Stratosphere.ResourceProperties+data PredictiveScalingCustomizedLoadMetricProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingcustomizedloadmetric.html>+    PredictiveScalingCustomizedLoadMetricProperty {haddock_workaround_ :: (),+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingcustomizedloadmetric.html#cfn-autoscaling-scalingpolicy-predictivescalingcustomizedloadmetric-metricdataqueries>+                                                   metricDataQueries :: [MetricDataQueryProperty]}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredictiveScalingCustomizedLoadMetricProperty ::+  [MetricDataQueryProperty]+  -> PredictiveScalingCustomizedLoadMetricProperty+mkPredictiveScalingCustomizedLoadMetricProperty metricDataQueries+  = PredictiveScalingCustomizedLoadMetricProperty+      {haddock_workaround_ = (), metricDataQueries = metricDataQueries}+instance ToResourceProperties PredictiveScalingCustomizedLoadMetricProperty where+  toResourceProperties+    PredictiveScalingCustomizedLoadMetricProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::ScalingPolicy.PredictiveScalingCustomizedLoadMetric",+         supportsTags = Prelude.False,+         properties = ["MetricDataQueries" JSON..= metricDataQueries]}+instance JSON.ToJSON PredictiveScalingCustomizedLoadMetricProperty where+  toJSON PredictiveScalingCustomizedLoadMetricProperty {..}+    = JSON.object ["MetricDataQueries" JSON..= metricDataQueries]+instance Property "MetricDataQueries" PredictiveScalingCustomizedLoadMetricProperty where+  type PropertyType "MetricDataQueries" PredictiveScalingCustomizedLoadMetricProperty = [MetricDataQueryProperty]+  set newValue PredictiveScalingCustomizedLoadMetricProperty {..}+    = PredictiveScalingCustomizedLoadMetricProperty+        {metricDataQueries = newValue, ..}
+ gen/Stratosphere/AutoScaling/ScalingPolicy/PredictiveScalingCustomizedLoadMetricProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingCustomizedLoadMetricProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredictiveScalingCustomizedLoadMetricProperty :: Prelude.Type+instance ToResourceProperties PredictiveScalingCustomizedLoadMetricProperty+instance Prelude.Eq PredictiveScalingCustomizedLoadMetricProperty+instance Prelude.Show PredictiveScalingCustomizedLoadMetricProperty+instance JSON.ToJSON PredictiveScalingCustomizedLoadMetricProperty
+ gen/Stratosphere/AutoScaling/ScalingPolicy/PredictiveScalingCustomizedScalingMetricProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingCustomizedScalingMetricProperty (+        module Exports,+        PredictiveScalingCustomizedScalingMetricProperty(..),+        mkPredictiveScalingCustomizedScalingMetricProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.MetricDataQueryProperty as Exports+import Stratosphere.ResourceProperties+data PredictiveScalingCustomizedScalingMetricProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingcustomizedscalingmetric.html>+    PredictiveScalingCustomizedScalingMetricProperty {haddock_workaround_ :: (),+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingcustomizedscalingmetric.html#cfn-autoscaling-scalingpolicy-predictivescalingcustomizedscalingmetric-metricdataqueries>+                                                      metricDataQueries :: [MetricDataQueryProperty]}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredictiveScalingCustomizedScalingMetricProperty ::+  [MetricDataQueryProperty]+  -> PredictiveScalingCustomizedScalingMetricProperty+mkPredictiveScalingCustomizedScalingMetricProperty+  metricDataQueries+  = PredictiveScalingCustomizedScalingMetricProperty+      {haddock_workaround_ = (), metricDataQueries = metricDataQueries}+instance ToResourceProperties PredictiveScalingCustomizedScalingMetricProperty where+  toResourceProperties+    PredictiveScalingCustomizedScalingMetricProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::ScalingPolicy.PredictiveScalingCustomizedScalingMetric",+         supportsTags = Prelude.False,+         properties = ["MetricDataQueries" JSON..= metricDataQueries]}+instance JSON.ToJSON PredictiveScalingCustomizedScalingMetricProperty where+  toJSON PredictiveScalingCustomizedScalingMetricProperty {..}+    = JSON.object ["MetricDataQueries" JSON..= metricDataQueries]+instance Property "MetricDataQueries" PredictiveScalingCustomizedScalingMetricProperty where+  type PropertyType "MetricDataQueries" PredictiveScalingCustomizedScalingMetricProperty = [MetricDataQueryProperty]+  set newValue PredictiveScalingCustomizedScalingMetricProperty {..}+    = PredictiveScalingCustomizedScalingMetricProperty+        {metricDataQueries = newValue, ..}
+ gen/Stratosphere/AutoScaling/ScalingPolicy/PredictiveScalingCustomizedScalingMetricProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingCustomizedScalingMetricProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredictiveScalingCustomizedScalingMetricProperty :: Prelude.Type+instance ToResourceProperties PredictiveScalingCustomizedScalingMetricProperty+instance Prelude.Eq PredictiveScalingCustomizedScalingMetricProperty+instance Prelude.Show PredictiveScalingCustomizedScalingMetricProperty+instance JSON.ToJSON PredictiveScalingCustomizedScalingMetricProperty
+ gen/Stratosphere/AutoScaling/ScalingPolicy/PredictiveScalingMetricSpecificationProperty.hs view
@@ -0,0 +1,121 @@+module Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingMetricSpecificationProperty (+        module Exports, PredictiveScalingMetricSpecificationProperty(..),+        mkPredictiveScalingMetricSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingCustomizedCapacityMetricProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingCustomizedLoadMetricProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingCustomizedScalingMetricProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingPredefinedLoadMetricProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingPredefinedMetricPairProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingPredefinedScalingMetricProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PredictiveScalingMetricSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingmetricspecification.html>+    PredictiveScalingMetricSpecificationProperty {haddock_workaround_ :: (),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingmetricspecification.html#cfn-autoscaling-scalingpolicy-predictivescalingmetricspecification-customizedcapacitymetricspecification>+                                                  customizedCapacityMetricSpecification :: (Prelude.Maybe PredictiveScalingCustomizedCapacityMetricProperty),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingmetricspecification.html#cfn-autoscaling-scalingpolicy-predictivescalingmetricspecification-customizedloadmetricspecification>+                                                  customizedLoadMetricSpecification :: (Prelude.Maybe PredictiveScalingCustomizedLoadMetricProperty),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingmetricspecification.html#cfn-autoscaling-scalingpolicy-predictivescalingmetricspecification-customizedscalingmetricspecification>+                                                  customizedScalingMetricSpecification :: (Prelude.Maybe PredictiveScalingCustomizedScalingMetricProperty),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingmetricspecification.html#cfn-autoscaling-scalingpolicy-predictivescalingmetricspecification-predefinedloadmetricspecification>+                                                  predefinedLoadMetricSpecification :: (Prelude.Maybe PredictiveScalingPredefinedLoadMetricProperty),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingmetricspecification.html#cfn-autoscaling-scalingpolicy-predictivescalingmetricspecification-predefinedmetricpairspecification>+                                                  predefinedMetricPairSpecification :: (Prelude.Maybe PredictiveScalingPredefinedMetricPairProperty),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingmetricspecification.html#cfn-autoscaling-scalingpolicy-predictivescalingmetricspecification-predefinedscalingmetricspecification>+                                                  predefinedScalingMetricSpecification :: (Prelude.Maybe PredictiveScalingPredefinedScalingMetricProperty),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingmetricspecification.html#cfn-autoscaling-scalingpolicy-predictivescalingmetricspecification-targetvalue>+                                                  targetValue :: (Value Prelude.Double)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredictiveScalingMetricSpecificationProperty ::+  Value Prelude.Double+  -> PredictiveScalingMetricSpecificationProperty+mkPredictiveScalingMetricSpecificationProperty targetValue+  = PredictiveScalingMetricSpecificationProperty+      {haddock_workaround_ = (), targetValue = targetValue,+       customizedCapacityMetricSpecification = Prelude.Nothing,+       customizedLoadMetricSpecification = Prelude.Nothing,+       customizedScalingMetricSpecification = Prelude.Nothing,+       predefinedLoadMetricSpecification = Prelude.Nothing,+       predefinedMetricPairSpecification = Prelude.Nothing,+       predefinedScalingMetricSpecification = Prelude.Nothing}+instance ToResourceProperties PredictiveScalingMetricSpecificationProperty where+  toResourceProperties+    PredictiveScalingMetricSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::ScalingPolicy.PredictiveScalingMetricSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["TargetValue" JSON..= targetValue]+                           (Prelude.catMaybes+                              [(JSON..=) "CustomizedCapacityMetricSpecification"+                                 Prelude.<$> customizedCapacityMetricSpecification,+                               (JSON..=) "CustomizedLoadMetricSpecification"+                                 Prelude.<$> customizedLoadMetricSpecification,+                               (JSON..=) "CustomizedScalingMetricSpecification"+                                 Prelude.<$> customizedScalingMetricSpecification,+                               (JSON..=) "PredefinedLoadMetricSpecification"+                                 Prelude.<$> predefinedLoadMetricSpecification,+                               (JSON..=) "PredefinedMetricPairSpecification"+                                 Prelude.<$> predefinedMetricPairSpecification,+                               (JSON..=) "PredefinedScalingMetricSpecification"+                                 Prelude.<$> predefinedScalingMetricSpecification]))}+instance JSON.ToJSON PredictiveScalingMetricSpecificationProperty where+  toJSON PredictiveScalingMetricSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["TargetValue" JSON..= targetValue]+              (Prelude.catMaybes+                 [(JSON..=) "CustomizedCapacityMetricSpecification"+                    Prelude.<$> customizedCapacityMetricSpecification,+                  (JSON..=) "CustomizedLoadMetricSpecification"+                    Prelude.<$> customizedLoadMetricSpecification,+                  (JSON..=) "CustomizedScalingMetricSpecification"+                    Prelude.<$> customizedScalingMetricSpecification,+                  (JSON..=) "PredefinedLoadMetricSpecification"+                    Prelude.<$> predefinedLoadMetricSpecification,+                  (JSON..=) "PredefinedMetricPairSpecification"+                    Prelude.<$> predefinedMetricPairSpecification,+                  (JSON..=) "PredefinedScalingMetricSpecification"+                    Prelude.<$> predefinedScalingMetricSpecification])))+instance Property "CustomizedCapacityMetricSpecification" PredictiveScalingMetricSpecificationProperty where+  type PropertyType "CustomizedCapacityMetricSpecification" PredictiveScalingMetricSpecificationProperty = PredictiveScalingCustomizedCapacityMetricProperty+  set newValue PredictiveScalingMetricSpecificationProperty {..}+    = PredictiveScalingMetricSpecificationProperty+        {customizedCapacityMetricSpecification = Prelude.pure newValue, ..}+instance Property "CustomizedLoadMetricSpecification" PredictiveScalingMetricSpecificationProperty where+  type PropertyType "CustomizedLoadMetricSpecification" PredictiveScalingMetricSpecificationProperty = PredictiveScalingCustomizedLoadMetricProperty+  set newValue PredictiveScalingMetricSpecificationProperty {..}+    = PredictiveScalingMetricSpecificationProperty+        {customizedLoadMetricSpecification = Prelude.pure newValue, ..}+instance Property "CustomizedScalingMetricSpecification" PredictiveScalingMetricSpecificationProperty where+  type PropertyType "CustomizedScalingMetricSpecification" PredictiveScalingMetricSpecificationProperty = PredictiveScalingCustomizedScalingMetricProperty+  set newValue PredictiveScalingMetricSpecificationProperty {..}+    = PredictiveScalingMetricSpecificationProperty+        {customizedScalingMetricSpecification = Prelude.pure newValue, ..}+instance Property "PredefinedLoadMetricSpecification" PredictiveScalingMetricSpecificationProperty where+  type PropertyType "PredefinedLoadMetricSpecification" PredictiveScalingMetricSpecificationProperty = PredictiveScalingPredefinedLoadMetricProperty+  set newValue PredictiveScalingMetricSpecificationProperty {..}+    = PredictiveScalingMetricSpecificationProperty+        {predefinedLoadMetricSpecification = Prelude.pure newValue, ..}+instance Property "PredefinedMetricPairSpecification" PredictiveScalingMetricSpecificationProperty where+  type PropertyType "PredefinedMetricPairSpecification" PredictiveScalingMetricSpecificationProperty = PredictiveScalingPredefinedMetricPairProperty+  set newValue PredictiveScalingMetricSpecificationProperty {..}+    = PredictiveScalingMetricSpecificationProperty+        {predefinedMetricPairSpecification = Prelude.pure newValue, ..}+instance Property "PredefinedScalingMetricSpecification" PredictiveScalingMetricSpecificationProperty where+  type PropertyType "PredefinedScalingMetricSpecification" PredictiveScalingMetricSpecificationProperty = PredictiveScalingPredefinedScalingMetricProperty+  set newValue PredictiveScalingMetricSpecificationProperty {..}+    = PredictiveScalingMetricSpecificationProperty+        {predefinedScalingMetricSpecification = Prelude.pure newValue, ..}+instance Property "TargetValue" PredictiveScalingMetricSpecificationProperty where+  type PropertyType "TargetValue" PredictiveScalingMetricSpecificationProperty = Value Prelude.Double+  set newValue PredictiveScalingMetricSpecificationProperty {..}+    = PredictiveScalingMetricSpecificationProperty+        {targetValue = newValue, ..}
+ gen/Stratosphere/AutoScaling/ScalingPolicy/PredictiveScalingMetricSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingMetricSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredictiveScalingMetricSpecificationProperty :: Prelude.Type+instance ToResourceProperties PredictiveScalingMetricSpecificationProperty+instance Prelude.Eq PredictiveScalingMetricSpecificationProperty+instance Prelude.Show PredictiveScalingMetricSpecificationProperty+instance JSON.ToJSON PredictiveScalingMetricSpecificationProperty
+ gen/Stratosphere/AutoScaling/ScalingPolicy/PredictiveScalingPredefinedLoadMetricProperty.hs view
@@ -0,0 +1,54 @@+module Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingPredefinedLoadMetricProperty (+        PredictiveScalingPredefinedLoadMetricProperty(..),+        mkPredictiveScalingPredefinedLoadMetricProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PredictiveScalingPredefinedLoadMetricProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingpredefinedloadmetric.html>+    PredictiveScalingPredefinedLoadMetricProperty {haddock_workaround_ :: (),+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingpredefinedloadmetric.html#cfn-autoscaling-scalingpolicy-predictivescalingpredefinedloadmetric-predefinedmetrictype>+                                                   predefinedMetricType :: (Value Prelude.Text),+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingpredefinedloadmetric.html#cfn-autoscaling-scalingpolicy-predictivescalingpredefinedloadmetric-resourcelabel>+                                                   resourceLabel :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredictiveScalingPredefinedLoadMetricProperty ::+  Value Prelude.Text -> PredictiveScalingPredefinedLoadMetricProperty+mkPredictiveScalingPredefinedLoadMetricProperty+  predefinedMetricType+  = PredictiveScalingPredefinedLoadMetricProperty+      {haddock_workaround_ = (),+       predefinedMetricType = predefinedMetricType,+       resourceLabel = Prelude.Nothing}+instance ToResourceProperties PredictiveScalingPredefinedLoadMetricProperty where+  toResourceProperties+    PredictiveScalingPredefinedLoadMetricProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::ScalingPolicy.PredictiveScalingPredefinedLoadMetric",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["PredefinedMetricType" JSON..= predefinedMetricType]+                           (Prelude.catMaybes+                              [(JSON..=) "ResourceLabel" Prelude.<$> resourceLabel]))}+instance JSON.ToJSON PredictiveScalingPredefinedLoadMetricProperty where+  toJSON PredictiveScalingPredefinedLoadMetricProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["PredefinedMetricType" JSON..= predefinedMetricType]+              (Prelude.catMaybes+                 [(JSON..=) "ResourceLabel" Prelude.<$> resourceLabel])))+instance Property "PredefinedMetricType" PredictiveScalingPredefinedLoadMetricProperty where+  type PropertyType "PredefinedMetricType" PredictiveScalingPredefinedLoadMetricProperty = Value Prelude.Text+  set newValue PredictiveScalingPredefinedLoadMetricProperty {..}+    = PredictiveScalingPredefinedLoadMetricProperty+        {predefinedMetricType = newValue, ..}+instance Property "ResourceLabel" PredictiveScalingPredefinedLoadMetricProperty where+  type PropertyType "ResourceLabel" PredictiveScalingPredefinedLoadMetricProperty = Value Prelude.Text+  set newValue PredictiveScalingPredefinedLoadMetricProperty {..}+    = PredictiveScalingPredefinedLoadMetricProperty+        {resourceLabel = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/ScalingPolicy/PredictiveScalingPredefinedLoadMetricProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingPredefinedLoadMetricProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredictiveScalingPredefinedLoadMetricProperty :: Prelude.Type+instance ToResourceProperties PredictiveScalingPredefinedLoadMetricProperty+instance Prelude.Eq PredictiveScalingPredefinedLoadMetricProperty+instance Prelude.Show PredictiveScalingPredefinedLoadMetricProperty+instance JSON.ToJSON PredictiveScalingPredefinedLoadMetricProperty
+ gen/Stratosphere/AutoScaling/ScalingPolicy/PredictiveScalingPredefinedMetricPairProperty.hs view
@@ -0,0 +1,54 @@+module Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingPredefinedMetricPairProperty (+        PredictiveScalingPredefinedMetricPairProperty(..),+        mkPredictiveScalingPredefinedMetricPairProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PredictiveScalingPredefinedMetricPairProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingpredefinedmetricpair.html>+    PredictiveScalingPredefinedMetricPairProperty {haddock_workaround_ :: (),+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingpredefinedmetricpair.html#cfn-autoscaling-scalingpolicy-predictivescalingpredefinedmetricpair-predefinedmetrictype>+                                                   predefinedMetricType :: (Value Prelude.Text),+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingpredefinedmetricpair.html#cfn-autoscaling-scalingpolicy-predictivescalingpredefinedmetricpair-resourcelabel>+                                                   resourceLabel :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredictiveScalingPredefinedMetricPairProperty ::+  Value Prelude.Text -> PredictiveScalingPredefinedMetricPairProperty+mkPredictiveScalingPredefinedMetricPairProperty+  predefinedMetricType+  = PredictiveScalingPredefinedMetricPairProperty+      {haddock_workaround_ = (),+       predefinedMetricType = predefinedMetricType,+       resourceLabel = Prelude.Nothing}+instance ToResourceProperties PredictiveScalingPredefinedMetricPairProperty where+  toResourceProperties+    PredictiveScalingPredefinedMetricPairProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::ScalingPolicy.PredictiveScalingPredefinedMetricPair",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["PredefinedMetricType" JSON..= predefinedMetricType]+                           (Prelude.catMaybes+                              [(JSON..=) "ResourceLabel" Prelude.<$> resourceLabel]))}+instance JSON.ToJSON PredictiveScalingPredefinedMetricPairProperty where+  toJSON PredictiveScalingPredefinedMetricPairProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["PredefinedMetricType" JSON..= predefinedMetricType]+              (Prelude.catMaybes+                 [(JSON..=) "ResourceLabel" Prelude.<$> resourceLabel])))+instance Property "PredefinedMetricType" PredictiveScalingPredefinedMetricPairProperty where+  type PropertyType "PredefinedMetricType" PredictiveScalingPredefinedMetricPairProperty = Value Prelude.Text+  set newValue PredictiveScalingPredefinedMetricPairProperty {..}+    = PredictiveScalingPredefinedMetricPairProperty+        {predefinedMetricType = newValue, ..}+instance Property "ResourceLabel" PredictiveScalingPredefinedMetricPairProperty where+  type PropertyType "ResourceLabel" PredictiveScalingPredefinedMetricPairProperty = Value Prelude.Text+  set newValue PredictiveScalingPredefinedMetricPairProperty {..}+    = PredictiveScalingPredefinedMetricPairProperty+        {resourceLabel = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/ScalingPolicy/PredictiveScalingPredefinedMetricPairProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingPredefinedMetricPairProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredictiveScalingPredefinedMetricPairProperty :: Prelude.Type+instance ToResourceProperties PredictiveScalingPredefinedMetricPairProperty+instance Prelude.Eq PredictiveScalingPredefinedMetricPairProperty+instance Prelude.Show PredictiveScalingPredefinedMetricPairProperty+instance JSON.ToJSON PredictiveScalingPredefinedMetricPairProperty
+ gen/Stratosphere/AutoScaling/ScalingPolicy/PredictiveScalingPredefinedScalingMetricProperty.hs view
@@ -0,0 +1,55 @@+module Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingPredefinedScalingMetricProperty (+        PredictiveScalingPredefinedScalingMetricProperty(..),+        mkPredictiveScalingPredefinedScalingMetricProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PredictiveScalingPredefinedScalingMetricProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingpredefinedscalingmetric.html>+    PredictiveScalingPredefinedScalingMetricProperty {haddock_workaround_ :: (),+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingpredefinedscalingmetric.html#cfn-autoscaling-scalingpolicy-predictivescalingpredefinedscalingmetric-predefinedmetrictype>+                                                      predefinedMetricType :: (Value Prelude.Text),+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predictivescalingpredefinedscalingmetric.html#cfn-autoscaling-scalingpolicy-predictivescalingpredefinedscalingmetric-resourcelabel>+                                                      resourceLabel :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPredictiveScalingPredefinedScalingMetricProperty ::+  Value Prelude.Text+  -> PredictiveScalingPredefinedScalingMetricProperty+mkPredictiveScalingPredefinedScalingMetricProperty+  predefinedMetricType+  = PredictiveScalingPredefinedScalingMetricProperty+      {haddock_workaround_ = (),+       predefinedMetricType = predefinedMetricType,+       resourceLabel = Prelude.Nothing}+instance ToResourceProperties PredictiveScalingPredefinedScalingMetricProperty where+  toResourceProperties+    PredictiveScalingPredefinedScalingMetricProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::ScalingPolicy.PredictiveScalingPredefinedScalingMetric",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["PredefinedMetricType" JSON..= predefinedMetricType]+                           (Prelude.catMaybes+                              [(JSON..=) "ResourceLabel" Prelude.<$> resourceLabel]))}+instance JSON.ToJSON PredictiveScalingPredefinedScalingMetricProperty where+  toJSON PredictiveScalingPredefinedScalingMetricProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["PredefinedMetricType" JSON..= predefinedMetricType]+              (Prelude.catMaybes+                 [(JSON..=) "ResourceLabel" Prelude.<$> resourceLabel])))+instance Property "PredefinedMetricType" PredictiveScalingPredefinedScalingMetricProperty where+  type PropertyType "PredefinedMetricType" PredictiveScalingPredefinedScalingMetricProperty = Value Prelude.Text+  set newValue PredictiveScalingPredefinedScalingMetricProperty {..}+    = PredictiveScalingPredefinedScalingMetricProperty+        {predefinedMetricType = newValue, ..}+instance Property "ResourceLabel" PredictiveScalingPredefinedScalingMetricProperty where+  type PropertyType "ResourceLabel" PredictiveScalingPredefinedScalingMetricProperty = Value Prelude.Text+  set newValue PredictiveScalingPredefinedScalingMetricProperty {..}+    = PredictiveScalingPredefinedScalingMetricProperty+        {resourceLabel = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/ScalingPolicy/PredictiveScalingPredefinedScalingMetricProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingPredefinedScalingMetricProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PredictiveScalingPredefinedScalingMetricProperty :: Prelude.Type+instance ToResourceProperties PredictiveScalingPredefinedScalingMetricProperty+instance Prelude.Eq PredictiveScalingPredefinedScalingMetricProperty+instance Prelude.Show PredictiveScalingPredefinedScalingMetricProperty+instance JSON.ToJSON PredictiveScalingPredefinedScalingMetricProperty
+ gen/Stratosphere/AutoScaling/ScalingPolicy/StepAdjustmentProperty.hs view
@@ -0,0 +1,63 @@+module Stratosphere.AutoScaling.ScalingPolicy.StepAdjustmentProperty (+        StepAdjustmentProperty(..), mkStepAdjustmentProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data StepAdjustmentProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-stepadjustment.html>+    StepAdjustmentProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-stepadjustment.html#cfn-autoscaling-scalingpolicy-stepadjustment-metricintervallowerbound>+                            metricIntervalLowerBound :: (Prelude.Maybe (Value Prelude.Double)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-stepadjustment.html#cfn-autoscaling-scalingpolicy-stepadjustment-metricintervalupperbound>+                            metricIntervalUpperBound :: (Prelude.Maybe (Value Prelude.Double)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-stepadjustment.html#cfn-autoscaling-scalingpolicy-stepadjustment-scalingadjustment>+                            scalingAdjustment :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkStepAdjustmentProperty ::+  Value Prelude.Integer -> StepAdjustmentProperty+mkStepAdjustmentProperty scalingAdjustment+  = StepAdjustmentProperty+      {haddock_workaround_ = (), scalingAdjustment = scalingAdjustment,+       metricIntervalLowerBound = Prelude.Nothing,+       metricIntervalUpperBound = Prelude.Nothing}+instance ToResourceProperties StepAdjustmentProperty where+  toResourceProperties StepAdjustmentProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::ScalingPolicy.StepAdjustment",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["ScalingAdjustment" JSON..= scalingAdjustment]+                           (Prelude.catMaybes+                              [(JSON..=) "MetricIntervalLowerBound"+                                 Prelude.<$> metricIntervalLowerBound,+                               (JSON..=) "MetricIntervalUpperBound"+                                 Prelude.<$> metricIntervalUpperBound]))}+instance JSON.ToJSON StepAdjustmentProperty where+  toJSON StepAdjustmentProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["ScalingAdjustment" JSON..= scalingAdjustment]+              (Prelude.catMaybes+                 [(JSON..=) "MetricIntervalLowerBound"+                    Prelude.<$> metricIntervalLowerBound,+                  (JSON..=) "MetricIntervalUpperBound"+                    Prelude.<$> metricIntervalUpperBound])))+instance Property "MetricIntervalLowerBound" StepAdjustmentProperty where+  type PropertyType "MetricIntervalLowerBound" StepAdjustmentProperty = Value Prelude.Double+  set newValue StepAdjustmentProperty {..}+    = StepAdjustmentProperty+        {metricIntervalLowerBound = Prelude.pure newValue, ..}+instance Property "MetricIntervalUpperBound" StepAdjustmentProperty where+  type PropertyType "MetricIntervalUpperBound" StepAdjustmentProperty = Value Prelude.Double+  set newValue StepAdjustmentProperty {..}+    = StepAdjustmentProperty+        {metricIntervalUpperBound = Prelude.pure newValue, ..}+instance Property "ScalingAdjustment" StepAdjustmentProperty where+  type PropertyType "ScalingAdjustment" StepAdjustmentProperty = Value Prelude.Integer+  set newValue StepAdjustmentProperty {..}+    = StepAdjustmentProperty {scalingAdjustment = newValue, ..}
+ gen/Stratosphere/AutoScaling/ScalingPolicy/StepAdjustmentProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.ScalingPolicy.StepAdjustmentProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data StepAdjustmentProperty :: Prelude.Type+instance ToResourceProperties StepAdjustmentProperty+instance Prelude.Eq StepAdjustmentProperty+instance Prelude.Show StepAdjustmentProperty+instance JSON.ToJSON StepAdjustmentProperty
+ gen/Stratosphere/AutoScaling/ScalingPolicy/TargetTrackingConfigurationProperty.hs view
@@ -0,0 +1,76 @@+module Stratosphere.AutoScaling.ScalingPolicy.TargetTrackingConfigurationProperty (+        module Exports, TargetTrackingConfigurationProperty(..),+        mkTargetTrackingConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.CustomizedMetricSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.PredefinedMetricSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TargetTrackingConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingconfiguration.html>+    TargetTrackingConfigurationProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingconfiguration.html#cfn-autoscaling-scalingpolicy-targettrackingconfiguration-customizedmetricspecification>+                                         customizedMetricSpecification :: (Prelude.Maybe CustomizedMetricSpecificationProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingconfiguration.html#cfn-autoscaling-scalingpolicy-targettrackingconfiguration-disablescalein>+                                         disableScaleIn :: (Prelude.Maybe (Value Prelude.Bool)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingconfiguration.html#cfn-autoscaling-scalingpolicy-targettrackingconfiguration-predefinedmetricspecification>+                                         predefinedMetricSpecification :: (Prelude.Maybe PredefinedMetricSpecificationProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingconfiguration.html#cfn-autoscaling-scalingpolicy-targettrackingconfiguration-targetvalue>+                                         targetValue :: (Value Prelude.Double)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTargetTrackingConfigurationProperty ::+  Value Prelude.Double -> TargetTrackingConfigurationProperty+mkTargetTrackingConfigurationProperty targetValue+  = TargetTrackingConfigurationProperty+      {haddock_workaround_ = (), targetValue = targetValue,+       customizedMetricSpecification = Prelude.Nothing,+       disableScaleIn = Prelude.Nothing,+       predefinedMetricSpecification = Prelude.Nothing}+instance ToResourceProperties TargetTrackingConfigurationProperty where+  toResourceProperties TargetTrackingConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["TargetValue" JSON..= targetValue]+                           (Prelude.catMaybes+                              [(JSON..=) "CustomizedMetricSpecification"+                                 Prelude.<$> customizedMetricSpecification,+                               (JSON..=) "DisableScaleIn" Prelude.<$> disableScaleIn,+                               (JSON..=) "PredefinedMetricSpecification"+                                 Prelude.<$> predefinedMetricSpecification]))}+instance JSON.ToJSON TargetTrackingConfigurationProperty where+  toJSON TargetTrackingConfigurationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["TargetValue" JSON..= targetValue]+              (Prelude.catMaybes+                 [(JSON..=) "CustomizedMetricSpecification"+                    Prelude.<$> customizedMetricSpecification,+                  (JSON..=) "DisableScaleIn" Prelude.<$> disableScaleIn,+                  (JSON..=) "PredefinedMetricSpecification"+                    Prelude.<$> predefinedMetricSpecification])))+instance Property "CustomizedMetricSpecification" TargetTrackingConfigurationProperty where+  type PropertyType "CustomizedMetricSpecification" TargetTrackingConfigurationProperty = CustomizedMetricSpecificationProperty+  set newValue TargetTrackingConfigurationProperty {..}+    = TargetTrackingConfigurationProperty+        {customizedMetricSpecification = 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 "PredefinedMetricSpecification" TargetTrackingConfigurationProperty where+  type PropertyType "PredefinedMetricSpecification" TargetTrackingConfigurationProperty = PredefinedMetricSpecificationProperty+  set newValue TargetTrackingConfigurationProperty {..}+    = TargetTrackingConfigurationProperty+        {predefinedMetricSpecification = Prelude.pure newValue, ..}+instance Property "TargetValue" TargetTrackingConfigurationProperty where+  type PropertyType "TargetValue" TargetTrackingConfigurationProperty = Value Prelude.Double+  set newValue TargetTrackingConfigurationProperty {..}+    = TargetTrackingConfigurationProperty {targetValue = newValue, ..}
+ gen/Stratosphere/AutoScaling/ScalingPolicy/TargetTrackingConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.ScalingPolicy.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
+ gen/Stratosphere/AutoScaling/ScalingPolicy/TargetTrackingMetricDataQueryProperty.hs view
@@ -0,0 +1,88 @@+module Stratosphere.AutoScaling.ScalingPolicy.TargetTrackingMetricDataQueryProperty (+        module Exports, TargetTrackingMetricDataQueryProperty(..),+        mkTargetTrackingMetricDataQueryProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.TargetTrackingMetricStatProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TargetTrackingMetricDataQueryProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricdataquery.html>+    TargetTrackingMetricDataQueryProperty {haddock_workaround_ :: (),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricdataquery.html#cfn-autoscaling-scalingpolicy-targettrackingmetricdataquery-expression>+                                           expression :: (Prelude.Maybe (Value Prelude.Text)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricdataquery.html#cfn-autoscaling-scalingpolicy-targettrackingmetricdataquery-id>+                                           id :: (Value Prelude.Text),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricdataquery.html#cfn-autoscaling-scalingpolicy-targettrackingmetricdataquery-label>+                                           label :: (Prelude.Maybe (Value Prelude.Text)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricdataquery.html#cfn-autoscaling-scalingpolicy-targettrackingmetricdataquery-metricstat>+                                           metricStat :: (Prelude.Maybe TargetTrackingMetricStatProperty),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricdataquery.html#cfn-autoscaling-scalingpolicy-targettrackingmetricdataquery-period>+                                           period :: (Prelude.Maybe (Value Prelude.Integer)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricdataquery.html#cfn-autoscaling-scalingpolicy-targettrackingmetricdataquery-returndata>+                                           returnData :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTargetTrackingMetricDataQueryProperty ::+  Value Prelude.Text -> TargetTrackingMetricDataQueryProperty+mkTargetTrackingMetricDataQueryProperty id+  = TargetTrackingMetricDataQueryProperty+      {haddock_workaround_ = (), id = id, expression = Prelude.Nothing,+       label = Prelude.Nothing, metricStat = Prelude.Nothing,+       period = Prelude.Nothing, returnData = Prelude.Nothing}+instance ToResourceProperties TargetTrackingMetricDataQueryProperty where+  toResourceProperties TargetTrackingMetricDataQueryProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::ScalingPolicy.TargetTrackingMetricDataQuery",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Id" JSON..= id]+                           (Prelude.catMaybes+                              [(JSON..=) "Expression" Prelude.<$> expression,+                               (JSON..=) "Label" Prelude.<$> label,+                               (JSON..=) "MetricStat" Prelude.<$> metricStat,+                               (JSON..=) "Period" Prelude.<$> period,+                               (JSON..=) "ReturnData" Prelude.<$> returnData]))}+instance JSON.ToJSON TargetTrackingMetricDataQueryProperty where+  toJSON TargetTrackingMetricDataQueryProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Id" JSON..= id]+              (Prelude.catMaybes+                 [(JSON..=) "Expression" Prelude.<$> expression,+                  (JSON..=) "Label" Prelude.<$> label,+                  (JSON..=) "MetricStat" Prelude.<$> metricStat,+                  (JSON..=) "Period" Prelude.<$> period,+                  (JSON..=) "ReturnData" Prelude.<$> returnData])))+instance Property "Expression" TargetTrackingMetricDataQueryProperty where+  type PropertyType "Expression" TargetTrackingMetricDataQueryProperty = Value Prelude.Text+  set newValue TargetTrackingMetricDataQueryProperty {..}+    = TargetTrackingMetricDataQueryProperty+        {expression = Prelude.pure newValue, ..}+instance Property "Id" TargetTrackingMetricDataQueryProperty where+  type PropertyType "Id" TargetTrackingMetricDataQueryProperty = Value Prelude.Text+  set newValue TargetTrackingMetricDataQueryProperty {..}+    = TargetTrackingMetricDataQueryProperty {id = newValue, ..}+instance Property "Label" TargetTrackingMetricDataQueryProperty where+  type PropertyType "Label" TargetTrackingMetricDataQueryProperty = Value Prelude.Text+  set newValue TargetTrackingMetricDataQueryProperty {..}+    = TargetTrackingMetricDataQueryProperty+        {label = Prelude.pure newValue, ..}+instance Property "MetricStat" TargetTrackingMetricDataQueryProperty where+  type PropertyType "MetricStat" TargetTrackingMetricDataQueryProperty = TargetTrackingMetricStatProperty+  set newValue TargetTrackingMetricDataQueryProperty {..}+    = TargetTrackingMetricDataQueryProperty+        {metricStat = Prelude.pure newValue, ..}+instance Property "Period" TargetTrackingMetricDataQueryProperty where+  type PropertyType "Period" TargetTrackingMetricDataQueryProperty = Value Prelude.Integer+  set newValue TargetTrackingMetricDataQueryProperty {..}+    = TargetTrackingMetricDataQueryProperty+        {period = Prelude.pure newValue, ..}+instance Property "ReturnData" TargetTrackingMetricDataQueryProperty where+  type PropertyType "ReturnData" TargetTrackingMetricDataQueryProperty = Value Prelude.Bool+  set newValue TargetTrackingMetricDataQueryProperty {..}+    = TargetTrackingMetricDataQueryProperty+        {returnData = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/ScalingPolicy/TargetTrackingMetricDataQueryProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.ScalingPolicy.TargetTrackingMetricDataQueryProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TargetTrackingMetricDataQueryProperty :: Prelude.Type+instance ToResourceProperties TargetTrackingMetricDataQueryProperty+instance Prelude.Eq TargetTrackingMetricDataQueryProperty+instance Prelude.Show TargetTrackingMetricDataQueryProperty+instance JSON.ToJSON TargetTrackingMetricDataQueryProperty
+ gen/Stratosphere/AutoScaling/ScalingPolicy/TargetTrackingMetricStatProperty.hs view
@@ -0,0 +1,67 @@+module Stratosphere.AutoScaling.ScalingPolicy.TargetTrackingMetricStatProperty (+        module Exports, TargetTrackingMetricStatProperty(..),+        mkTargetTrackingMetricStatProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.ScalingPolicy.MetricProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TargetTrackingMetricStatProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricstat.html>+    TargetTrackingMetricStatProperty {haddock_workaround_ :: (),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricstat.html#cfn-autoscaling-scalingpolicy-targettrackingmetricstat-metric>+                                      metric :: MetricProperty,+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricstat.html#cfn-autoscaling-scalingpolicy-targettrackingmetricstat-period>+                                      period :: (Prelude.Maybe (Value Prelude.Integer)),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricstat.html#cfn-autoscaling-scalingpolicy-targettrackingmetricstat-stat>+                                      stat :: (Value Prelude.Text),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricstat.html#cfn-autoscaling-scalingpolicy-targettrackingmetricstat-unit>+                                      unit :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTargetTrackingMetricStatProperty ::+  MetricProperty+  -> Value Prelude.Text -> TargetTrackingMetricStatProperty+mkTargetTrackingMetricStatProperty metric stat+  = TargetTrackingMetricStatProperty+      {haddock_workaround_ = (), metric = metric, stat = stat,+       period = Prelude.Nothing, unit = Prelude.Nothing}+instance ToResourceProperties TargetTrackingMetricStatProperty where+  toResourceProperties TargetTrackingMetricStatProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::ScalingPolicy.TargetTrackingMetricStat",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Metric" JSON..= metric, "Stat" JSON..= stat]+                           (Prelude.catMaybes+                              [(JSON..=) "Period" Prelude.<$> period,+                               (JSON..=) "Unit" Prelude.<$> unit]))}+instance JSON.ToJSON TargetTrackingMetricStatProperty where+  toJSON TargetTrackingMetricStatProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Metric" JSON..= metric, "Stat" JSON..= stat]+              (Prelude.catMaybes+                 [(JSON..=) "Period" Prelude.<$> period,+                  (JSON..=) "Unit" Prelude.<$> unit])))+instance Property "Metric" TargetTrackingMetricStatProperty where+  type PropertyType "Metric" TargetTrackingMetricStatProperty = MetricProperty+  set newValue TargetTrackingMetricStatProperty {..}+    = TargetTrackingMetricStatProperty {metric = newValue, ..}+instance Property "Period" TargetTrackingMetricStatProperty where+  type PropertyType "Period" TargetTrackingMetricStatProperty = Value Prelude.Integer+  set newValue TargetTrackingMetricStatProperty {..}+    = TargetTrackingMetricStatProperty+        {period = Prelude.pure newValue, ..}+instance Property "Stat" TargetTrackingMetricStatProperty where+  type PropertyType "Stat" TargetTrackingMetricStatProperty = Value Prelude.Text+  set newValue TargetTrackingMetricStatProperty {..}+    = TargetTrackingMetricStatProperty {stat = newValue, ..}+instance Property "Unit" TargetTrackingMetricStatProperty where+  type PropertyType "Unit" TargetTrackingMetricStatProperty = Value Prelude.Text+  set newValue TargetTrackingMetricStatProperty {..}+    = TargetTrackingMetricStatProperty+        {unit = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/ScalingPolicy/TargetTrackingMetricStatProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.ScalingPolicy.TargetTrackingMetricStatProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TargetTrackingMetricStatProperty :: Prelude.Type+instance ToResourceProperties TargetTrackingMetricStatProperty+instance Prelude.Eq TargetTrackingMetricStatProperty+instance Prelude.Show TargetTrackingMetricStatProperty+instance JSON.ToJSON TargetTrackingMetricStatProperty
+ gen/Stratosphere/AutoScaling/ScheduledAction.hs view
@@ -0,0 +1,99 @@+module Stratosphere.AutoScaling.ScheduledAction (+        ScheduledAction(..), mkScheduledAction+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ScheduledAction+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scheduledaction.html>+    ScheduledAction {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scheduledaction.html#cfn-autoscaling-scheduledaction-autoscalinggroupname>+                     autoScalingGroupName :: (Value Prelude.Text),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scheduledaction.html#cfn-autoscaling-scheduledaction-desiredcapacity>+                     desiredCapacity :: (Prelude.Maybe (Value Prelude.Integer)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scheduledaction.html#cfn-autoscaling-scheduledaction-endtime>+                     endTime :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scheduledaction.html#cfn-autoscaling-scheduledaction-maxsize>+                     maxSize :: (Prelude.Maybe (Value Prelude.Integer)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scheduledaction.html#cfn-autoscaling-scheduledaction-minsize>+                     minSize :: (Prelude.Maybe (Value Prelude.Integer)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scheduledaction.html#cfn-autoscaling-scheduledaction-recurrence>+                     recurrence :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scheduledaction.html#cfn-autoscaling-scheduledaction-starttime>+                     startTime :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scheduledaction.html#cfn-autoscaling-scheduledaction-timezone>+                     timeZone :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkScheduledAction :: Value Prelude.Text -> ScheduledAction+mkScheduledAction autoScalingGroupName+  = ScheduledAction+      {haddock_workaround_ = (),+       autoScalingGroupName = autoScalingGroupName,+       desiredCapacity = Prelude.Nothing, endTime = Prelude.Nothing,+       maxSize = Prelude.Nothing, minSize = Prelude.Nothing,+       recurrence = Prelude.Nothing, startTime = Prelude.Nothing,+       timeZone = Prelude.Nothing}+instance ToResourceProperties ScheduledAction where+  toResourceProperties ScheduledAction {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::ScheduledAction",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["AutoScalingGroupName" JSON..= autoScalingGroupName]+                           (Prelude.catMaybes+                              [(JSON..=) "DesiredCapacity" Prelude.<$> desiredCapacity,+                               (JSON..=) "EndTime" Prelude.<$> endTime,+                               (JSON..=) "MaxSize" Prelude.<$> maxSize,+                               (JSON..=) "MinSize" Prelude.<$> minSize,+                               (JSON..=) "Recurrence" Prelude.<$> recurrence,+                               (JSON..=) "StartTime" Prelude.<$> startTime,+                               (JSON..=) "TimeZone" Prelude.<$> timeZone]))}+instance JSON.ToJSON ScheduledAction where+  toJSON ScheduledAction {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["AutoScalingGroupName" JSON..= autoScalingGroupName]+              (Prelude.catMaybes+                 [(JSON..=) "DesiredCapacity" Prelude.<$> desiredCapacity,+                  (JSON..=) "EndTime" Prelude.<$> endTime,+                  (JSON..=) "MaxSize" Prelude.<$> maxSize,+                  (JSON..=) "MinSize" Prelude.<$> minSize,+                  (JSON..=) "Recurrence" Prelude.<$> recurrence,+                  (JSON..=) "StartTime" Prelude.<$> startTime,+                  (JSON..=) "TimeZone" Prelude.<$> timeZone])))+instance Property "AutoScalingGroupName" ScheduledAction where+  type PropertyType "AutoScalingGroupName" ScheduledAction = Value Prelude.Text+  set newValue ScheduledAction {..}+    = ScheduledAction {autoScalingGroupName = newValue, ..}+instance Property "DesiredCapacity" ScheduledAction where+  type PropertyType "DesiredCapacity" ScheduledAction = Value Prelude.Integer+  set newValue ScheduledAction {..}+    = ScheduledAction {desiredCapacity = Prelude.pure newValue, ..}+instance Property "EndTime" ScheduledAction where+  type PropertyType "EndTime" ScheduledAction = Value Prelude.Text+  set newValue ScheduledAction {..}+    = ScheduledAction {endTime = Prelude.pure newValue, ..}+instance Property "MaxSize" ScheduledAction where+  type PropertyType "MaxSize" ScheduledAction = Value Prelude.Integer+  set newValue ScheduledAction {..}+    = ScheduledAction {maxSize = Prelude.pure newValue, ..}+instance Property "MinSize" ScheduledAction where+  type PropertyType "MinSize" ScheduledAction = Value Prelude.Integer+  set newValue ScheduledAction {..}+    = ScheduledAction {minSize = Prelude.pure newValue, ..}+instance Property "Recurrence" ScheduledAction where+  type PropertyType "Recurrence" ScheduledAction = Value Prelude.Text+  set newValue ScheduledAction {..}+    = ScheduledAction {recurrence = Prelude.pure newValue, ..}+instance Property "StartTime" ScheduledAction where+  type PropertyType "StartTime" ScheduledAction = Value Prelude.Text+  set newValue ScheduledAction {..}+    = ScheduledAction {startTime = Prelude.pure newValue, ..}+instance Property "TimeZone" ScheduledAction where+  type PropertyType "TimeZone" ScheduledAction = Value Prelude.Text+  set newValue ScheduledAction {..}+    = ScheduledAction {timeZone = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/WarmPool.hs view
@@ -0,0 +1,77 @@+module Stratosphere.AutoScaling.WarmPool (+        module Exports, WarmPool(..), mkWarmPool+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AutoScaling.WarmPool.InstanceReusePolicyProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data WarmPool+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-warmpool.html>+    WarmPool {haddock_workaround_ :: (),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-warmpool.html#cfn-autoscaling-warmpool-autoscalinggroupname>+              autoScalingGroupName :: (Value Prelude.Text),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-warmpool.html#cfn-autoscaling-warmpool-instancereusepolicy>+              instanceReusePolicy :: (Prelude.Maybe InstanceReusePolicyProperty),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-warmpool.html#cfn-autoscaling-warmpool-maxgrouppreparedcapacity>+              maxGroupPreparedCapacity :: (Prelude.Maybe (Value Prelude.Integer)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-warmpool.html#cfn-autoscaling-warmpool-minsize>+              minSize :: (Prelude.Maybe (Value Prelude.Integer)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-warmpool.html#cfn-autoscaling-warmpool-poolstate>+              poolState :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkWarmPool :: Value Prelude.Text -> WarmPool+mkWarmPool autoScalingGroupName+  = WarmPool+      {haddock_workaround_ = (),+       autoScalingGroupName = autoScalingGroupName,+       instanceReusePolicy = Prelude.Nothing,+       maxGroupPreparedCapacity = Prelude.Nothing,+       minSize = Prelude.Nothing, poolState = Prelude.Nothing}+instance ToResourceProperties WarmPool where+  toResourceProperties WarmPool {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::WarmPool",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["AutoScalingGroupName" JSON..= autoScalingGroupName]+                           (Prelude.catMaybes+                              [(JSON..=) "InstanceReusePolicy" Prelude.<$> instanceReusePolicy,+                               (JSON..=) "MaxGroupPreparedCapacity"+                                 Prelude.<$> maxGroupPreparedCapacity,+                               (JSON..=) "MinSize" Prelude.<$> minSize,+                               (JSON..=) "PoolState" Prelude.<$> poolState]))}+instance JSON.ToJSON WarmPool where+  toJSON WarmPool {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["AutoScalingGroupName" JSON..= autoScalingGroupName]+              (Prelude.catMaybes+                 [(JSON..=) "InstanceReusePolicy" Prelude.<$> instanceReusePolicy,+                  (JSON..=) "MaxGroupPreparedCapacity"+                    Prelude.<$> maxGroupPreparedCapacity,+                  (JSON..=) "MinSize" Prelude.<$> minSize,+                  (JSON..=) "PoolState" Prelude.<$> poolState])))+instance Property "AutoScalingGroupName" WarmPool where+  type PropertyType "AutoScalingGroupName" WarmPool = Value Prelude.Text+  set newValue WarmPool {..}+    = WarmPool {autoScalingGroupName = newValue, ..}+instance Property "InstanceReusePolicy" WarmPool where+  type PropertyType "InstanceReusePolicy" WarmPool = InstanceReusePolicyProperty+  set newValue WarmPool {..}+    = WarmPool {instanceReusePolicy = Prelude.pure newValue, ..}+instance Property "MaxGroupPreparedCapacity" WarmPool where+  type PropertyType "MaxGroupPreparedCapacity" WarmPool = Value Prelude.Integer+  set newValue WarmPool {..}+    = WarmPool {maxGroupPreparedCapacity = Prelude.pure newValue, ..}+instance Property "MinSize" WarmPool where+  type PropertyType "MinSize" WarmPool = Value Prelude.Integer+  set newValue WarmPool {..}+    = WarmPool {minSize = Prelude.pure newValue, ..}+instance Property "PoolState" WarmPool where+  type PropertyType "PoolState" WarmPool = Value Prelude.Text+  set newValue WarmPool {..}+    = WarmPool {poolState = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/WarmPool/InstanceReusePolicyProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.AutoScaling.WarmPool.InstanceReusePolicyProperty (+        InstanceReusePolicyProperty(..), mkInstanceReusePolicyProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data InstanceReusePolicyProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-warmpool-instancereusepolicy.html>+    InstanceReusePolicyProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-warmpool-instancereusepolicy.html#cfn-autoscaling-warmpool-instancereusepolicy-reuseonscalein>+                                 reuseOnScaleIn :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkInstanceReusePolicyProperty :: InstanceReusePolicyProperty+mkInstanceReusePolicyProperty+  = InstanceReusePolicyProperty+      {haddock_workaround_ = (), reuseOnScaleIn = Prelude.Nothing}+instance ToResourceProperties InstanceReusePolicyProperty where+  toResourceProperties InstanceReusePolicyProperty {..}+    = ResourceProperties+        {awsType = "AWS::AutoScaling::WarmPool.InstanceReusePolicy",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ReuseOnScaleIn" Prelude.<$> reuseOnScaleIn])}+instance JSON.ToJSON InstanceReusePolicyProperty where+  toJSON InstanceReusePolicyProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ReuseOnScaleIn" Prelude.<$> reuseOnScaleIn]))+instance Property "ReuseOnScaleIn" InstanceReusePolicyProperty where+  type PropertyType "ReuseOnScaleIn" InstanceReusePolicyProperty = Value Prelude.Bool+  set newValue InstanceReusePolicyProperty {..}+    = InstanceReusePolicyProperty+        {reuseOnScaleIn = Prelude.pure newValue, ..}
+ gen/Stratosphere/AutoScaling/WarmPool/InstanceReusePolicyProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AutoScaling.WarmPool.InstanceReusePolicyProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data InstanceReusePolicyProperty :: Prelude.Type+instance ToResourceProperties InstanceReusePolicyProperty+instance Prelude.Eq InstanceReusePolicyProperty+instance Prelude.Show InstanceReusePolicyProperty+instance JSON.ToJSON InstanceReusePolicyProperty
+ stratosphere-autoscaling.cabal view
@@ -0,0 +1,128 @@+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-autoscaling+version:        1.0.0+synopsis:       Stratosphere integration for AWS AutoScaling.+description:    Integration into stratosphere to generate resources and properties for AWS AutoScaling+category:       AWS, Cloud, AutoScaling+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.AutoScaling.AutoScalingGroup+      Stratosphere.AutoScaling.AutoScalingGroup.AcceleratorCountRequestProperty+      Stratosphere.AutoScaling.AutoScalingGroup.AcceleratorTotalMemoryMiBRequestProperty+      Stratosphere.AutoScaling.AutoScalingGroup.AvailabilityZoneDistributionProperty+      Stratosphere.AutoScaling.AutoScalingGroup.AvailabilityZoneImpairmentPolicyProperty+      Stratosphere.AutoScaling.AutoScalingGroup.BaselineEbsBandwidthMbpsRequestProperty+      Stratosphere.AutoScaling.AutoScalingGroup.BaselinePerformanceFactorsRequestProperty+      Stratosphere.AutoScaling.AutoScalingGroup.CapacityReservationSpecificationProperty+      Stratosphere.AutoScaling.AutoScalingGroup.CapacityReservationTargetProperty+      Stratosphere.AutoScaling.AutoScalingGroup.CpuPerformanceFactorRequestProperty+      Stratosphere.AutoScaling.AutoScalingGroup.InstanceMaintenancePolicyProperty+      Stratosphere.AutoScaling.AutoScalingGroup.InstanceRequirementsProperty+      Stratosphere.AutoScaling.AutoScalingGroup.InstancesDistributionProperty+      Stratosphere.AutoScaling.AutoScalingGroup.LaunchTemplateOverridesProperty+      Stratosphere.AutoScaling.AutoScalingGroup.LaunchTemplateProperty+      Stratosphere.AutoScaling.AutoScalingGroup.LaunchTemplateSpecificationProperty+      Stratosphere.AutoScaling.AutoScalingGroup.LifecycleHookSpecificationProperty+      Stratosphere.AutoScaling.AutoScalingGroup.MemoryGiBPerVCpuRequestProperty+      Stratosphere.AutoScaling.AutoScalingGroup.MemoryMiBRequestProperty+      Stratosphere.AutoScaling.AutoScalingGroup.MetricsCollectionProperty+      Stratosphere.AutoScaling.AutoScalingGroup.MixedInstancesPolicyProperty+      Stratosphere.AutoScaling.AutoScalingGroup.NetworkBandwidthGbpsRequestProperty+      Stratosphere.AutoScaling.AutoScalingGroup.NetworkInterfaceCountRequestProperty+      Stratosphere.AutoScaling.AutoScalingGroup.NotificationConfigurationProperty+      Stratosphere.AutoScaling.AutoScalingGroup.PerformanceFactorReferenceRequestProperty+      Stratosphere.AutoScaling.AutoScalingGroup.TagPropertyProperty+      Stratosphere.AutoScaling.AutoScalingGroup.TotalLocalStorageGBRequestProperty+      Stratosphere.AutoScaling.AutoScalingGroup.TrafficSourceIdentifierProperty+      Stratosphere.AutoScaling.AutoScalingGroup.VCpuCountRequestProperty+      Stratosphere.AutoScaling.LaunchConfiguration+      Stratosphere.AutoScaling.LaunchConfiguration.BlockDeviceMappingProperty+      Stratosphere.AutoScaling.LaunchConfiguration.BlockDeviceProperty+      Stratosphere.AutoScaling.LaunchConfiguration.MetadataOptionsProperty+      Stratosphere.AutoScaling.LifecycleHook+      Stratosphere.AutoScaling.ScalingPolicy+      Stratosphere.AutoScaling.ScalingPolicy.CustomizedMetricSpecificationProperty+      Stratosphere.AutoScaling.ScalingPolicy.MetricDataQueryProperty+      Stratosphere.AutoScaling.ScalingPolicy.MetricDimensionProperty+      Stratosphere.AutoScaling.ScalingPolicy.MetricProperty+      Stratosphere.AutoScaling.ScalingPolicy.MetricStatProperty+      Stratosphere.AutoScaling.ScalingPolicy.PredefinedMetricSpecificationProperty+      Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingConfigurationProperty+      Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingCustomizedCapacityMetricProperty+      Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingCustomizedLoadMetricProperty+      Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingCustomizedScalingMetricProperty+      Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingMetricSpecificationProperty+      Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingPredefinedLoadMetricProperty+      Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingPredefinedMetricPairProperty+      Stratosphere.AutoScaling.ScalingPolicy.PredictiveScalingPredefinedScalingMetricProperty+      Stratosphere.AutoScaling.ScalingPolicy.StepAdjustmentProperty+      Stratosphere.AutoScaling.ScalingPolicy.TargetTrackingConfigurationProperty+      Stratosphere.AutoScaling.ScalingPolicy.TargetTrackingMetricDataQueryProperty+      Stratosphere.AutoScaling.ScalingPolicy.TargetTrackingMetricStatProperty+      Stratosphere.AutoScaling.ScheduledAction+      Stratosphere.AutoScaling.WarmPool+      Stratosphere.AutoScaling.WarmPool.InstanceReusePolicyProperty+  other-modules:+      Paths_stratosphere_autoscaling+  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