amazonka-autoscaling 1.3.6 → 1.3.7
raw patch · 59 files changed
+408/−92 lines, 59 filesdep −lensdep ~amazonka-autoscalingdep ~amazonka-coredep ~amazonka-testPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies removed: lens
Dependency ranges changed: amazonka-autoscaling, amazonka-core, amazonka-test
API changes (from Hackage documentation)
+ Network.AWS.AutoScaling: PendingSpotBidPlacement :: ScalingActivityStatusCode
+ Network.AWS.AutoScaling: asgNewInstancesProtectedFromScaleIn :: Lens' AutoScalingGroup (Maybe Bool)
+ Network.AWS.AutoScaling: asidProtectedFromScaleIn :: Lens' AutoScalingInstanceDetails Bool
+ Network.AWS.AutoScaling: iProtectedFromScaleIn :: Lens' Instance Bool
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: casgNewInstancesProtectedFromScaleIn :: Lens' CreateAutoScalingGroup (Maybe Bool)
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: instance GHC.Generics.Selector Network.AWS.AutoScaling.CreateAutoScalingGroup.S1_0_15CreateAutoScalingGroup
+ Network.AWS.AutoScaling.DescribeAccountLimits: dalrsNumberOfAutoScalingGroups :: Lens' DescribeAccountLimitsResponse (Maybe Int)
+ Network.AWS.AutoScaling.DescribeAccountLimits: dalrsNumberOfLaunchConfigurations :: Lens' DescribeAccountLimitsResponse (Maybe Int)
+ Network.AWS.AutoScaling.DescribeAccountLimits: instance GHC.Generics.Selector Network.AWS.AutoScaling.DescribeAccountLimits.S1_0_3DescribeAccountLimitsResponse
+ Network.AWS.AutoScaling.DescribeAccountLimits: instance GHC.Generics.Selector Network.AWS.AutoScaling.DescribeAccountLimits.S1_0_4DescribeAccountLimitsResponse
+ Network.AWS.AutoScaling.SetInstanceProtection: data SetInstanceProtection
+ Network.AWS.AutoScaling.SetInstanceProtection: data SetInstanceProtectionResponse
+ Network.AWS.AutoScaling.SetInstanceProtection: instance Data.Data.Data Network.AWS.AutoScaling.SetInstanceProtection.SetInstanceProtection
+ Network.AWS.AutoScaling.SetInstanceProtection: instance Data.Data.Data Network.AWS.AutoScaling.SetInstanceProtection.SetInstanceProtectionResponse
+ Network.AWS.AutoScaling.SetInstanceProtection: instance GHC.Classes.Eq Network.AWS.AutoScaling.SetInstanceProtection.SetInstanceProtection
+ Network.AWS.AutoScaling.SetInstanceProtection: instance GHC.Classes.Eq Network.AWS.AutoScaling.SetInstanceProtection.SetInstanceProtectionResponse
+ Network.AWS.AutoScaling.SetInstanceProtection: instance GHC.Generics.Constructor Network.AWS.AutoScaling.SetInstanceProtection.C1_0SetInstanceProtection
+ Network.AWS.AutoScaling.SetInstanceProtection: instance GHC.Generics.Constructor Network.AWS.AutoScaling.SetInstanceProtection.C1_0SetInstanceProtectionResponse
+ Network.AWS.AutoScaling.SetInstanceProtection: instance GHC.Generics.Datatype Network.AWS.AutoScaling.SetInstanceProtection.D1SetInstanceProtection
+ Network.AWS.AutoScaling.SetInstanceProtection: instance GHC.Generics.Datatype Network.AWS.AutoScaling.SetInstanceProtection.D1SetInstanceProtectionResponse
+ Network.AWS.AutoScaling.SetInstanceProtection: instance GHC.Generics.Generic Network.AWS.AutoScaling.SetInstanceProtection.SetInstanceProtection
+ Network.AWS.AutoScaling.SetInstanceProtection: instance GHC.Generics.Generic Network.AWS.AutoScaling.SetInstanceProtection.SetInstanceProtectionResponse
+ Network.AWS.AutoScaling.SetInstanceProtection: instance GHC.Generics.Selector Network.AWS.AutoScaling.SetInstanceProtection.S1_0_0SetInstanceProtection
+ Network.AWS.AutoScaling.SetInstanceProtection: instance GHC.Generics.Selector Network.AWS.AutoScaling.SetInstanceProtection.S1_0_0SetInstanceProtectionResponse
+ Network.AWS.AutoScaling.SetInstanceProtection: instance GHC.Generics.Selector Network.AWS.AutoScaling.SetInstanceProtection.S1_0_1SetInstanceProtection
+ Network.AWS.AutoScaling.SetInstanceProtection: instance GHC.Generics.Selector Network.AWS.AutoScaling.SetInstanceProtection.S1_0_2SetInstanceProtection
+ Network.AWS.AutoScaling.SetInstanceProtection: instance GHC.Read.Read Network.AWS.AutoScaling.SetInstanceProtection.SetInstanceProtection
+ Network.AWS.AutoScaling.SetInstanceProtection: instance GHC.Read.Read Network.AWS.AutoScaling.SetInstanceProtection.SetInstanceProtectionResponse
+ Network.AWS.AutoScaling.SetInstanceProtection: instance GHC.Show.Show Network.AWS.AutoScaling.SetInstanceProtection.SetInstanceProtection
+ Network.AWS.AutoScaling.SetInstanceProtection: instance GHC.Show.Show Network.AWS.AutoScaling.SetInstanceProtection.SetInstanceProtectionResponse
+ Network.AWS.AutoScaling.SetInstanceProtection: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.AutoScaling.SetInstanceProtection.SetInstanceProtection
+ Network.AWS.AutoScaling.SetInstanceProtection: instance Network.AWS.Data.Path.ToPath Network.AWS.AutoScaling.SetInstanceProtection.SetInstanceProtection
+ Network.AWS.AutoScaling.SetInstanceProtection: instance Network.AWS.Data.Query.ToQuery Network.AWS.AutoScaling.SetInstanceProtection.SetInstanceProtection
+ Network.AWS.AutoScaling.SetInstanceProtection: instance Network.AWS.Types.AWSRequest Network.AWS.AutoScaling.SetInstanceProtection.SetInstanceProtection
+ Network.AWS.AutoScaling.SetInstanceProtection: setInstanceProtection :: Text -> Bool -> SetInstanceProtection
+ Network.AWS.AutoScaling.SetInstanceProtection: setInstanceProtectionResponse :: Int -> SetInstanceProtectionResponse
+ Network.AWS.AutoScaling.SetInstanceProtection: sipAutoScalingGroupName :: Lens' SetInstanceProtection Text
+ Network.AWS.AutoScaling.SetInstanceProtection: sipInstanceIds :: Lens' SetInstanceProtection [Text]
+ Network.AWS.AutoScaling.SetInstanceProtection: sipProtectedFromScaleIn :: Lens' SetInstanceProtection Bool
+ Network.AWS.AutoScaling.SetInstanceProtection: siprsResponseStatus :: Lens' SetInstanceProtectionResponse Int
+ Network.AWS.AutoScaling.Types: PendingSpotBidPlacement :: ScalingActivityStatusCode
+ Network.AWS.AutoScaling.Types: asgNewInstancesProtectedFromScaleIn :: Lens' AutoScalingGroup (Maybe Bool)
+ Network.AWS.AutoScaling.Types: asidProtectedFromScaleIn :: Lens' AutoScalingInstanceDetails Bool
+ Network.AWS.AutoScaling.Types: iProtectedFromScaleIn :: Lens' Instance Bool
+ Network.AWS.AutoScaling.UpdateAutoScalingGroup: instance GHC.Generics.Selector Network.AWS.AutoScaling.UpdateAutoScalingGroup.S1_0_12UpdateAutoScalingGroup
+ Network.AWS.AutoScaling.UpdateAutoScalingGroup: uasgNewInstancesProtectedFromScaleIn :: Lens' UpdateAutoScalingGroup (Maybe Bool)
- Network.AWS.AutoScaling: autoScalingInstanceDetails :: Text -> Text -> Text -> Text -> Text -> Text -> AutoScalingInstanceDetails
+ Network.AWS.AutoScaling: autoScalingInstanceDetails :: Text -> Text -> Text -> Text -> Text -> Text -> Bool -> AutoScalingInstanceDetails
- Network.AWS.AutoScaling: instance' :: Text -> Text -> LifecycleState -> Text -> Instance
+ Network.AWS.AutoScaling: instance' :: Text -> Text -> LifecycleState -> Text -> Bool -> Instance
- Network.AWS.AutoScaling.Types: autoScalingInstanceDetails :: Text -> Text -> Text -> Text -> Text -> Text -> AutoScalingInstanceDetails
+ Network.AWS.AutoScaling.Types: autoScalingInstanceDetails :: Text -> Text -> Text -> Text -> Text -> Text -> Bool -> AutoScalingInstanceDetails
- Network.AWS.AutoScaling.Types: instance' :: Text -> Text -> LifecycleState -> Text -> Instance
+ Network.AWS.AutoScaling.Types: instance' :: Text -> Text -> LifecycleState -> Text -> Bool -> Instance
Files
- README.md +1/−1
- amazonka-autoscaling.cabal +6/−6
- fixture/SetInstanceProtection.yaml +0/−0
- fixture/SetInstanceProtectionResponse.proto +0/−0
- gen/Network/AWS/AutoScaling.hs +7/−0
- gen/Network/AWS/AutoScaling/AttachInstances.hs +6/−0
- gen/Network/AWS/AutoScaling/AttachLoadBalancers.hs +1/−0
- gen/Network/AWS/AutoScaling/CompleteLifecycleAction.hs +1/−0
- gen/Network/AWS/AutoScaling/CreateAutoScalingGroup.hs +35/−25
- gen/Network/AWS/AutoScaling/CreateLaunchConfiguration.hs +1/−0
- gen/Network/AWS/AutoScaling/CreateOrUpdateTags.hs +1/−0
- gen/Network/AWS/AutoScaling/DeleteAutoScalingGroup.hs +15/−4
- gen/Network/AWS/AutoScaling/DeleteLaunchConfiguration.hs +1/−0
- gen/Network/AWS/AutoScaling/DeleteLifecycleHook.hs +1/−0
- gen/Network/AWS/AutoScaling/DeleteNotificationConfiguration.hs +1/−0
- gen/Network/AWS/AutoScaling/DeletePolicy.hs +4/−0
- gen/Network/AWS/AutoScaling/DeleteScheduledAction.hs +1/−0
- gen/Network/AWS/AutoScaling/DeleteTags.hs +1/−0
- gen/Network/AWS/AutoScaling/DescribeAccountLimits.hs +25/−4
- gen/Network/AWS/AutoScaling/DescribeAdjustmentTypes.hs +1/−0
- gen/Network/AWS/AutoScaling/DescribeAutoScalingGroups.hs +1/−0
- gen/Network/AWS/AutoScaling/DescribeAutoScalingInstances.hs +1/−0
- gen/Network/AWS/AutoScaling/DescribeAutoScalingNotificationTypes.hs +1/−0
- gen/Network/AWS/AutoScaling/DescribeLaunchConfigurations.hs +1/−0
- gen/Network/AWS/AutoScaling/DescribeLifecycleHookTypes.hs +1/−0
- gen/Network/AWS/AutoScaling/DescribeLifecycleHooks.hs +1/−0
- gen/Network/AWS/AutoScaling/DescribeLoadBalancers.hs +1/−0
- gen/Network/AWS/AutoScaling/DescribeMetricCollectionTypes.hs +1/−0
- gen/Network/AWS/AutoScaling/DescribeNotificationConfigurations.hs +1/−0
- gen/Network/AWS/AutoScaling/DescribePolicies.hs +1/−0
- gen/Network/AWS/AutoScaling/DescribeScalingActivities.hs +1/−0
- gen/Network/AWS/AutoScaling/DescribeScalingProcessTypes.hs +1/−0
- gen/Network/AWS/AutoScaling/DescribeScheduledActions.hs +1/−0
- gen/Network/AWS/AutoScaling/DescribeTags.hs +1/−0
- gen/Network/AWS/AutoScaling/DescribeTerminationPolicyTypes.hs +1/−0
- gen/Network/AWS/AutoScaling/DetachInstances.hs +5/−0
- gen/Network/AWS/AutoScaling/DetachLoadBalancers.hs +1/−0
- gen/Network/AWS/AutoScaling/DisableMetricsCollection.hs +1/−0
- gen/Network/AWS/AutoScaling/EnableMetricsCollection.hs +1/−0
- gen/Network/AWS/AutoScaling/EnterStandby.hs +1/−0
- gen/Network/AWS/AutoScaling/ExecutePolicy.hs +1/−0
- gen/Network/AWS/AutoScaling/ExitStandby.hs +1/−0
- gen/Network/AWS/AutoScaling/PutLifecycleHook.hs +1/−0
- gen/Network/AWS/AutoScaling/PutNotificationConfiguration.hs +1/−0
- gen/Network/AWS/AutoScaling/PutScalingPolicy.hs +1/−0
- gen/Network/AWS/AutoScaling/PutScheduledUpdateGroupAction.hs +1/−0
- gen/Network/AWS/AutoScaling/RecordLifecycleActionHeartbeat.hs +1/−0
- gen/Network/AWS/AutoScaling/ResumeProcesses.hs +1/−0
- gen/Network/AWS/AutoScaling/SetDesiredCapacity.hs +1/−0
- gen/Network/AWS/AutoScaling/SetInstanceHealth.hs +1/−0
- gen/Network/AWS/AutoScaling/SetInstanceProtection.hs +138/−0
- gen/Network/AWS/AutoScaling/SuspendProcesses.hs +1/−0
- gen/Network/AWS/AutoScaling/TerminateInstanceInAutoScalingGroup.hs +1/−0
- gen/Network/AWS/AutoScaling/Types.hs +4/−0
- gen/Network/AWS/AutoScaling/Types/Product.hs +61/−29
- gen/Network/AWS/AutoScaling/Types/Sum.hs +6/−3
- gen/Network/AWS/AutoScaling/UpdateAutoScalingGroup.hs +35/−20
- gen/Network/AWS/AutoScaling/Waiters.hs +1/−0
- test/Test/AWS/Gen/AutoScaling.hs +18/−0
README.md view
@@ -8,7 +8,7 @@ ## Version -`1.3.6`+`1.3.7` ## Description
amazonka-autoscaling.cabal view
@@ -1,5 +1,5 @@ name: amazonka-autoscaling-version: 1.3.6+version: 1.3.7 synopsis: Amazon Auto Scaling SDK. homepage: https://github.com/brendanhay/amazonka bug-reports: https://github.com/brendanhay/amazonka/issues@@ -91,6 +91,7 @@ , Network.AWS.AutoScaling.ResumeProcesses , Network.AWS.AutoScaling.SetDesiredCapacity , Network.AWS.AutoScaling.SetInstanceHealth+ , Network.AWS.AutoScaling.SetInstanceProtection , Network.AWS.AutoScaling.SuspendProcesses , Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup , Network.AWS.AutoScaling.Types@@ -102,7 +103,7 @@ , Network.AWS.AutoScaling.Types.Sum build-depends:- amazonka-core == 1.3.6.*+ amazonka-core == 1.3.7.* , base >= 4.7 && < 5 test-suite amazonka-autoscaling-test@@ -122,12 +123,11 @@ , Test.AWS.AutoScaling.Internal build-depends:- amazonka-core == 1.3.6.*- , amazonka-test == 1.3.6.*- , amazonka-autoscaling == 1.3.6.*+ amazonka-core == 1.3.7.*+ , amazonka-test == 1.3.7.*+ , amazonka-autoscaling == 1.3.7.* , base , bytestring- , lens , tasty , tasty-hunit , text
+ fixture/SetInstanceProtection.yaml view
+ fixture/SetInstanceProtectionResponse.proto view
gen/Network/AWS/AutoScaling.hs view
@@ -171,6 +171,9 @@ -- ** PutScheduledUpdateGroupAction , module Network.AWS.AutoScaling.PutScheduledUpdateGroupAction + -- ** SetInstanceProtection+ , module Network.AWS.AutoScaling.SetInstanceProtection+ -- ** DescribePolicies (Paginated) , module Network.AWS.AutoScaling.DescribePolicies @@ -234,6 +237,7 @@ , asgStatus , asgTerminationPolicies , asgHealthCheckGracePeriod+ , asgNewInstancesProtectedFromScaleIn , asgVPCZoneIdentifier , asgEnabledMetrics , asgLaunchConfigurationName@@ -261,6 +265,7 @@ , asidLifecycleState , asidHealthStatus , asidLaunchConfigurationName+ , asidProtectedFromScaleIn -- ** BlockDeviceMapping , BlockDeviceMapping@@ -300,6 +305,7 @@ , iAvailabilityZone , iLifecycleState , iHealthStatus+ , iProtectedFromScaleIn -- ** InstanceMonitoring , InstanceMonitoring@@ -484,6 +490,7 @@ import Network.AWS.AutoScaling.ResumeProcesses import Network.AWS.AutoScaling.SetDesiredCapacity import Network.AWS.AutoScaling.SetInstanceHealth+import Network.AWS.AutoScaling.SetInstanceProtection import Network.AWS.AutoScaling.SuspendProcesses import Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup import Network.AWS.AutoScaling.Types
gen/Network/AWS/AutoScaling/AttachInstances.hs view
@@ -20,6 +20,11 @@ -- -- Attaches one or more EC2 instances to the specified Auto Scaling group. --+-- When you attach instances, Auto Scaling increases the desired capacity+-- of the group by the number of instances being attached. If the number of+-- instances being attached plus the desired capacity of the group exceeds+-- the maximum size of the group, the operation fails.+-- -- For more information, see -- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/attach-instance-asg.html Attach EC2 Instances to Your Auto Scaling Group> -- in the /Auto Scaling Developer Guide/.@@ -41,6 +46,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/AttachLoadBalancers.hs view
@@ -47,6 +47,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/CompleteLifecycleAction.hs view
@@ -61,6 +61,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/CreateAutoScalingGroup.hs view
@@ -38,6 +38,7 @@ , casgInstanceId , casgTerminationPolicies , casgHealthCheckGracePeriod+ , casgNewInstancesProtectedFromScaleIn , casgVPCZoneIdentifier , casgDefaultCooldown , casgAvailabilityZones@@ -58,27 +59,29 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response -- | /See:/ 'createAutoScalingGroup' smart constructor. data CreateAutoScalingGroup = CreateAutoScalingGroup'- { _casgInstanceId :: !(Maybe Text)- , _casgTerminationPolicies :: !(Maybe [Text])- , _casgHealthCheckGracePeriod :: !(Maybe Int)- , _casgVPCZoneIdentifier :: !(Maybe Text)- , _casgDefaultCooldown :: !(Maybe Int)- , _casgAvailabilityZones :: !(Maybe (List1 Text))- , _casgDesiredCapacity :: !(Maybe Int)- , _casgLaunchConfigurationName :: !(Maybe Text)- , _casgHealthCheckType :: !(Maybe Text)- , _casgPlacementGroup :: !(Maybe Text)- , _casgLoadBalancerNames :: !(Maybe [Text])- , _casgTags :: !(Maybe [Tag])- , _casgAutoScalingGroupName :: !Text- , _casgMinSize :: !Int- , _casgMaxSize :: !Int+ { _casgInstanceId :: !(Maybe Text)+ , _casgTerminationPolicies :: !(Maybe [Text])+ , _casgHealthCheckGracePeriod :: !(Maybe Int)+ , _casgNewInstancesProtectedFromScaleIn :: !(Maybe Bool)+ , _casgVPCZoneIdentifier :: !(Maybe Text)+ , _casgDefaultCooldown :: !(Maybe Int)+ , _casgAvailabilityZones :: !(Maybe (List1 Text))+ , _casgDesiredCapacity :: !(Maybe Int)+ , _casgLaunchConfigurationName :: !(Maybe Text)+ , _casgHealthCheckType :: !(Maybe Text)+ , _casgPlacementGroup :: !(Maybe Text)+ , _casgLoadBalancerNames :: !(Maybe [Text])+ , _casgTags :: !(Maybe [Tag])+ , _casgAutoScalingGroupName :: !Text+ , _casgMinSize :: !Int+ , _casgMaxSize :: !Int } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'CreateAutoScalingGroup' with the minimum fields required to make a request.@@ -91,6 +94,8 @@ -- -- * 'casgHealthCheckGracePeriod' --+-- * 'casgNewInstancesProtectedFromScaleIn'+-- -- * 'casgVPCZoneIdentifier' -- -- * 'casgDefaultCooldown'@@ -124,6 +129,7 @@ { _casgInstanceId = Nothing , _casgTerminationPolicies = Nothing , _casgHealthCheckGracePeriod = Nothing+ , _casgNewInstancesProtectedFromScaleIn = Nothing , _casgVPCZoneIdentifier = Nothing , _casgDefaultCooldown = Nothing , _casgAvailabilityZones = Nothing@@ -163,22 +169,24 @@ casgTerminationPolicies :: Lens' CreateAutoScalingGroup [Text] casgTerminationPolicies = lens _casgTerminationPolicies (\ s a -> s{_casgTerminationPolicies = a}) . _Default . _Coerce; --- | The amount of time, in seconds, after an EC2 instance comes into service--- that Auto Scaling starts checking its health. During this time, any--- health check failures for the instance are ignored.+-- | The amount of time, in seconds, that Auto Scaling waits before checking+-- the health status of an EC2 instance that has come into service. During+-- this time, any health check failures for the instance are ignored. The+-- default is 300. -- -- This parameter is required if you are adding an 'ELB' health check.--- Frequently, new instances need to warm up, briefly, before they can pass--- a health check. To provide ample warm-up time, set the health check--- grace period of the group to match the expected startup period of your--- application. -- -- For more information, see--- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-add-elb-healthcheck.html Add an Elastic Load Balancing Health Check to Your Auto Scaling Group>+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/healthcheck.html Health Checks for Auto Scaling Instances> -- in the /Auto Scaling Developer Guide/. casgHealthCheckGracePeriod :: Lens' CreateAutoScalingGroup (Maybe Int) casgHealthCheckGracePeriod = lens _casgHealthCheckGracePeriod (\ s a -> s{_casgHealthCheckGracePeriod = a}); +-- | Indicates whether newly launched instances are protected from+-- termination by Auto Scaling when scaling in.+casgNewInstancesProtectedFromScaleIn :: Lens' CreateAutoScalingGroup (Maybe Bool)+casgNewInstancesProtectedFromScaleIn = lens _casgNewInstancesProtectedFromScaleIn (\ s a -> s{_casgNewInstancesProtectedFromScaleIn = a});+ -- | A comma-separated list of subnet identifiers for your virtual private -- cloud (VPC). --@@ -193,9 +201,9 @@ casgVPCZoneIdentifier = lens _casgVPCZoneIdentifier (\ s a -> s{_casgVPCZoneIdentifier = a}); -- | The amount of time, in seconds, after a scaling activity completes--- before another scaling activity can start.+-- before another scaling activity can start. The default is 300. ----- The default is 300. For more information, see+-- For more information, see -- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/Cooldown.html Understanding Auto Scaling Cooldowns> -- in the /Auto Scaling Developer Guide/. casgDefaultCooldown :: Lens' CreateAutoScalingGroup (Maybe Int)@@ -292,6 +300,8 @@ (toQueryList "member" <$> _casgTerminationPolicies), "HealthCheckGracePeriod" =: _casgHealthCheckGracePeriod,+ "NewInstancesProtectedFromScaleIn" =:+ _casgNewInstancesProtectedFromScaleIn, "VPCZoneIdentifier" =: _casgVPCZoneIdentifier, "DefaultCooldown" =: _casgDefaultCooldown, "AvailabilityZones" =:
gen/Network/AWS/AutoScaling/CreateLaunchConfiguration.hs view
@@ -61,6 +61,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/CreateOrUpdateTags.hs view
@@ -51,6 +51,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/DeleteAutoScalingGroup.hs view
@@ -20,12 +20,22 @@ -- -- Deletes the specified Auto Scaling group. ----- The group must have no instances and no scaling activities in progress.+-- If the group has instances or scaling activities in progress, you must+-- specify the option to force the deletion in order for it to succeed. ----- To remove all instances before calling 'DeleteAutoScalingGroup', call--- UpdateAutoScalingGroup to set the minimum and maximum size of the Auto--- Scaling group to zero.+-- If the group has policies, deleting the group deletes the policies, the+-- underlying alarm actions, and any alarm that no longer has an associated+-- action. --+-- To remove instances from the Auto Scaling group before deleting it, call+-- DetachInstances with the list of instances and the option to decrement+-- the desired capacity so that Auto Scaling does not launch replacement+-- instances.+--+-- To terminate all instances before deleting the Auto Scaling group, call+-- UpdateAutoScalingGroup and set the minimum size and desired capacity of+-- the Auto Scaling group to zero.+-- -- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeleteAutoScalingGroup.html AWS API Reference> for DeleteAutoScalingGroup. module Network.AWS.AutoScaling.DeleteAutoScalingGroup (@@ -43,6 +53,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/DeleteLaunchConfiguration.hs view
@@ -40,6 +40,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/DeleteLifecycleHook.hs view
@@ -43,6 +43,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/DeleteNotificationConfiguration.hs view
@@ -37,6 +37,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/DeletePolicy.hs view
@@ -20,6 +20,9 @@ -- -- Deletes the specified Auto Scaling policy. --+-- Deleting a policy deletes the underlying alarm action, but does not+-- delete the alarm, even if it no longer has an associated action.+-- -- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeletePolicy.html AWS API Reference> for DeletePolicy. module Network.AWS.AutoScaling.DeletePolicy (@@ -37,6 +40,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/DeleteScheduledAction.hs view
@@ -37,6 +37,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/DeleteTags.hs view
@@ -36,6 +36,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/DescribeAccountLimits.hs view
@@ -35,6 +35,8 @@ , describeAccountLimitsResponse , DescribeAccountLimitsResponse -- * Response Lenses+ , dalrsNumberOfLaunchConfigurations+ , dalrsNumberOfAutoScalingGroups , dalrsMaxNumberOfAutoScalingGroups , dalrsMaxNumberOfLaunchConfigurations , dalrsResponseStatus@@ -42,6 +44,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response@@ -65,8 +68,10 @@ = receiveXMLWrapper "DescribeAccountLimitsResult" (\ s h x -> DescribeAccountLimitsResponse' <$>- (x .@? "MaxNumberOfAutoScalingGroups") <*>- (x .@? "MaxNumberOfLaunchConfigurations")+ (x .@? "NumberOfLaunchConfigurations") <*>+ (x .@? "NumberOfAutoScalingGroups")+ <*> (x .@? "MaxNumberOfAutoScalingGroups")+ <*> (x .@? "MaxNumberOfLaunchConfigurations") <*> (pure (fromEnum s))) instance ToHeaders DescribeAccountLimits where@@ -84,7 +89,9 @@ -- | /See:/ 'describeAccountLimitsResponse' smart constructor. data DescribeAccountLimitsResponse = DescribeAccountLimitsResponse'- { _dalrsMaxNumberOfAutoScalingGroups :: !(Maybe Int)+ { _dalrsNumberOfLaunchConfigurations :: !(Maybe Int)+ , _dalrsNumberOfAutoScalingGroups :: !(Maybe Int)+ , _dalrsMaxNumberOfAutoScalingGroups :: !(Maybe Int) , _dalrsMaxNumberOfLaunchConfigurations :: !(Maybe Int) , _dalrsResponseStatus :: !Int } deriving (Eq,Read,Show,Data,Typeable,Generic)@@ -93,6 +100,10 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'dalrsNumberOfLaunchConfigurations'+--+-- * 'dalrsNumberOfAutoScalingGroups'+-- -- * 'dalrsMaxNumberOfAutoScalingGroups' -- -- * 'dalrsMaxNumberOfLaunchConfigurations'@@ -103,10 +114,20 @@ -> DescribeAccountLimitsResponse describeAccountLimitsResponse pResponseStatus_ = DescribeAccountLimitsResponse'- { _dalrsMaxNumberOfAutoScalingGroups = Nothing+ { _dalrsNumberOfLaunchConfigurations = Nothing+ , _dalrsNumberOfAutoScalingGroups = Nothing+ , _dalrsMaxNumberOfAutoScalingGroups = Nothing , _dalrsMaxNumberOfLaunchConfigurations = Nothing , _dalrsResponseStatus = pResponseStatus_ }++-- | The current number of launch configurations for your AWS account.+dalrsNumberOfLaunchConfigurations :: Lens' DescribeAccountLimitsResponse (Maybe Int)+dalrsNumberOfLaunchConfigurations = lens _dalrsNumberOfLaunchConfigurations (\ s a -> s{_dalrsNumberOfLaunchConfigurations = a});++-- | The current number of groups for your AWS account.+dalrsNumberOfAutoScalingGroups :: Lens' DescribeAccountLimitsResponse (Maybe Int)+dalrsNumberOfAutoScalingGroups = lens _dalrsNumberOfAutoScalingGroups (\ s a -> s{_dalrsNumberOfAutoScalingGroups = a}); -- | The maximum number of groups allowed for your AWS account. The default -- limit is 20 per region.
gen/Network/AWS/AutoScaling/DescribeAdjustmentTypes.hs view
@@ -37,6 +37,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/DescribeAutoScalingGroups.hs view
@@ -45,6 +45,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request
gen/Network/AWS/AutoScaling/DescribeAutoScalingInstances.hs view
@@ -45,6 +45,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request
gen/Network/AWS/AutoScaling/DescribeAutoScalingNotificationTypes.hs view
@@ -37,6 +37,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/DescribeLaunchConfigurations.hs view
@@ -45,6 +45,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request
gen/Network/AWS/AutoScaling/DescribeLifecycleHookTypes.hs view
@@ -37,6 +37,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/DescribeLifecycleHooks.hs view
@@ -40,6 +40,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/DescribeLoadBalancers.hs view
@@ -42,6 +42,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/DescribeMetricCollectionTypes.hs view
@@ -42,6 +42,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/DescribeNotificationConfigurations.hs view
@@ -45,6 +45,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request
gen/Network/AWS/AutoScaling/DescribePolicies.hs view
@@ -46,6 +46,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request
gen/Network/AWS/AutoScaling/DescribeScalingActivities.hs view
@@ -48,6 +48,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request
gen/Network/AWS/AutoScaling/DescribeScalingProcessTypes.hs view
@@ -38,6 +38,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/DescribeScheduledActions.hs view
@@ -49,6 +49,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request
gen/Network/AWS/AutoScaling/DescribeTags.hs view
@@ -53,6 +53,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Pager import Network.AWS.Prelude import Network.AWS.Request
gen/Network/AWS/AutoScaling/DescribeTerminationPolicyTypes.hs view
@@ -37,6 +37,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/DetachInstances.hs view
@@ -19,9 +19,13 @@ -- Portability : non-portable (GHC extensions) -- -- Removes one or more instances from the specified Auto Scaling group.+-- -- After the instances are detached, you can manage them independently from -- the rest of the Auto Scaling group. --+-- If you do not specify the option to decrement the desired capacity, Auto+-- Scaling launches instances to replace the ones that are detached.+-- -- For more information, see -- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/detach-instance-asg.html Detach EC2 Instances from Your Auto Scaling Group> -- in the /Auto Scaling Developer Guide/.@@ -47,6 +51,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/DetachLoadBalancers.hs view
@@ -45,6 +45,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/DisableMetricsCollection.hs view
@@ -38,6 +38,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/EnableMetricsCollection.hs view
@@ -42,6 +42,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/EnterStandby.hs view
@@ -45,6 +45,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/ExecutePolicy.hs view
@@ -40,6 +40,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/ExitStandby.hs view
@@ -44,6 +44,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/PutLifecycleHook.hs view
@@ -75,6 +75,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/PutNotificationConfiguration.hs view
@@ -46,6 +46,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/PutScalingPolicy.hs view
@@ -58,6 +58,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/PutScheduledUpdateGroupAction.hs view
@@ -51,6 +51,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/RecordLifecycleActionHeartbeat.hs view
@@ -61,6 +61,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/ResumeProcesses.hs view
@@ -42,6 +42,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/SetDesiredCapacity.hs view
@@ -42,6 +42,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/SetInstanceHealth.hs view
@@ -42,6 +42,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
+ gen/Network/AWS/AutoScaling/SetInstanceProtection.hs view
@@ -0,0 +1,138 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.AutoScaling.SetInstanceProtection+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the instance protection settings of the specified instances.+--+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingBehavior.InstanceTermination.html#instance-protection Instance Protection>+-- in the /Auto Scaling Developer Guide/.+--+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_SetInstanceProtection.html AWS API Reference> for SetInstanceProtection.+module Network.AWS.AutoScaling.SetInstanceProtection+ (+ -- * Creating a Request+ setInstanceProtection+ , SetInstanceProtection+ -- * Request Lenses+ , sipInstanceIds+ , sipAutoScalingGroupName+ , sipProtectedFromScaleIn++ -- * Destructuring the Response+ , setInstanceProtectionResponse+ , SetInstanceProtectionResponse+ -- * Response Lenses+ , siprsResponseStatus+ ) where++import Network.AWS.AutoScaling.Types+import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'setInstanceProtection' smart constructor.+data SetInstanceProtection = SetInstanceProtection'+ { _sipInstanceIds :: ![Text]+ , _sipAutoScalingGroupName :: !Text+ , _sipProtectedFromScaleIn :: !Bool+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SetInstanceProtection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sipInstanceIds'+--+-- * 'sipAutoScalingGroupName'+--+-- * 'sipProtectedFromScaleIn'+setInstanceProtection+ :: Text -- ^ 'sipAutoScalingGroupName'+ -> Bool -- ^ 'sipProtectedFromScaleIn'+ -> SetInstanceProtection+setInstanceProtection pAutoScalingGroupName_ pProtectedFromScaleIn_ =+ SetInstanceProtection'+ { _sipInstanceIds = mempty+ , _sipAutoScalingGroupName = pAutoScalingGroupName_+ , _sipProtectedFromScaleIn = pProtectedFromScaleIn_+ }++-- | One or more instance IDs.+sipInstanceIds :: Lens' SetInstanceProtection [Text]+sipInstanceIds = lens _sipInstanceIds (\ s a -> s{_sipInstanceIds = a}) . _Coerce;++-- | The name of the group.+sipAutoScalingGroupName :: Lens' SetInstanceProtection Text+sipAutoScalingGroupName = lens _sipAutoScalingGroupName (\ s a -> s{_sipAutoScalingGroupName = a});++-- | Indicates whether the instance is protected from termination by Auto+-- Scaling when scaling in.+sipProtectedFromScaleIn :: Lens' SetInstanceProtection Bool+sipProtectedFromScaleIn = lens _sipProtectedFromScaleIn (\ s a -> s{_sipProtectedFromScaleIn = a});++instance AWSRequest SetInstanceProtection where+ type Rs SetInstanceProtection =+ SetInstanceProtectionResponse+ request = postQuery autoScaling+ response+ = receiveXMLWrapper "SetInstanceProtectionResult"+ (\ s h x ->+ SetInstanceProtectionResponse' <$>+ (pure (fromEnum s)))++instance ToHeaders SetInstanceProtection where+ toHeaders = const mempty++instance ToPath SetInstanceProtection where+ toPath = const "/"++instance ToQuery SetInstanceProtection where+ toQuery SetInstanceProtection'{..}+ = mconcat+ ["Action" =: ("SetInstanceProtection" :: ByteString),+ "Version" =: ("2011-01-01" :: ByteString),+ "InstanceIds" =:+ toQueryList "member" _sipInstanceIds,+ "AutoScalingGroupName" =: _sipAutoScalingGroupName,+ "ProtectedFromScaleIn" =: _sipProtectedFromScaleIn]++-- | /See:/ 'setInstanceProtectionResponse' smart constructor.+newtype SetInstanceProtectionResponse = SetInstanceProtectionResponse'+ { _siprsResponseStatus :: Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SetInstanceProtectionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siprsResponseStatus'+setInstanceProtectionResponse+ :: Int -- ^ 'siprsResponseStatus'+ -> SetInstanceProtectionResponse+setInstanceProtectionResponse pResponseStatus_ =+ SetInstanceProtectionResponse'+ { _siprsResponseStatus = pResponseStatus_+ }++-- | The response status code.+siprsResponseStatus :: Lens' SetInstanceProtectionResponse Int+siprsResponseStatus = lens _siprsResponseStatus (\ s a -> s{_siprsResponseStatus = a});
gen/Network/AWS/AutoScaling/SuspendProcesses.hs view
@@ -49,6 +49,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/TerminateInstanceInAutoScalingGroup.hs view
@@ -44,6 +44,7 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response
gen/Network/AWS/AutoScaling/Types.hs view
@@ -60,6 +60,7 @@ , asgStatus , asgTerminationPolicies , asgHealthCheckGracePeriod+ , asgNewInstancesProtectedFromScaleIn , asgVPCZoneIdentifier , asgEnabledMetrics , asgLaunchConfigurationName@@ -87,6 +88,7 @@ , asidLifecycleState , asidHealthStatus , asidLaunchConfigurationName+ , asidProtectedFromScaleIn -- * BlockDeviceMapping , BlockDeviceMapping@@ -126,6 +128,7 @@ , iAvailabilityZone , iLifecycleState , iHealthStatus+ , iProtectedFromScaleIn -- * InstanceMonitoring , InstanceMonitoring@@ -267,6 +270,7 @@ import Network.AWS.AutoScaling.Types.Product import Network.AWS.AutoScaling.Types.Sum+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Sign.V4
gen/Network/AWS/AutoScaling/Types/Product.hs view
@@ -18,6 +18,7 @@ module Network.AWS.AutoScaling.Types.Product where import Network.AWS.AutoScaling.Types.Sum+import Network.AWS.Lens import Network.AWS.Prelude -- | Describes scaling activity, which is a long-running process that@@ -207,26 +208,27 @@ -- -- /See:/ 'autoScalingGroup' smart constructor. data AutoScalingGroup = AutoScalingGroup'- { _asgStatus :: !(Maybe Text)- , _asgTerminationPolicies :: !(Maybe [Text])- , _asgHealthCheckGracePeriod :: !(Maybe Int)- , _asgVPCZoneIdentifier :: !(Maybe Text)- , _asgEnabledMetrics :: !(Maybe [EnabledMetric])- , _asgLaunchConfigurationName :: !(Maybe Text)- , _asgInstances :: !(Maybe [Instance])- , _asgAutoScalingGroupARN :: !(Maybe Text)- , _asgPlacementGroup :: !(Maybe Text)- , _asgSuspendedProcesses :: !(Maybe [SuspendedProcess])- , _asgLoadBalancerNames :: !(Maybe [Text])- , _asgTags :: !(Maybe [TagDescription])- , _asgAutoScalingGroupName :: !Text- , _asgMinSize :: !Int- , _asgMaxSize :: !Int- , _asgDesiredCapacity :: !Int- , _asgDefaultCooldown :: !Int- , _asgAvailabilityZones :: !(List1 Text)- , _asgHealthCheckType :: !Text- , _asgCreatedTime :: !ISO8601+ { _asgStatus :: !(Maybe Text)+ , _asgTerminationPolicies :: !(Maybe [Text])+ , _asgHealthCheckGracePeriod :: !(Maybe Int)+ , _asgNewInstancesProtectedFromScaleIn :: !(Maybe Bool)+ , _asgVPCZoneIdentifier :: !(Maybe Text)+ , _asgEnabledMetrics :: !(Maybe [EnabledMetric])+ , _asgLaunchConfigurationName :: !(Maybe Text)+ , _asgInstances :: !(Maybe [Instance])+ , _asgAutoScalingGroupARN :: !(Maybe Text)+ , _asgPlacementGroup :: !(Maybe Text)+ , _asgSuspendedProcesses :: !(Maybe [SuspendedProcess])+ , _asgLoadBalancerNames :: !(Maybe [Text])+ , _asgTags :: !(Maybe [TagDescription])+ , _asgAutoScalingGroupName :: !Text+ , _asgMinSize :: !Int+ , _asgMaxSize :: !Int+ , _asgDesiredCapacity :: !Int+ , _asgDefaultCooldown :: !Int+ , _asgAvailabilityZones :: !(List1 Text)+ , _asgHealthCheckType :: !Text+ , _asgCreatedTime :: !ISO8601 } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'AutoScalingGroup' with the minimum fields required to make a request.@@ -239,6 +241,8 @@ -- -- * 'asgHealthCheckGracePeriod' --+-- * 'asgNewInstancesProtectedFromScaleIn'+-- -- * 'asgVPCZoneIdentifier' -- -- * 'asgEnabledMetrics'@@ -287,6 +291,7 @@ { _asgStatus = Nothing , _asgTerminationPolicies = Nothing , _asgHealthCheckGracePeriod = Nothing+ , _asgNewInstancesProtectedFromScaleIn = Nothing , _asgVPCZoneIdentifier = Nothing , _asgEnabledMetrics = Nothing , _asgLaunchConfigurationName = Nothing@@ -315,12 +320,16 @@ asgTerminationPolicies :: Lens' AutoScalingGroup [Text] asgTerminationPolicies = lens _asgTerminationPolicies (\ s a -> s{_asgTerminationPolicies = a}) . _Default . _Coerce; --- | The amount of time that Auto Scaling waits before checking an--- instance\'s health status. The grace period begins when an instance--- comes into service.+-- | The amount of time, in seconds, that Auto Scaling waits before checking+-- the health status of an EC2 instance that has come into service. asgHealthCheckGracePeriod :: Lens' AutoScalingGroup (Maybe Int) asgHealthCheckGracePeriod = lens _asgHealthCheckGracePeriod (\ s a -> s{_asgHealthCheckGracePeriod = a}); +-- | Indicates whether newly launched instances are protected from+-- termination by Auto Scaling when scaling in.+asgNewInstancesProtectedFromScaleIn :: Lens' AutoScalingGroup (Maybe Bool)+asgNewInstancesProtectedFromScaleIn = lens _asgNewInstancesProtectedFromScaleIn (\ s a -> s{_asgNewInstancesProtectedFromScaleIn = a});+ -- | One or more subnet IDs, if applicable, separated by commas. -- -- If you specify 'VPCZoneIdentifier' and 'AvailabilityZones', ensure that@@ -380,8 +389,8 @@ asgDesiredCapacity :: Lens' AutoScalingGroup Int asgDesiredCapacity = lens _asgDesiredCapacity (\ s a -> s{_asgDesiredCapacity = a}); --- | The number of seconds after a scaling activity completes before any--- further scaling activities can start.+-- | The amount of time, in seconds, after a scaling activity completes+-- before another scaling activity can start. asgDefaultCooldown :: Lens' AutoScalingGroup Int asgDefaultCooldown = lens _asgDefaultCooldown (\ s a -> s{_asgDefaultCooldown = a}); @@ -389,8 +398,8 @@ asgAvailabilityZones :: Lens' AutoScalingGroup (NonEmpty Text) asgAvailabilityZones = lens _asgAvailabilityZones (\ s a -> s{_asgAvailabilityZones = a}) . _List1; --- | The service of interest for the health status check, which can be either--- 'EC2' for Amazon EC2 or 'ELB' for Elastic Load Balancing.+-- | The service to use for the health checks. The valid values are 'EC2' and+-- 'ELB'. asgHealthCheckType :: Lens' AutoScalingGroup Text asgHealthCheckType = lens _asgHealthCheckType (\ s a -> s{_asgHealthCheckType = a}); @@ -405,6 +414,7 @@ (x .@? "TerminationPolicies" .!@ mempty >>= may (parseXMLList "member")) <*> (x .@? "HealthCheckGracePeriod")+ <*> (x .@? "NewInstancesProtectedFromScaleIn") <*> (x .@? "VPCZoneIdentifier") <*> (x .@? "EnabledMetrics" .!@ mempty >>=@@ -445,6 +455,7 @@ , _asidLifecycleState :: !Text , _asidHealthStatus :: !Text , _asidLaunchConfigurationName :: !Text+ , _asidProtectedFromScaleIn :: !Bool } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'AutoScalingInstanceDetails' with the minimum fields required to make a request.@@ -462,6 +473,8 @@ -- * 'asidHealthStatus' -- -- * 'asidLaunchConfigurationName'+--+-- * 'asidProtectedFromScaleIn' autoScalingInstanceDetails :: Text -- ^ 'asidInstanceId' -> Text -- ^ 'asidAutoScalingGroupName'@@ -469,8 +482,9 @@ -> Text -- ^ 'asidLifecycleState' -> Text -- ^ 'asidHealthStatus' -> Text -- ^ 'asidLaunchConfigurationName'+ -> Bool -- ^ 'asidProtectedFromScaleIn' -> AutoScalingInstanceDetails-autoScalingInstanceDetails pInstanceId_ pAutoScalingGroupName_ pAvailabilityZone_ pLifecycleState_ pHealthStatus_ pLaunchConfigurationName_ =+autoScalingInstanceDetails pInstanceId_ pAutoScalingGroupName_ pAvailabilityZone_ pLifecycleState_ pHealthStatus_ pLaunchConfigurationName_ pProtectedFromScaleIn_ = AutoScalingInstanceDetails' { _asidInstanceId = pInstanceId_ , _asidAutoScalingGroupName = pAutoScalingGroupName_@@ -478,6 +492,7 @@ , _asidLifecycleState = pLifecycleState_ , _asidHealthStatus = pHealthStatus_ , _asidLaunchConfigurationName = pLaunchConfigurationName_+ , _asidProtectedFromScaleIn = pProtectedFromScaleIn_ } -- | The ID of the instance.@@ -508,6 +523,11 @@ asidLaunchConfigurationName :: Lens' AutoScalingInstanceDetails Text asidLaunchConfigurationName = lens _asidLaunchConfigurationName (\ s a -> s{_asidLaunchConfigurationName = a}); +-- | Indicates whether the instance is protected from termination by Auto+-- Scaling when scaling in.+asidProtectedFromScaleIn :: Lens' AutoScalingInstanceDetails Bool+asidProtectedFromScaleIn = lens _asidProtectedFromScaleIn (\ s a -> s{_asidProtectedFromScaleIn = a});+ instance FromXML AutoScalingInstanceDetails where parseXML x = AutoScalingInstanceDetails' <$>@@ -516,6 +536,7 @@ <*> (x .@ "LifecycleState") <*> (x .@ "HealthStatus") <*> (x .@ "LaunchConfigurationName")+ <*> (x .@ "ProtectedFromScaleIn") -- | Describes a block device mapping. --@@ -793,6 +814,7 @@ , _iAvailabilityZone :: !Text , _iLifecycleState :: !LifecycleState , _iHealthStatus :: !Text+ , _iProtectedFromScaleIn :: !Bool } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'Instance' with the minimum fields required to make a request.@@ -808,19 +830,23 @@ -- * 'iLifecycleState' -- -- * 'iHealthStatus'+--+-- * 'iProtectedFromScaleIn' instance' :: Text -- ^ 'iInstanceId' -> Text -- ^ 'iAvailabilityZone' -> LifecycleState -- ^ 'iLifecycleState' -> Text -- ^ 'iHealthStatus'+ -> Bool -- ^ 'iProtectedFromScaleIn' -> Instance-instance' pInstanceId_ pAvailabilityZone_ pLifecycleState_ pHealthStatus_ =+instance' pInstanceId_ pAvailabilityZone_ pLifecycleState_ pHealthStatus_ pProtectedFromScaleIn_ = Instance' { _iLaunchConfigurationName = Nothing , _iInstanceId = pInstanceId_ , _iAvailabilityZone = pAvailabilityZone_ , _iLifecycleState = pLifecycleState_ , _iHealthStatus = pHealthStatus_+ , _iProtectedFromScaleIn = pProtectedFromScaleIn_ } -- | The launch configuration associated with the instance.@@ -844,6 +870,11 @@ iHealthStatus :: Lens' Instance Text iHealthStatus = lens _iHealthStatus (\ s a -> s{_iHealthStatus = a}); +-- | Indicates whether the instance is protected from termination by Auto+-- Scaling when scaling in.+iProtectedFromScaleIn :: Lens' Instance Bool+iProtectedFromScaleIn = lens _iProtectedFromScaleIn (\ s a -> s{_iProtectedFromScaleIn = a});+ instance FromXML Instance where parseXML x = Instance' <$>@@ -852,6 +883,7 @@ <*> (x .@ "AvailabilityZone") <*> (x .@ "LifecycleState") <*> (x .@ "HealthStatus")+ <*> (x .@ "ProtectedFromScaleIn") -- | Describes whether instance monitoring is enabled. --
gen/Network/AWS/AutoScaling/Types/Sum.hs view
@@ -33,7 +33,7 @@ | Terminating | TerminatingProceed | TerminatingWait- deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)+ deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic) instance FromText LifecycleState where parser = takeLowerText >>= \case@@ -82,6 +82,7 @@ | Failed | InProgress | MidLifecycleAction+ | PendingSpotBidPlacement | PreInService | Successful | WaitingForELBConnectionDraining@@ -89,7 +90,7 @@ | WaitingForInstanceWarmup | WaitingForSpotInstanceId | WaitingForSpotInstanceRequestId- deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)+ deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic) instance FromText ScalingActivityStatusCode where parser = takeLowerText >>= \case@@ -97,6 +98,7 @@ "failed" -> pure Failed "inprogress" -> pure InProgress "midlifecycleaction" -> pure MidLifecycleAction+ "pendingspotbidplacement" -> pure PendingSpotBidPlacement "preinservice" -> pure PreInService "successful" -> pure Successful "waitingforelbconnectiondraining" -> pure WaitingForELBConnectionDraining@@ -105,7 +107,7 @@ "waitingforspotinstanceid" -> pure WaitingForSpotInstanceId "waitingforspotinstancerequestid" -> pure WaitingForSpotInstanceRequestId e -> fromTextError $ "Failure parsing ScalingActivityStatusCode from value: '" <> e- <> "'. Accepted values: Cancelled, Failed, InProgress, MidLifecycleAction, PreInService, Successful, WaitingForELBConnectionDraining, WaitingForInstanceId, WaitingForInstanceWarmup, WaitingForSpotInstanceId, WaitingForSpotInstanceRequestId"+ <> "'. Accepted values: Cancelled, Failed, InProgress, MidLifecycleAction, PendingSpotBidPlacement, PreInService, Successful, WaitingForELBConnectionDraining, WaitingForInstanceId, WaitingForInstanceWarmup, WaitingForSpotInstanceId, WaitingForSpotInstanceRequestId" instance ToText ScalingActivityStatusCode where toText = \case@@ -113,6 +115,7 @@ Failed -> "Failed" InProgress -> "InProgress" MidLifecycleAction -> "MidLifecycleAction"+ PendingSpotBidPlacement -> "PendingSpotBidPlacement" PreInService -> "PreInService" Successful -> "Successful" WaitingForELBConnectionDraining -> "WaitingForELBConnectionDraining"
gen/Network/AWS/AutoScaling/UpdateAutoScalingGroup.hs view
@@ -55,6 +55,7 @@ -- * Request Lenses , uasgTerminationPolicies , uasgHealthCheckGracePeriod+ , uasgNewInstancesProtectedFromScaleIn , uasgVPCZoneIdentifier , uasgDefaultCooldown , uasgMaxSize@@ -73,24 +74,26 @@ import Network.AWS.AutoScaling.Types import Network.AWS.AutoScaling.Types.Product+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response -- | /See:/ 'updateAutoScalingGroup' smart constructor. data UpdateAutoScalingGroup = UpdateAutoScalingGroup'- { _uasgTerminationPolicies :: !(Maybe [Text])- , _uasgHealthCheckGracePeriod :: !(Maybe Int)- , _uasgVPCZoneIdentifier :: !(Maybe Text)- , _uasgDefaultCooldown :: !(Maybe Int)- , _uasgMaxSize :: !(Maybe Int)- , _uasgAvailabilityZones :: !(Maybe (List1 Text))- , _uasgDesiredCapacity :: !(Maybe Int)- , _uasgMinSize :: !(Maybe Int)- , _uasgLaunchConfigurationName :: !(Maybe Text)- , _uasgHealthCheckType :: !(Maybe Text)- , _uasgPlacementGroup :: !(Maybe Text)- , _uasgAutoScalingGroupName :: !Text+ { _uasgTerminationPolicies :: !(Maybe [Text])+ , _uasgHealthCheckGracePeriod :: !(Maybe Int)+ , _uasgNewInstancesProtectedFromScaleIn :: !(Maybe Bool)+ , _uasgVPCZoneIdentifier :: !(Maybe Text)+ , _uasgDefaultCooldown :: !(Maybe Int)+ , _uasgMaxSize :: !(Maybe Int)+ , _uasgAvailabilityZones :: !(Maybe (List1 Text))+ , _uasgDesiredCapacity :: !(Maybe Int)+ , _uasgMinSize :: !(Maybe Int)+ , _uasgLaunchConfigurationName :: !(Maybe Text)+ , _uasgHealthCheckType :: !(Maybe Text)+ , _uasgPlacementGroup :: !(Maybe Text)+ , _uasgAutoScalingGroupName :: !Text } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'UpdateAutoScalingGroup' with the minimum fields required to make a request.@@ -101,6 +104,8 @@ -- -- * 'uasgHealthCheckGracePeriod' --+-- * 'uasgNewInstancesProtectedFromScaleIn'+-- -- * 'uasgVPCZoneIdentifier' -- -- * 'uasgDefaultCooldown'@@ -127,6 +132,7 @@ UpdateAutoScalingGroup' { _uasgTerminationPolicies = Nothing , _uasgHealthCheckGracePeriod = Nothing+ , _uasgNewInstancesProtectedFromScaleIn = Nothing , _uasgVPCZoneIdentifier = Nothing , _uasgDefaultCooldown = Nothing , _uasgMaxSize = Nothing@@ -150,14 +156,20 @@ uasgTerminationPolicies = lens _uasgTerminationPolicies (\ s a -> s{_uasgTerminationPolicies = a}) . _Default . _Coerce; -- | The amount of time, in seconds, that Auto Scaling waits before checking--- the health status of an instance. The grace period begins when the--- instance passes the system status and instance status checks from Amazon--- EC2. For more information, see--- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/healthcheck.html Health Checks>+-- the health status of an EC2 instance that has come into service. The+-- default is 300.+--+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/healthcheck.html Health Checks For Auto Scaling Instances> -- in the /Auto Scaling Developer Guide/. uasgHealthCheckGracePeriod :: Lens' UpdateAutoScalingGroup (Maybe Int) uasgHealthCheckGracePeriod = lens _uasgHealthCheckGracePeriod (\ s a -> s{_uasgHealthCheckGracePeriod = a}); +-- | Indicates whether newly launched instances are protected from+-- termination by Auto Scaling when scaling in.+uasgNewInstancesProtectedFromScaleIn :: Lens' UpdateAutoScalingGroup (Maybe Bool)+uasgNewInstancesProtectedFromScaleIn = lens _uasgNewInstancesProtectedFromScaleIn (\ s a -> s{_uasgNewInstancesProtectedFromScaleIn = a});+ -- | The ID of the subnet, if you are launching into a VPC. You can specify -- several subnets in a comma-separated list. --@@ -172,7 +184,9 @@ uasgVPCZoneIdentifier = lens _uasgVPCZoneIdentifier (\ s a -> s{_uasgVPCZoneIdentifier = a}); -- | The amount of time, in seconds, after a scaling activity completes--- before another scaling activity can start. For more information, see+-- before another scaling activity can start. The default is 300.+--+-- For more information, see -- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/Cooldown.html Understanding Auto Scaling Cooldowns> -- in the /Auto Scaling Developer Guide/. uasgDefaultCooldown :: Lens' UpdateAutoScalingGroup (Maybe Int)@@ -200,9 +214,8 @@ uasgLaunchConfigurationName :: Lens' UpdateAutoScalingGroup (Maybe Text) uasgLaunchConfigurationName = lens _uasgLaunchConfigurationName (\ s a -> s{_uasgLaunchConfigurationName = a}); --- | The type of health check for the instances in the Auto Scaling group.--- The health check type can either be 'EC2' for Amazon EC2 or 'ELB' for--- Elastic Load Balancing.+-- | The service to use for the health checks. The valid values are 'EC2' and+-- 'ELB'. uasgHealthCheckType :: Lens' UpdateAutoScalingGroup (Maybe Text) uasgHealthCheckType = lens _uasgHealthCheckType (\ s a -> s{_uasgHealthCheckType = a}); @@ -241,6 +254,8 @@ (toQueryList "member" <$> _uasgTerminationPolicies), "HealthCheckGracePeriod" =: _uasgHealthCheckGracePeriod,+ "NewInstancesProtectedFromScaleIn" =:+ _uasgNewInstancesProtectedFromScaleIn, "VPCZoneIdentifier" =: _uasgVPCZoneIdentifier, "DefaultCooldown" =: _uasgDefaultCooldown, "MaxSize" =: _uasgMaxSize,
gen/Network/AWS/AutoScaling/Waiters.hs view
@@ -16,5 +16,6 @@ module Network.AWS.AutoScaling.Waiters where import Network.AWS.AutoScaling.Types+import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Waiter
test/Test/AWS/Gen/AutoScaling.hs view
@@ -148,6 +148,9 @@ -- , testPutScheduledUpdateGroupAction $ -- putScheduledUpdateGroupAction --+-- , testSetInstanceProtection $+-- setInstanceProtection+-- -- , testDescribePolicies $ -- describePolicies --@@ -295,6 +298,9 @@ -- , testPutScheduledUpdateGroupActionResponse $ -- putScheduledUpdateGroupActionResponse --+-- , testSetInstanceProtectionResponse $+-- setInstanceProtectionResponse+-- -- , testDescribePoliciesResponse $ -- describePoliciesResponse --@@ -524,6 +530,11 @@ "PutScheduledUpdateGroupAction" "fixture/PutScheduledUpdateGroupAction.yaml" +testSetInstanceProtection :: SetInstanceProtection -> TestTree+testSetInstanceProtection = req+ "SetInstanceProtection"+ "fixture/SetInstanceProtection.yaml"+ testDescribePolicies :: DescribePolicies -> TestTree testDescribePolicies = req "DescribePolicies"@@ -845,6 +856,13 @@ "fixture/PutScheduledUpdateGroupActionResponse.proto" autoScaling (Proxy :: Proxy PutScheduledUpdateGroupAction)++testSetInstanceProtectionResponse :: SetInstanceProtectionResponse -> TestTree+testSetInstanceProtectionResponse = res+ "SetInstanceProtectionResponse"+ "fixture/SetInstanceProtectionResponse.proto"+ autoScaling+ (Proxy :: Proxy SetInstanceProtection) testDescribePoliciesResponse :: DescribePoliciesResponse -> TestTree testDescribePoliciesResponse = res