packages feed

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 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