packages feed

amazonka-autoscaling 0.3.6 → 1.0.0

raw patch · 59 files changed

+9680/−6987 lines, 59 filesdep +amazonka-autoscalingdep +amazonka-testdep +bytestringdep ~amazonka-coredep ~basePVP ok

version bump matches the API change (PVP)

Dependencies added: amazonka-autoscaling, amazonka-test, bytestring, lens, tasty, tasty-hunit, text, time, unordered-containers

Dependency ranges changed: amazonka-core, base

API changes (from Hackage documentation)

- Network.AWS.AutoScaling.AttachInstances: instance Ord AttachInstances
- Network.AWS.AutoScaling.AttachInstances: instance Ord AttachInstancesResponse
- Network.AWS.AutoScaling.CompleteLifecycleAction: instance Ord CompleteLifecycleAction
- Network.AWS.AutoScaling.CompleteLifecycleAction: instance Ord CompleteLifecycleActionResponse
- Network.AWS.AutoScaling.CreateAutoScalingGroup: instance Ord CreateAutoScalingGroupResponse
- Network.AWS.AutoScaling.CreateLaunchConfiguration: clcAssociatePublicIpAddress :: Lens' CreateLaunchConfiguration (Maybe Bool)
- Network.AWS.AutoScaling.CreateLaunchConfiguration: clcEbsOptimized :: Lens' CreateLaunchConfiguration (Maybe Bool)
- Network.AWS.AutoScaling.CreateLaunchConfiguration: clcIamInstanceProfile :: Lens' CreateLaunchConfiguration (Maybe Text)
- Network.AWS.AutoScaling.CreateLaunchConfiguration: clcRamdiskId :: Lens' CreateLaunchConfiguration (Maybe Text)
- Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Ord CreateLaunchConfigurationResponse
- Network.AWS.AutoScaling.CreateOrUpdateTags: instance IsList CreateOrUpdateTags
- Network.AWS.AutoScaling.CreateOrUpdateTags: instance Monoid CreateOrUpdateTags
- Network.AWS.AutoScaling.CreateOrUpdateTags: instance Ord CreateOrUpdateTagsResponse
- Network.AWS.AutoScaling.CreateOrUpdateTags: instance Semigroup CreateOrUpdateTags
- Network.AWS.AutoScaling.DeleteAutoScalingGroup: instance Ord DeleteAutoScalingGroup
- Network.AWS.AutoScaling.DeleteAutoScalingGroup: instance Ord DeleteAutoScalingGroupResponse
- Network.AWS.AutoScaling.DeleteLaunchConfiguration: instance IsString DeleteLaunchConfiguration
- Network.AWS.AutoScaling.DeleteLaunchConfiguration: instance Monoid DeleteLaunchConfiguration
- Network.AWS.AutoScaling.DeleteLaunchConfiguration: instance Ord DeleteLaunchConfiguration
- Network.AWS.AutoScaling.DeleteLaunchConfiguration: instance Ord DeleteLaunchConfigurationResponse
- Network.AWS.AutoScaling.DeleteLifecycleHook: dlh1AutoScalingGroupName :: Lens' DeleteLifecycleHook Text
- Network.AWS.AutoScaling.DeleteLifecycleHook: dlh1LifecycleHookName :: Lens' DeleteLifecycleHook Text
- Network.AWS.AutoScaling.DeleteLifecycleHook: instance Ord DeleteLifecycleHook
- Network.AWS.AutoScaling.DeleteLifecycleHook: instance Ord DeleteLifecycleHookResponse
- Network.AWS.AutoScaling.DeleteNotificationConfiguration: instance Ord DeleteNotificationConfiguration
- Network.AWS.AutoScaling.DeleteNotificationConfiguration: instance Ord DeleteNotificationConfigurationResponse
- Network.AWS.AutoScaling.DeletePolicy: instance Ord DeletePolicy
- Network.AWS.AutoScaling.DeletePolicy: instance Ord DeletePolicyResponse
- Network.AWS.AutoScaling.DeleteScheduledAction: instance Ord DeleteScheduledAction
- Network.AWS.AutoScaling.DeleteScheduledAction: instance Ord DeleteScheduledActionResponse
- Network.AWS.AutoScaling.DeleteTags: instance IsList DeleteTags
- Network.AWS.AutoScaling.DeleteTags: instance Monoid DeleteTags
- Network.AWS.AutoScaling.DeleteTags: instance Ord DeleteTagsResponse
- Network.AWS.AutoScaling.DeleteTags: instance Semigroup DeleteTags
- Network.AWS.AutoScaling.DescribeAccountLimits: dalrMaxNumberOfAutoScalingGroups :: Lens' DescribeAccountLimitsResponse (Maybe Int)
- Network.AWS.AutoScaling.DescribeAccountLimits: dalrMaxNumberOfLaunchConfigurations :: Lens' DescribeAccountLimitsResponse (Maybe Int)
- Network.AWS.AutoScaling.DescribeAccountLimits: instance FromXML DescribeAccountLimitsResponse
- Network.AWS.AutoScaling.DescribeAccountLimits: instance Ord DescribeAccountLimits
- Network.AWS.AutoScaling.DescribeAccountLimits: instance Ord DescribeAccountLimitsResponse
- Network.AWS.AutoScaling.DescribeAdjustmentTypes: datrAdjustmentTypes :: Lens' DescribeAdjustmentTypesResponse [AdjustmentType]
- Network.AWS.AutoScaling.DescribeAdjustmentTypes: instance FromXML DescribeAdjustmentTypesResponse
- Network.AWS.AutoScaling.DescribeAdjustmentTypes: instance IsList DescribeAdjustmentTypesResponse
- Network.AWS.AutoScaling.DescribeAdjustmentTypes: instance Monoid DescribeAdjustmentTypesResponse
- Network.AWS.AutoScaling.DescribeAdjustmentTypes: instance Ord DescribeAdjustmentTypes
- Network.AWS.AutoScaling.DescribeAdjustmentTypes: instance Semigroup DescribeAdjustmentTypesResponse
- Network.AWS.AutoScaling.DescribeAutoScalingGroups: dasgrAutoScalingGroups :: Lens' DescribeAutoScalingGroupsResponse [AutoScalingGroup]
- Network.AWS.AutoScaling.DescribeAutoScalingGroups: dasgrNextToken :: Lens' DescribeAutoScalingGroupsResponse (Maybe Text)
- Network.AWS.AutoScaling.DescribeAutoScalingGroups: instance FromXML DescribeAutoScalingGroupsResponse
- Network.AWS.AutoScaling.DescribeAutoScalingGroups: instance Ord DescribeAutoScalingGroups
- Network.AWS.AutoScaling.DescribeAutoScalingInstances: dasirAutoScalingInstances :: Lens' DescribeAutoScalingInstancesResponse [AutoScalingInstanceDetails]
- Network.AWS.AutoScaling.DescribeAutoScalingInstances: dasirNextToken :: Lens' DescribeAutoScalingInstancesResponse (Maybe Text)
- Network.AWS.AutoScaling.DescribeAutoScalingInstances: instance FromXML DescribeAutoScalingInstancesResponse
- Network.AWS.AutoScaling.DescribeAutoScalingInstances: instance Ord DescribeAutoScalingInstances
- Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes: dasntrAutoScalingNotificationTypes :: Lens' DescribeAutoScalingNotificationTypesResponse [Text]
- Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes: instance FromXML DescribeAutoScalingNotificationTypesResponse
- Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes: instance IsList DescribeAutoScalingNotificationTypesResponse
- Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes: instance Monoid DescribeAutoScalingNotificationTypesResponse
- Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes: instance Ord DescribeAutoScalingNotificationTypes
- Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes: instance Ord DescribeAutoScalingNotificationTypesResponse
- Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes: instance Semigroup DescribeAutoScalingNotificationTypesResponse
- Network.AWS.AutoScaling.DescribeLaunchConfigurations: dlcrLaunchConfigurations :: Lens' DescribeLaunchConfigurationsResponse [LaunchConfiguration]
- Network.AWS.AutoScaling.DescribeLaunchConfigurations: dlcrNextToken :: Lens' DescribeLaunchConfigurationsResponse (Maybe Text)
- Network.AWS.AutoScaling.DescribeLaunchConfigurations: instance FromXML DescribeLaunchConfigurationsResponse
- Network.AWS.AutoScaling.DescribeLaunchConfigurations: instance Ord DescribeLaunchConfigurations
- Network.AWS.AutoScaling.DescribeLifecycleHookTypes: dlhtrLifecycleHookTypes :: Lens' DescribeLifecycleHookTypesResponse [Text]
- Network.AWS.AutoScaling.DescribeLifecycleHookTypes: instance FromXML DescribeLifecycleHookTypesResponse
- Network.AWS.AutoScaling.DescribeLifecycleHookTypes: instance IsList DescribeLifecycleHookTypesResponse
- Network.AWS.AutoScaling.DescribeLifecycleHookTypes: instance Monoid DescribeLifecycleHookTypesResponse
- Network.AWS.AutoScaling.DescribeLifecycleHookTypes: instance Ord DescribeLifecycleHookTypes
- Network.AWS.AutoScaling.DescribeLifecycleHookTypes: instance Ord DescribeLifecycleHookTypesResponse
- Network.AWS.AutoScaling.DescribeLifecycleHookTypes: instance Semigroup DescribeLifecycleHookTypesResponse
- Network.AWS.AutoScaling.DescribeLifecycleHooks: dlhrLifecycleHooks :: Lens' DescribeLifecycleHooksResponse [LifecycleHook]
- Network.AWS.AutoScaling.DescribeLifecycleHooks: instance FromXML DescribeLifecycleHooksResponse
- Network.AWS.AutoScaling.DescribeLifecycleHooks: instance IsList DescribeLifecycleHooksResponse
- Network.AWS.AutoScaling.DescribeLifecycleHooks: instance Monoid DescribeLifecycleHooksResponse
- Network.AWS.AutoScaling.DescribeLifecycleHooks: instance Ord DescribeLifecycleHooks
- Network.AWS.AutoScaling.DescribeLifecycleHooks: instance Semigroup DescribeLifecycleHooksResponse
- Network.AWS.AutoScaling.DescribeMetricCollectionTypes: dmctrGranularities :: Lens' DescribeMetricCollectionTypesResponse [MetricGranularityType]
- Network.AWS.AutoScaling.DescribeMetricCollectionTypes: dmctrMetrics :: Lens' DescribeMetricCollectionTypesResponse [MetricCollectionType]
- Network.AWS.AutoScaling.DescribeMetricCollectionTypes: instance FromXML DescribeMetricCollectionTypesResponse
- Network.AWS.AutoScaling.DescribeMetricCollectionTypes: instance Ord DescribeMetricCollectionTypes
- Network.AWS.AutoScaling.DescribeNotificationConfigurations: dncrNextToken :: Lens' DescribeNotificationConfigurationsResponse (Maybe Text)
- Network.AWS.AutoScaling.DescribeNotificationConfigurations: dncrNotificationConfigurations :: Lens' DescribeNotificationConfigurationsResponse [NotificationConfiguration]
- Network.AWS.AutoScaling.DescribeNotificationConfigurations: instance FromXML DescribeNotificationConfigurationsResponse
- Network.AWS.AutoScaling.DescribeNotificationConfigurations: instance Ord DescribeNotificationConfigurations
- Network.AWS.AutoScaling.DescribePolicies: dp1AutoScalingGroupName :: Lens' DescribePolicies (Maybe Text)
- Network.AWS.AutoScaling.DescribePolicies: dp1MaxRecords :: Lens' DescribePolicies (Maybe Int)
- Network.AWS.AutoScaling.DescribePolicies: dp1NextToken :: Lens' DescribePolicies (Maybe Text)
- Network.AWS.AutoScaling.DescribePolicies: dp1PolicyNames :: Lens' DescribePolicies [Text]
- Network.AWS.AutoScaling.DescribePolicies: dprNextToken :: Lens' DescribePoliciesResponse (Maybe Text)
- Network.AWS.AutoScaling.DescribePolicies: dprScalingPolicies :: Lens' DescribePoliciesResponse [ScalingPolicy]
- Network.AWS.AutoScaling.DescribePolicies: instance FromXML DescribePoliciesResponse
- Network.AWS.AutoScaling.DescribePolicies: instance Ord DescribePolicies
- Network.AWS.AutoScaling.DescribeScalingActivities: dsa2ActivityIds :: Lens' DescribeScalingActivities [Text]
- Network.AWS.AutoScaling.DescribeScalingActivities: dsa2AutoScalingGroupName :: Lens' DescribeScalingActivities (Maybe Text)
- Network.AWS.AutoScaling.DescribeScalingActivities: dsa2MaxRecords :: Lens' DescribeScalingActivities (Maybe Int)
- Network.AWS.AutoScaling.DescribeScalingActivities: dsa2NextToken :: Lens' DescribeScalingActivities (Maybe Text)
- Network.AWS.AutoScaling.DescribeScalingActivities: dsar1Activities :: Lens' DescribeScalingActivitiesResponse [Activity]
- Network.AWS.AutoScaling.DescribeScalingActivities: dsar1NextToken :: Lens' DescribeScalingActivitiesResponse (Maybe Text)
- Network.AWS.AutoScaling.DescribeScalingActivities: instance FromXML DescribeScalingActivitiesResponse
- Network.AWS.AutoScaling.DescribeScalingActivities: instance Ord DescribeScalingActivities
- Network.AWS.AutoScaling.DescribeScalingProcessTypes: dsptrProcesses :: Lens' DescribeScalingProcessTypesResponse [ProcessType]
- Network.AWS.AutoScaling.DescribeScalingProcessTypes: instance FromXML DescribeScalingProcessTypesResponse
- Network.AWS.AutoScaling.DescribeScalingProcessTypes: instance IsList DescribeScalingProcessTypesResponse
- Network.AWS.AutoScaling.DescribeScalingProcessTypes: instance Monoid DescribeScalingProcessTypesResponse
- Network.AWS.AutoScaling.DescribeScalingProcessTypes: instance Ord DescribeScalingProcessTypes
- Network.AWS.AutoScaling.DescribeScalingProcessTypes: instance Semigroup DescribeScalingProcessTypesResponse
- Network.AWS.AutoScaling.DescribeScheduledActions: dsa1AutoScalingGroupName :: Lens' DescribeScheduledActions (Maybe Text)
- Network.AWS.AutoScaling.DescribeScheduledActions: dsa1EndTime :: Lens' DescribeScheduledActions (Maybe UTCTime)
- Network.AWS.AutoScaling.DescribeScheduledActions: dsa1MaxRecords :: Lens' DescribeScheduledActions (Maybe Int)
- Network.AWS.AutoScaling.DescribeScheduledActions: dsa1NextToken :: Lens' DescribeScheduledActions (Maybe Text)
- Network.AWS.AutoScaling.DescribeScheduledActions: dsa1ScheduledActionNames :: Lens' DescribeScheduledActions [Text]
- Network.AWS.AutoScaling.DescribeScheduledActions: dsa1StartTime :: Lens' DescribeScheduledActions (Maybe UTCTime)
- Network.AWS.AutoScaling.DescribeScheduledActions: dsarNextToken :: Lens' DescribeScheduledActionsResponse (Maybe Text)
- Network.AWS.AutoScaling.DescribeScheduledActions: dsarScheduledUpdateGroupActions :: Lens' DescribeScheduledActionsResponse [ScheduledUpdateGroupAction]
- Network.AWS.AutoScaling.DescribeScheduledActions: instance FromXML DescribeScheduledActionsResponse
- Network.AWS.AutoScaling.DescribeScheduledActions: instance Ord DescribeScheduledActions
- Network.AWS.AutoScaling.DescribeTags: dtrNextToken :: Lens' DescribeTagsResponse (Maybe Text)
- Network.AWS.AutoScaling.DescribeTags: dtrTags :: Lens' DescribeTagsResponse [TagDescription]
- Network.AWS.AutoScaling.DescribeTags: instance FromXML DescribeTagsResponse
- Network.AWS.AutoScaling.DescribeTerminationPolicyTypes: dtptrTerminationPolicyTypes :: Lens' DescribeTerminationPolicyTypesResponse [Text]
- Network.AWS.AutoScaling.DescribeTerminationPolicyTypes: instance FromXML DescribeTerminationPolicyTypesResponse
- Network.AWS.AutoScaling.DescribeTerminationPolicyTypes: instance IsList DescribeTerminationPolicyTypesResponse
- Network.AWS.AutoScaling.DescribeTerminationPolicyTypes: instance Monoid DescribeTerminationPolicyTypesResponse
- Network.AWS.AutoScaling.DescribeTerminationPolicyTypes: instance Ord DescribeTerminationPolicyTypes
- Network.AWS.AutoScaling.DescribeTerminationPolicyTypes: instance Ord DescribeTerminationPolicyTypesResponse
- Network.AWS.AutoScaling.DescribeTerminationPolicyTypes: instance Semigroup DescribeTerminationPolicyTypesResponse
- Network.AWS.AutoScaling.DetachInstances: dirActivities :: Lens' DetachInstancesResponse [Activity]
- Network.AWS.AutoScaling.DetachInstances: instance FromXML DetachInstancesResponse
- Network.AWS.AutoScaling.DetachInstances: instance IsList DetachInstancesResponse
- Network.AWS.AutoScaling.DetachInstances: instance Monoid DetachInstancesResponse
- Network.AWS.AutoScaling.DetachInstances: instance Ord DetachInstances
- Network.AWS.AutoScaling.DetachInstances: instance Semigroup DetachInstancesResponse
- Network.AWS.AutoScaling.DisableMetricsCollection: instance Ord DisableMetricsCollection
- Network.AWS.AutoScaling.DisableMetricsCollection: instance Ord DisableMetricsCollectionResponse
- Network.AWS.AutoScaling.EnableMetricsCollection: instance Ord EnableMetricsCollection
- Network.AWS.AutoScaling.EnableMetricsCollection: instance Ord EnableMetricsCollectionResponse
- Network.AWS.AutoScaling.EnterStandby: esr1Activities :: Lens' EnterStandbyResponse [Activity]
- Network.AWS.AutoScaling.EnterStandby: instance FromXML EnterStandbyResponse
- Network.AWS.AutoScaling.EnterStandby: instance IsList EnterStandbyResponse
- Network.AWS.AutoScaling.EnterStandby: instance Monoid EnterStandbyResponse
- Network.AWS.AutoScaling.EnterStandby: instance Ord EnterStandby
- Network.AWS.AutoScaling.EnterStandby: instance Semigroup EnterStandbyResponse
- Network.AWS.AutoScaling.ExecutePolicy: instance Ord ExecutePolicy
- Network.AWS.AutoScaling.ExecutePolicy: instance Ord ExecutePolicyResponse
- Network.AWS.AutoScaling.ExitStandby: es1AutoScalingGroupName :: Lens' ExitStandby Text
- Network.AWS.AutoScaling.ExitStandby: es1InstanceIds :: Lens' ExitStandby [Text]
- Network.AWS.AutoScaling.ExitStandby: esrActivities :: Lens' ExitStandbyResponse [Activity]
- Network.AWS.AutoScaling.ExitStandby: instance FromXML ExitStandbyResponse
- Network.AWS.AutoScaling.ExitStandby: instance IsList ExitStandbyResponse
- Network.AWS.AutoScaling.ExitStandby: instance Monoid ExitStandbyResponse
- Network.AWS.AutoScaling.ExitStandby: instance Ord ExitStandby
- Network.AWS.AutoScaling.ExitStandby: instance Semigroup ExitStandbyResponse
- Network.AWS.AutoScaling.PutLifecycleHook: instance Ord PutLifecycleHook
- Network.AWS.AutoScaling.PutLifecycleHook: instance Ord PutLifecycleHookResponse
- Network.AWS.AutoScaling.PutNotificationConfiguration: instance Ord PutNotificationConfiguration
- Network.AWS.AutoScaling.PutNotificationConfiguration: instance Ord PutNotificationConfigurationResponse
- Network.AWS.AutoScaling.PutScalingPolicy: instance FromXML PutScalingPolicyResponse
- Network.AWS.AutoScaling.PutScalingPolicy: instance Monoid PutScalingPolicyResponse
- Network.AWS.AutoScaling.PutScalingPolicy: instance Ord PutScalingPolicy
- Network.AWS.AutoScaling.PutScalingPolicy: instance Ord PutScalingPolicyResponse
- Network.AWS.AutoScaling.PutScalingPolicy: psprPolicyARN :: Lens' PutScalingPolicyResponse (Maybe Text)
- Network.AWS.AutoScaling.PutScheduledUpdateGroupAction: instance Ord PutScheduledUpdateGroupAction
- Network.AWS.AutoScaling.PutScheduledUpdateGroupAction: instance Ord PutScheduledUpdateGroupActionResponse
- Network.AWS.AutoScaling.RecordLifecycleActionHeartbeat: instance Ord RecordLifecycleActionHeartbeat
- Network.AWS.AutoScaling.RecordLifecycleActionHeartbeat: instance Ord RecordLifecycleActionHeartbeatResponse
- Network.AWS.AutoScaling.ResumeProcesses: instance Ord ResumeProcesses
- Network.AWS.AutoScaling.ResumeProcesses: instance Ord ResumeProcessesResponse
- Network.AWS.AutoScaling.SetDesiredCapacity: instance Ord SetDesiredCapacity
- Network.AWS.AutoScaling.SetDesiredCapacity: instance Ord SetDesiredCapacityResponse
- Network.AWS.AutoScaling.SetInstanceHealth: instance Ord SetInstanceHealth
- Network.AWS.AutoScaling.SetInstanceHealth: instance Ord SetInstanceHealthResponse
- Network.AWS.AutoScaling.SuspendProcesses: instance Ord SuspendProcesses
- Network.AWS.AutoScaling.SuspendProcesses: instance Ord SuspendProcessesResponse
- Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup: instance FromXML TerminateInstanceInAutoScalingGroupResponse
- Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup: instance Ord TerminateInstanceInAutoScalingGroup
- Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup: tiiasgrActivity :: Lens' TerminateInstanceInAutoScalingGroupResponse (Maybe Activity)
- Network.AWS.AutoScaling.Types: bdmEbs :: Lens' BlockDeviceMapping (Maybe Ebs)
- Network.AWS.AutoScaling.Types: data Ebs
- Network.AWS.AutoScaling.Types: data RESTError :: *
- Network.AWS.AutoScaling.Types: ebsIops :: Lens' Ebs (Maybe Natural)
- Network.AWS.AutoScaling.Types: instance Constructor C1_0LifecycleState
- Network.AWS.AutoScaling.Types: instance Constructor C1_0ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: instance Constructor C1_10LifecycleState
- Network.AWS.AutoScaling.Types: instance Constructor C1_11LifecycleState
- Network.AWS.AutoScaling.Types: instance Constructor C1_12LifecycleState
- Network.AWS.AutoScaling.Types: instance Constructor C1_1LifecycleState
- Network.AWS.AutoScaling.Types: instance Constructor C1_1ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: instance Constructor C1_2LifecycleState
- Network.AWS.AutoScaling.Types: instance Constructor C1_2ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: instance Constructor C1_3LifecycleState
- Network.AWS.AutoScaling.Types: instance Constructor C1_3ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: instance Constructor C1_4LifecycleState
- Network.AWS.AutoScaling.Types: instance Constructor C1_4ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: instance Constructor C1_5LifecycleState
- Network.AWS.AutoScaling.Types: instance Constructor C1_5ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: instance Constructor C1_6LifecycleState
- Network.AWS.AutoScaling.Types: instance Constructor C1_6ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: instance Constructor C1_7LifecycleState
- Network.AWS.AutoScaling.Types: instance Constructor C1_7ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: instance Constructor C1_8LifecycleState
- Network.AWS.AutoScaling.Types: instance Constructor C1_8ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: instance Constructor C1_9LifecycleState
- Network.AWS.AutoScaling.Types: instance Constructor C1_9ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: instance Datatype D1LifecycleState
- Network.AWS.AutoScaling.Types: instance Datatype D1ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: instance Enum LifecycleState
- Network.AWS.AutoScaling.Types: instance Enum ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: instance Eq Activity
- Network.AWS.AutoScaling.Types: instance Eq AdjustmentType
- Network.AWS.AutoScaling.Types: instance Eq Alarm
- Network.AWS.AutoScaling.Types: instance Eq AutoScalingGroup
- Network.AWS.AutoScaling.Types: instance Eq AutoScalingInstanceDetails
- Network.AWS.AutoScaling.Types: instance Eq BlockDeviceMapping
- Network.AWS.AutoScaling.Types: instance Eq Ebs
- Network.AWS.AutoScaling.Types: instance Eq EnabledMetric
- Network.AWS.AutoScaling.Types: instance Eq Filter
- Network.AWS.AutoScaling.Types: instance Eq Instance
- Network.AWS.AutoScaling.Types: instance Eq InstanceMonitoring
- Network.AWS.AutoScaling.Types: instance Eq LaunchConfiguration
- Network.AWS.AutoScaling.Types: instance Eq LifecycleHook
- Network.AWS.AutoScaling.Types: instance Eq LifecycleState
- Network.AWS.AutoScaling.Types: instance Eq MetricCollectionType
- Network.AWS.AutoScaling.Types: instance Eq MetricGranularityType
- Network.AWS.AutoScaling.Types: instance Eq NotificationConfiguration
- Network.AWS.AutoScaling.Types: instance Eq ProcessType
- Network.AWS.AutoScaling.Types: instance Eq ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: instance Eq ScalingPolicy
- Network.AWS.AutoScaling.Types: instance Eq ScalingProcessQuery
- Network.AWS.AutoScaling.Types: instance Eq ScheduledUpdateGroupAction
- Network.AWS.AutoScaling.Types: instance Eq SuspendedProcess
- Network.AWS.AutoScaling.Types: instance Eq Tag
- Network.AWS.AutoScaling.Types: instance Eq TagDescription
- Network.AWS.AutoScaling.Types: instance FromText LifecycleState
- Network.AWS.AutoScaling.Types: instance FromText ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: instance FromXML Activity
- Network.AWS.AutoScaling.Types: instance FromXML AdjustmentType
- Network.AWS.AutoScaling.Types: instance FromXML Alarm
- Network.AWS.AutoScaling.Types: instance FromXML AutoScalingGroup
- Network.AWS.AutoScaling.Types: instance FromXML AutoScalingInstanceDetails
- Network.AWS.AutoScaling.Types: instance FromXML BlockDeviceMapping
- Network.AWS.AutoScaling.Types: instance FromXML Ebs
- Network.AWS.AutoScaling.Types: instance FromXML EnabledMetric
- Network.AWS.AutoScaling.Types: instance FromXML Filter
- Network.AWS.AutoScaling.Types: instance FromXML Instance
- Network.AWS.AutoScaling.Types: instance FromXML InstanceMonitoring
- Network.AWS.AutoScaling.Types: instance FromXML LaunchConfiguration
- Network.AWS.AutoScaling.Types: instance FromXML LifecycleHook
- Network.AWS.AutoScaling.Types: instance FromXML LifecycleState
- Network.AWS.AutoScaling.Types: instance FromXML MetricCollectionType
- Network.AWS.AutoScaling.Types: instance FromXML MetricGranularityType
- Network.AWS.AutoScaling.Types: instance FromXML NotificationConfiguration
- Network.AWS.AutoScaling.Types: instance FromXML ProcessType
- Network.AWS.AutoScaling.Types: instance FromXML ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: instance FromXML ScalingPolicy
- Network.AWS.AutoScaling.Types: instance FromXML ScalingProcessQuery
- Network.AWS.AutoScaling.Types: instance FromXML ScheduledUpdateGroupAction
- Network.AWS.AutoScaling.Types: instance FromXML SuspendedProcess
- Network.AWS.AutoScaling.Types: instance FromXML Tag
- Network.AWS.AutoScaling.Types: instance FromXML TagDescription
- Network.AWS.AutoScaling.Types: instance Generic LifecycleState
- Network.AWS.AutoScaling.Types: instance Generic ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: instance Hashable LifecycleState
- Network.AWS.AutoScaling.Types: instance Hashable ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: instance IsString ProcessType
- Network.AWS.AutoScaling.Types: instance Monoid AdjustmentType
- Network.AWS.AutoScaling.Types: instance Monoid MetricCollectionType
- Network.AWS.AutoScaling.Types: instance Monoid MetricGranularityType
- Network.AWS.AutoScaling.Types: instance Monoid ProcessType
- Network.AWS.AutoScaling.Types: instance Ord AdjustmentType
- Network.AWS.AutoScaling.Types: instance Ord Alarm
- Network.AWS.AutoScaling.Types: instance Ord AutoScalingInstanceDetails
- Network.AWS.AutoScaling.Types: instance Ord Ebs
- Network.AWS.AutoScaling.Types: instance Ord EnabledMetric
- Network.AWS.AutoScaling.Types: instance Ord Filter
- Network.AWS.AutoScaling.Types: instance Ord InstanceMonitoring
- Network.AWS.AutoScaling.Types: instance Ord LifecycleHook
- Network.AWS.AutoScaling.Types: instance Ord LifecycleState
- Network.AWS.AutoScaling.Types: instance Ord MetricCollectionType
- Network.AWS.AutoScaling.Types: instance Ord MetricGranularityType
- Network.AWS.AutoScaling.Types: instance Ord NotificationConfiguration
- Network.AWS.AutoScaling.Types: instance Ord ProcessType
- Network.AWS.AutoScaling.Types: instance Ord ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: instance Ord ScalingProcessQuery
- Network.AWS.AutoScaling.Types: instance Ord ScheduledUpdateGroupAction
- Network.AWS.AutoScaling.Types: instance Ord SuspendedProcess
- Network.AWS.AutoScaling.Types: instance Ord Tag
- Network.AWS.AutoScaling.Types: instance Ord TagDescription
- Network.AWS.AutoScaling.Types: instance Read Activity
- Network.AWS.AutoScaling.Types: instance Read AdjustmentType
- Network.AWS.AutoScaling.Types: instance Read Alarm
- Network.AWS.AutoScaling.Types: instance Read AutoScalingGroup
- Network.AWS.AutoScaling.Types: instance Read AutoScalingInstanceDetails
- Network.AWS.AutoScaling.Types: instance Read BlockDeviceMapping
- Network.AWS.AutoScaling.Types: instance Read Ebs
- Network.AWS.AutoScaling.Types: instance Read EnabledMetric
- Network.AWS.AutoScaling.Types: instance Read Filter
- Network.AWS.AutoScaling.Types: instance Read Instance
- Network.AWS.AutoScaling.Types: instance Read InstanceMonitoring
- Network.AWS.AutoScaling.Types: instance Read LaunchConfiguration
- Network.AWS.AutoScaling.Types: instance Read LifecycleHook
- Network.AWS.AutoScaling.Types: instance Read LifecycleState
- Network.AWS.AutoScaling.Types: instance Read MetricCollectionType
- Network.AWS.AutoScaling.Types: instance Read MetricGranularityType
- Network.AWS.AutoScaling.Types: instance Read NotificationConfiguration
- Network.AWS.AutoScaling.Types: instance Read ProcessType
- Network.AWS.AutoScaling.Types: instance Read ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: instance Read ScalingPolicy
- Network.AWS.AutoScaling.Types: instance Read ScalingProcessQuery
- Network.AWS.AutoScaling.Types: instance Read ScheduledUpdateGroupAction
- Network.AWS.AutoScaling.Types: instance Read SuspendedProcess
- Network.AWS.AutoScaling.Types: instance Read Tag
- Network.AWS.AutoScaling.Types: instance Read TagDescription
- Network.AWS.AutoScaling.Types: instance Show Activity
- Network.AWS.AutoScaling.Types: instance Show AdjustmentType
- Network.AWS.AutoScaling.Types: instance Show Alarm
- Network.AWS.AutoScaling.Types: instance Show AutoScalingGroup
- Network.AWS.AutoScaling.Types: instance Show AutoScalingInstanceDetails
- Network.AWS.AutoScaling.Types: instance Show BlockDeviceMapping
- Network.AWS.AutoScaling.Types: instance Show Ebs
- Network.AWS.AutoScaling.Types: instance Show EnabledMetric
- Network.AWS.AutoScaling.Types: instance Show Filter
- Network.AWS.AutoScaling.Types: instance Show Instance
- Network.AWS.AutoScaling.Types: instance Show InstanceMonitoring
- Network.AWS.AutoScaling.Types: instance Show LaunchConfiguration
- Network.AWS.AutoScaling.Types: instance Show LifecycleHook
- Network.AWS.AutoScaling.Types: instance Show LifecycleState
- Network.AWS.AutoScaling.Types: instance Show MetricCollectionType
- Network.AWS.AutoScaling.Types: instance Show MetricGranularityType
- Network.AWS.AutoScaling.Types: instance Show NotificationConfiguration
- Network.AWS.AutoScaling.Types: instance Show ProcessType
- Network.AWS.AutoScaling.Types: instance Show ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: instance Show ScalingPolicy
- Network.AWS.AutoScaling.Types: instance Show ScalingProcessQuery
- Network.AWS.AutoScaling.Types: instance Show ScheduledUpdateGroupAction
- Network.AWS.AutoScaling.Types: instance Show SuspendedProcess
- Network.AWS.AutoScaling.Types: instance Show Tag
- Network.AWS.AutoScaling.Types: instance Show TagDescription
- Network.AWS.AutoScaling.Types: instance ToByteString LifecycleState
- Network.AWS.AutoScaling.Types: instance ToByteString ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: instance ToHeader LifecycleState
- Network.AWS.AutoScaling.Types: instance ToHeader ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: instance ToQuery Activity
- Network.AWS.AutoScaling.Types: instance ToQuery AdjustmentType
- Network.AWS.AutoScaling.Types: instance ToQuery Alarm
- Network.AWS.AutoScaling.Types: instance ToQuery AutoScalingGroup
- Network.AWS.AutoScaling.Types: instance ToQuery AutoScalingInstanceDetails
- Network.AWS.AutoScaling.Types: instance ToQuery BlockDeviceMapping
- Network.AWS.AutoScaling.Types: instance ToQuery Ebs
- Network.AWS.AutoScaling.Types: instance ToQuery EnabledMetric
- Network.AWS.AutoScaling.Types: instance ToQuery Filter
- Network.AWS.AutoScaling.Types: instance ToQuery Instance
- Network.AWS.AutoScaling.Types: instance ToQuery InstanceMonitoring
- Network.AWS.AutoScaling.Types: instance ToQuery LaunchConfiguration
- Network.AWS.AutoScaling.Types: instance ToQuery LifecycleHook
- Network.AWS.AutoScaling.Types: instance ToQuery LifecycleState
- Network.AWS.AutoScaling.Types: instance ToQuery MetricCollectionType
- Network.AWS.AutoScaling.Types: instance ToQuery MetricGranularityType
- Network.AWS.AutoScaling.Types: instance ToQuery NotificationConfiguration
- Network.AWS.AutoScaling.Types: instance ToQuery ProcessType
- Network.AWS.AutoScaling.Types: instance ToQuery ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: instance ToQuery ScalingPolicy
- Network.AWS.AutoScaling.Types: instance ToQuery ScalingProcessQuery
- Network.AWS.AutoScaling.Types: instance ToQuery ScheduledUpdateGroupAction
- Network.AWS.AutoScaling.Types: instance ToQuery SuspendedProcess
- Network.AWS.AutoScaling.Types: instance ToQuery Tag
- Network.AWS.AutoScaling.Types: instance ToQuery TagDescription
- Network.AWS.AutoScaling.Types: instance ToText LifecycleState
- Network.AWS.AutoScaling.Types: instance ToText ScalingActivityStatusCode
- Network.AWS.AutoScaling.Types: lcAssociatePublicIpAddress :: Lens' LaunchConfiguration (Maybe Bool)
- Network.AWS.AutoScaling.Types: lcEbsOptimized :: Lens' LaunchConfiguration (Maybe Bool)
- Network.AWS.AutoScaling.Types: lcIamInstanceProfile :: Lens' LaunchConfiguration (Maybe Text)
- Network.AWS.AutoScaling.Types: lcRamdiskId :: Lens' LaunchConfiguration (Maybe Text)
- Network.AWS.AutoScaling.Types: ns :: Text
- Network.AWS.AutoScaling.Types: sp1AdjustmentType :: Lens' ScalingPolicy (Maybe Text)
- Network.AWS.AutoScaling.Types: sp1Alarms :: Lens' ScalingPolicy [Alarm]
- Network.AWS.AutoScaling.Types: sp1AutoScalingGroupName :: Lens' ScalingPolicy (Maybe Text)
- Network.AWS.AutoScaling.Types: sp1Cooldown :: Lens' ScalingPolicy (Maybe Int)
- Network.AWS.AutoScaling.Types: sp1MinAdjustmentStep :: Lens' ScalingPolicy (Maybe Int)
- Network.AWS.AutoScaling.Types: sp1PolicyARN :: Lens' ScalingPolicy (Maybe Text)
- Network.AWS.AutoScaling.Types: sp1PolicyName :: Lens' ScalingPolicy (Maybe Text)
- Network.AWS.AutoScaling.Types: sp1ScalingAdjustment :: Lens' ScalingPolicy (Maybe Int)
- Network.AWS.AutoScaling.UpdateAutoScalingGroup: instance Ord UpdateAutoScalingGroup
- Network.AWS.AutoScaling.UpdateAutoScalingGroup: instance Ord UpdateAutoScalingGroupResponse
+ Network.AWS.AutoScaling: Cancelled :: ScalingActivityStatusCode
+ Network.AWS.AutoScaling: Detached :: LifecycleState
+ Network.AWS.AutoScaling: Detaching :: LifecycleState
+ Network.AWS.AutoScaling: EnteringStandby :: LifecycleState
+ Network.AWS.AutoScaling: Failed :: ScalingActivityStatusCode
+ Network.AWS.AutoScaling: InProgress :: ScalingActivityStatusCode
+ Network.AWS.AutoScaling: InService :: LifecycleState
+ Network.AWS.AutoScaling: MidLifecycleAction :: ScalingActivityStatusCode
+ Network.AWS.AutoScaling: Pending :: LifecycleState
+ Network.AWS.AutoScaling: PendingProceed :: LifecycleState
+ Network.AWS.AutoScaling: PendingWait :: LifecycleState
+ Network.AWS.AutoScaling: PreInService :: ScalingActivityStatusCode
+ Network.AWS.AutoScaling: Quarantined :: LifecycleState
+ Network.AWS.AutoScaling: Standby :: LifecycleState
+ Network.AWS.AutoScaling: Successful :: ScalingActivityStatusCode
+ Network.AWS.AutoScaling: Terminated :: LifecycleState
+ Network.AWS.AutoScaling: Terminating :: LifecycleState
+ Network.AWS.AutoScaling: TerminatingProceed :: LifecycleState
+ Network.AWS.AutoScaling: TerminatingWait :: LifecycleState
+ Network.AWS.AutoScaling: WaitingForELBConnectionDraining :: ScalingActivityStatusCode
+ Network.AWS.AutoScaling: WaitingForInstanceId :: ScalingActivityStatusCode
+ Network.AWS.AutoScaling: WaitingForInstanceWarmup :: ScalingActivityStatusCode
+ Network.AWS.AutoScaling: WaitingForSpotInstanceId :: ScalingActivityStatusCode
+ Network.AWS.AutoScaling: WaitingForSpotInstanceRequestId :: ScalingActivityStatusCode
+ Network.AWS.AutoScaling: _AlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.AutoScaling: _InvalidNextToken :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.AutoScaling: _LimitExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.AutoScaling: _ResourceContentionFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.AutoScaling: _ResourceInUseFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.AutoScaling: _ScalingActivityInProgressFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.AutoScaling: aActivityId :: Lens' Activity Text
+ Network.AWS.AutoScaling: aAlarmARN :: Lens' Alarm (Maybe Text)
+ Network.AWS.AutoScaling: aAlarmName :: Lens' Alarm (Maybe Text)
+ Network.AWS.AutoScaling: aAutoScalingGroupName :: Lens' Activity Text
+ Network.AWS.AutoScaling: aCause :: Lens' Activity Text
+ Network.AWS.AutoScaling: aDescription :: Lens' Activity (Maybe Text)
+ Network.AWS.AutoScaling: aDetails :: Lens' Activity (Maybe Text)
+ Network.AWS.AutoScaling: aEndTime :: Lens' Activity (Maybe UTCTime)
+ Network.AWS.AutoScaling: aProgress :: Lens' Activity (Maybe Int)
+ Network.AWS.AutoScaling: aStartTime :: Lens' Activity UTCTime
+ Network.AWS.AutoScaling: aStatusCode :: Lens' Activity ScalingActivityStatusCode
+ Network.AWS.AutoScaling: aStatusMessage :: Lens' Activity (Maybe Text)
+ Network.AWS.AutoScaling: activity :: Text -> Text -> Text -> UTCTime -> ScalingActivityStatusCode -> Activity
+ Network.AWS.AutoScaling: adjustmentType :: AdjustmentType
+ Network.AWS.AutoScaling: alarm :: Alarm
+ Network.AWS.AutoScaling: asgAutoScalingGroupARN :: Lens' AutoScalingGroup (Maybe Text)
+ Network.AWS.AutoScaling: asgAutoScalingGroupName :: Lens' AutoScalingGroup Text
+ Network.AWS.AutoScaling: asgAvailabilityZones :: Lens' AutoScalingGroup (NonEmpty Text)
+ Network.AWS.AutoScaling: asgCreatedTime :: Lens' AutoScalingGroup UTCTime
+ Network.AWS.AutoScaling: asgDefaultCooldown :: Lens' AutoScalingGroup Int
+ Network.AWS.AutoScaling: asgDesiredCapacity :: Lens' AutoScalingGroup Int
+ Network.AWS.AutoScaling: asgEnabledMetrics :: Lens' AutoScalingGroup [EnabledMetric]
+ Network.AWS.AutoScaling: asgHealthCheckGracePeriod :: Lens' AutoScalingGroup (Maybe Int)
+ Network.AWS.AutoScaling: asgHealthCheckType :: Lens' AutoScalingGroup Text
+ Network.AWS.AutoScaling: asgInstances :: Lens' AutoScalingGroup [Instance]
+ Network.AWS.AutoScaling: asgLaunchConfigurationName :: Lens' AutoScalingGroup Text
+ Network.AWS.AutoScaling: asgLoadBalancerNames :: Lens' AutoScalingGroup [Text]
+ Network.AWS.AutoScaling: asgMaxSize :: Lens' AutoScalingGroup Int
+ Network.AWS.AutoScaling: asgMinSize :: Lens' AutoScalingGroup Int
+ Network.AWS.AutoScaling: asgPlacementGroup :: Lens' AutoScalingGroup (Maybe Text)
+ Network.AWS.AutoScaling: asgStatus :: Lens' AutoScalingGroup (Maybe Text)
+ Network.AWS.AutoScaling: asgSuspendedProcesses :: Lens' AutoScalingGroup [SuspendedProcess]
+ Network.AWS.AutoScaling: asgTags :: Lens' AutoScalingGroup [TagDescription]
+ Network.AWS.AutoScaling: asgTerminationPolicies :: Lens' AutoScalingGroup [Text]
+ Network.AWS.AutoScaling: asgVPCZoneIdentifier :: Lens' AutoScalingGroup (Maybe Text)
+ Network.AWS.AutoScaling: asidAutoScalingGroupName :: Lens' AutoScalingInstanceDetails Text
+ Network.AWS.AutoScaling: asidAvailabilityZone :: Lens' AutoScalingInstanceDetails Text
+ Network.AWS.AutoScaling: asidHealthStatus :: Lens' AutoScalingInstanceDetails Text
+ Network.AWS.AutoScaling: asidInstanceId :: Lens' AutoScalingInstanceDetails Text
+ Network.AWS.AutoScaling: asidLaunchConfigurationName :: Lens' AutoScalingInstanceDetails Text
+ Network.AWS.AutoScaling: asidLifecycleState :: Lens' AutoScalingInstanceDetails Text
+ Network.AWS.AutoScaling: atAdjustmentType :: Lens' AdjustmentType (Maybe Text)
+ Network.AWS.AutoScaling: autoScalingGroup :: Text -> Text -> Int -> Int -> Int -> Int -> NonEmpty Text -> Text -> UTCTime -> AutoScalingGroup
+ Network.AWS.AutoScaling: autoScalingInstanceDetails :: Text -> Text -> Text -> Text -> Text -> Text -> AutoScalingInstanceDetails
+ Network.AWS.AutoScaling: bdmDeviceName :: Lens' BlockDeviceMapping Text
+ Network.AWS.AutoScaling: bdmEBS :: Lens' BlockDeviceMapping (Maybe EBS)
+ Network.AWS.AutoScaling: bdmNoDevice :: Lens' BlockDeviceMapping (Maybe Bool)
+ Network.AWS.AutoScaling: bdmVirtualName :: Lens' BlockDeviceMapping (Maybe Text)
+ Network.AWS.AutoScaling: blockDeviceMapping :: Text -> BlockDeviceMapping
+ Network.AWS.AutoScaling: data Activity
+ Network.AWS.AutoScaling: data AdjustmentType
+ Network.AWS.AutoScaling: data Alarm
+ Network.AWS.AutoScaling: data AutoScaling
+ Network.AWS.AutoScaling: data AutoScalingGroup
+ Network.AWS.AutoScaling: data AutoScalingInstanceDetails
+ Network.AWS.AutoScaling: data BlockDeviceMapping
+ Network.AWS.AutoScaling: data EBS
+ Network.AWS.AutoScaling: data EnabledMetric
+ Network.AWS.AutoScaling: data Filter
+ Network.AWS.AutoScaling: data Instance
+ Network.AWS.AutoScaling: data InstanceMonitoring
+ Network.AWS.AutoScaling: data LaunchConfiguration
+ Network.AWS.AutoScaling: data LifecycleHook
+ Network.AWS.AutoScaling: data LifecycleState
+ Network.AWS.AutoScaling: data LoadBalancerState
+ Network.AWS.AutoScaling: data MetricCollectionType
+ Network.AWS.AutoScaling: data MetricGranularityType
+ Network.AWS.AutoScaling: data NotificationConfiguration
+ Network.AWS.AutoScaling: data ProcessType
+ Network.AWS.AutoScaling: data ScalingActivityStatusCode
+ Network.AWS.AutoScaling: data ScalingPolicy
+ Network.AWS.AutoScaling: data ScalingProcessQuery
+ Network.AWS.AutoScaling: data ScheduledUpdateGroupAction
+ Network.AWS.AutoScaling: data StepAdjustment
+ Network.AWS.AutoScaling: data SuspendedProcess
+ Network.AWS.AutoScaling: data Tag
+ Network.AWS.AutoScaling: data TagDescription
+ Network.AWS.AutoScaling: ebs :: EBS
+ Network.AWS.AutoScaling: ebsDeleteOnTermination :: Lens' EBS (Maybe Bool)
+ Network.AWS.AutoScaling: ebsIOPS :: Lens' EBS (Maybe Natural)
+ Network.AWS.AutoScaling: ebsSnapshotId :: Lens' EBS (Maybe Text)
+ Network.AWS.AutoScaling: ebsVolumeSize :: Lens' EBS (Maybe Natural)
+ Network.AWS.AutoScaling: ebsVolumeType :: Lens' EBS (Maybe Text)
+ Network.AWS.AutoScaling: emGranularity :: Lens' EnabledMetric (Maybe Text)
+ Network.AWS.AutoScaling: emMetric :: Lens' EnabledMetric (Maybe Text)
+ Network.AWS.AutoScaling: enabledMetric :: EnabledMetric
+ Network.AWS.AutoScaling: fName :: Lens' Filter Text
+ Network.AWS.AutoScaling: fValues :: Lens' Filter [Text]
+ Network.AWS.AutoScaling: filter' :: Text -> Filter
+ Network.AWS.AutoScaling: iAvailabilityZone :: Lens' Instance Text
+ Network.AWS.AutoScaling: iHealthStatus :: Lens' Instance Text
+ Network.AWS.AutoScaling: iInstanceId :: Lens' Instance Text
+ Network.AWS.AutoScaling: iLaunchConfigurationName :: Lens' Instance Text
+ Network.AWS.AutoScaling: iLifecycleState :: Lens' Instance LifecycleState
+ Network.AWS.AutoScaling: imEnabled :: Lens' InstanceMonitoring (Maybe Bool)
+ Network.AWS.AutoScaling: instance' :: Text -> Text -> LifecycleState -> Text -> Text -> Instance
+ Network.AWS.AutoScaling: instanceMonitoring :: InstanceMonitoring
+ Network.AWS.AutoScaling: launchConfiguration :: Text -> Text -> Text -> UTCTime -> LaunchConfiguration
+ Network.AWS.AutoScaling: lbsLoadBalancerName :: Lens' LoadBalancerState (Maybe Text)
+ Network.AWS.AutoScaling: lbsState :: Lens' LoadBalancerState (Maybe Text)
+ Network.AWS.AutoScaling: lcAssociatePublicIPAddress :: Lens' LaunchConfiguration (Maybe Bool)
+ Network.AWS.AutoScaling: lcBlockDeviceMappings :: Lens' LaunchConfiguration [BlockDeviceMapping]
+ Network.AWS.AutoScaling: lcClassicLinkVPCId :: Lens' LaunchConfiguration (Maybe Text)
+ Network.AWS.AutoScaling: lcClassicLinkVPCSecurityGroups :: Lens' LaunchConfiguration [Text]
+ Network.AWS.AutoScaling: lcCreatedTime :: Lens' LaunchConfiguration UTCTime
+ Network.AWS.AutoScaling: lcEBSOptimized :: Lens' LaunchConfiguration (Maybe Bool)
+ Network.AWS.AutoScaling: lcIAMInstanceProfile :: Lens' LaunchConfiguration (Maybe Text)
+ Network.AWS.AutoScaling: lcImageId :: Lens' LaunchConfiguration Text
+ Network.AWS.AutoScaling: lcInstanceMonitoring :: Lens' LaunchConfiguration (Maybe InstanceMonitoring)
+ Network.AWS.AutoScaling: lcInstanceType :: Lens' LaunchConfiguration Text
+ Network.AWS.AutoScaling: lcKernelId :: Lens' LaunchConfiguration (Maybe Text)
+ Network.AWS.AutoScaling: lcKeyName :: Lens' LaunchConfiguration (Maybe Text)
+ Network.AWS.AutoScaling: lcLaunchConfigurationARN :: Lens' LaunchConfiguration (Maybe Text)
+ Network.AWS.AutoScaling: lcLaunchConfigurationName :: Lens' LaunchConfiguration Text
+ Network.AWS.AutoScaling: lcPlacementTenancy :: Lens' LaunchConfiguration (Maybe Text)
+ Network.AWS.AutoScaling: lcRAMDiskId :: Lens' LaunchConfiguration (Maybe Text)
+ Network.AWS.AutoScaling: lcSecurityGroups :: Lens' LaunchConfiguration [Text]
+ Network.AWS.AutoScaling: lcSpotPrice :: Lens' LaunchConfiguration (Maybe Text)
+ Network.AWS.AutoScaling: lcUserData :: Lens' LaunchConfiguration (Maybe Text)
+ Network.AWS.AutoScaling: lhAutoScalingGroupName :: Lens' LifecycleHook (Maybe Text)
+ Network.AWS.AutoScaling: lhDefaultResult :: Lens' LifecycleHook (Maybe Text)
+ Network.AWS.AutoScaling: lhGlobalTimeout :: Lens' LifecycleHook (Maybe Int)
+ Network.AWS.AutoScaling: lhHeartbeatTimeout :: Lens' LifecycleHook (Maybe Int)
+ Network.AWS.AutoScaling: lhLifecycleHookName :: Lens' LifecycleHook (Maybe Text)
+ Network.AWS.AutoScaling: lhLifecycleTransition :: Lens' LifecycleHook (Maybe Text)
+ Network.AWS.AutoScaling: lhNotificationMetadata :: Lens' LifecycleHook (Maybe Text)
+ Network.AWS.AutoScaling: lhNotificationTargetARN :: Lens' LifecycleHook (Maybe Text)
+ Network.AWS.AutoScaling: lhRoleARN :: Lens' LifecycleHook (Maybe Text)
+ Network.AWS.AutoScaling: lifecycleHook :: LifecycleHook
+ Network.AWS.AutoScaling: loadBalancerState :: LoadBalancerState
+ Network.AWS.AutoScaling: mctMetric :: Lens' MetricCollectionType (Maybe Text)
+ Network.AWS.AutoScaling: metricCollectionType :: MetricCollectionType
+ Network.AWS.AutoScaling: metricGranularityType :: MetricGranularityType
+ Network.AWS.AutoScaling: mgtGranularity :: Lens' MetricGranularityType (Maybe Text)
+ Network.AWS.AutoScaling: ncAutoScalingGroupName :: Lens' NotificationConfiguration (Maybe Text)
+ Network.AWS.AutoScaling: ncNotificationType :: Lens' NotificationConfiguration (Maybe Text)
+ Network.AWS.AutoScaling: ncTopicARN :: Lens' NotificationConfiguration (Maybe Text)
+ Network.AWS.AutoScaling: notificationConfiguration :: NotificationConfiguration
+ Network.AWS.AutoScaling: processType :: Text -> ProcessType
+ Network.AWS.AutoScaling: ptProcessName :: Lens' ProcessType Text
+ Network.AWS.AutoScaling: sAdjustmentType :: Lens' ScalingPolicy (Maybe Text)
+ Network.AWS.AutoScaling: sAlarms :: Lens' ScalingPolicy [Alarm]
+ Network.AWS.AutoScaling: sAutoScalingGroupName :: Lens' ScalingPolicy (Maybe Text)
+ Network.AWS.AutoScaling: sCooldown :: Lens' ScalingPolicy (Maybe Int)
+ Network.AWS.AutoScaling: sEstimatedInstanceWarmup :: Lens' ScalingPolicy (Maybe Int)
+ Network.AWS.AutoScaling: sMetricAggregationType :: Lens' ScalingPolicy (Maybe Text)
+ Network.AWS.AutoScaling: sMinAdjustmentMagnitude :: Lens' ScalingPolicy (Maybe Int)
+ Network.AWS.AutoScaling: sMinAdjustmentStep :: Lens' ScalingPolicy (Maybe Int)
+ Network.AWS.AutoScaling: sPolicyARN :: Lens' ScalingPolicy (Maybe Text)
+ Network.AWS.AutoScaling: sPolicyName :: Lens' ScalingPolicy (Maybe Text)
+ Network.AWS.AutoScaling: sPolicyType :: Lens' ScalingPolicy (Maybe Text)
+ Network.AWS.AutoScaling: sScalingAdjustment :: Lens' ScalingPolicy (Maybe Int)
+ Network.AWS.AutoScaling: sStepAdjustments :: Lens' ScalingPolicy [StepAdjustment]
+ Network.AWS.AutoScaling: saMetricIntervalLowerBound :: Lens' StepAdjustment (Maybe Double)
+ Network.AWS.AutoScaling: saMetricIntervalUpperBound :: Lens' StepAdjustment (Maybe Double)
+ Network.AWS.AutoScaling: saScalingAdjustment :: Lens' StepAdjustment Int
+ Network.AWS.AutoScaling: scalingPolicy :: ScalingPolicy
+ Network.AWS.AutoScaling: scalingProcessQuery :: Text -> ScalingProcessQuery
+ Network.AWS.AutoScaling: scheduledUpdateGroupAction :: ScheduledUpdateGroupAction
+ Network.AWS.AutoScaling: spProcessName :: Lens' SuspendedProcess (Maybe Text)
+ Network.AWS.AutoScaling: spSuspensionReason :: Lens' SuspendedProcess (Maybe Text)
+ Network.AWS.AutoScaling: spqAutoScalingGroupName :: Lens' ScalingProcessQuery Text
+ Network.AWS.AutoScaling: spqScalingProcesses :: Lens' ScalingProcessQuery [Text]
+ Network.AWS.AutoScaling: stepAdjustment :: Int -> StepAdjustment
+ Network.AWS.AutoScaling: sugaAutoScalingGroupName :: Lens' ScheduledUpdateGroupAction (Maybe Text)
+ Network.AWS.AutoScaling: sugaDesiredCapacity :: Lens' ScheduledUpdateGroupAction (Maybe Int)
+ Network.AWS.AutoScaling: sugaEndTime :: Lens' ScheduledUpdateGroupAction (Maybe UTCTime)
+ Network.AWS.AutoScaling: sugaMaxSize :: Lens' ScheduledUpdateGroupAction (Maybe Int)
+ Network.AWS.AutoScaling: sugaMinSize :: Lens' ScheduledUpdateGroupAction (Maybe Int)
+ Network.AWS.AutoScaling: sugaRecurrence :: Lens' ScheduledUpdateGroupAction (Maybe Text)
+ Network.AWS.AutoScaling: sugaScheduledActionARN :: Lens' ScheduledUpdateGroupAction (Maybe Text)
+ Network.AWS.AutoScaling: sugaScheduledActionName :: Lens' ScheduledUpdateGroupAction (Maybe Text)
+ Network.AWS.AutoScaling: sugaStartTime :: Lens' ScheduledUpdateGroupAction (Maybe UTCTime)
+ Network.AWS.AutoScaling: sugaTime :: Lens' ScheduledUpdateGroupAction (Maybe UTCTime)
+ Network.AWS.AutoScaling: suspendedProcess :: SuspendedProcess
+ Network.AWS.AutoScaling: tag :: Text -> Text -> Text -> Bool -> Text -> Tag
+ Network.AWS.AutoScaling: tagDescription :: Text -> Text -> Text -> Bool -> Text -> TagDescription
+ Network.AWS.AutoScaling: tagKey :: Lens' Tag Text
+ Network.AWS.AutoScaling: tagPropagateAtLaunch :: Lens' Tag Bool
+ Network.AWS.AutoScaling: tagResourceId :: Lens' Tag Text
+ Network.AWS.AutoScaling: tagResourceType :: Lens' Tag Text
+ Network.AWS.AutoScaling: tagValue :: Lens' Tag Text
+ Network.AWS.AutoScaling: tdKey :: Lens' TagDescription Text
+ Network.AWS.AutoScaling: tdPropagateAtLaunch :: Lens' TagDescription Bool
+ Network.AWS.AutoScaling: tdResourceId :: Lens' TagDescription Text
+ Network.AWS.AutoScaling: tdResourceType :: Lens' TagDescription Text
+ Network.AWS.AutoScaling: tdValue :: Lens' TagDescription Text
+ Network.AWS.AutoScaling.AttachInstances: instance Constructor C1_0AttachInstances
+ Network.AWS.AutoScaling.AttachInstances: instance Data AttachInstances
+ Network.AWS.AutoScaling.AttachInstances: instance Data AttachInstancesResponse
+ Network.AWS.AutoScaling.AttachInstances: instance Datatype D1AttachInstances
+ Network.AWS.AutoScaling.AttachInstances: instance Generic AttachInstances
+ Network.AWS.AutoScaling.AttachInstances: instance Selector S1_0_0AttachInstances
+ Network.AWS.AutoScaling.AttachInstances: instance Selector S1_0_1AttachInstances
+ Network.AWS.AutoScaling.AttachInstances: instance Typeable AttachInstances
+ Network.AWS.AutoScaling.AttachInstances: instance Typeable AttachInstancesResponse
+ Network.AWS.AutoScaling.AttachLoadBalancers: albAutoScalingGroupName :: Lens' AttachLoadBalancers (Maybe Text)
+ Network.AWS.AutoScaling.AttachLoadBalancers: albLoadBalancerNames :: Lens' AttachLoadBalancers [Text]
+ Network.AWS.AutoScaling.AttachLoadBalancers: albrsStatus :: Lens' AttachLoadBalancersResponse Int
+ Network.AWS.AutoScaling.AttachLoadBalancers: attachLoadBalancers :: AttachLoadBalancers
+ Network.AWS.AutoScaling.AttachLoadBalancers: attachLoadBalancersResponse :: Int -> AttachLoadBalancersResponse
+ Network.AWS.AutoScaling.AttachLoadBalancers: data AttachLoadBalancers
+ Network.AWS.AutoScaling.AttachLoadBalancers: data AttachLoadBalancersResponse
+ Network.AWS.AutoScaling.AttachLoadBalancers: instance AWSRequest AttachLoadBalancers
+ Network.AWS.AutoScaling.AttachLoadBalancers: instance Constructor C1_0AttachLoadBalancers
+ Network.AWS.AutoScaling.AttachLoadBalancers: instance Constructor C1_0AttachLoadBalancersResponse
+ Network.AWS.AutoScaling.AttachLoadBalancers: instance Data AttachLoadBalancers
+ Network.AWS.AutoScaling.AttachLoadBalancers: instance Data AttachLoadBalancersResponse
+ Network.AWS.AutoScaling.AttachLoadBalancers: instance Datatype D1AttachLoadBalancers
+ Network.AWS.AutoScaling.AttachLoadBalancers: instance Datatype D1AttachLoadBalancersResponse
+ Network.AWS.AutoScaling.AttachLoadBalancers: instance Eq AttachLoadBalancers
+ Network.AWS.AutoScaling.AttachLoadBalancers: instance Eq AttachLoadBalancersResponse
+ Network.AWS.AutoScaling.AttachLoadBalancers: instance Generic AttachLoadBalancers
+ Network.AWS.AutoScaling.AttachLoadBalancers: instance Generic AttachLoadBalancersResponse
+ Network.AWS.AutoScaling.AttachLoadBalancers: instance Read AttachLoadBalancers
+ Network.AWS.AutoScaling.AttachLoadBalancers: instance Read AttachLoadBalancersResponse
+ Network.AWS.AutoScaling.AttachLoadBalancers: instance Selector S1_0_0AttachLoadBalancers
+ Network.AWS.AutoScaling.AttachLoadBalancers: instance Selector S1_0_0AttachLoadBalancersResponse
+ Network.AWS.AutoScaling.AttachLoadBalancers: instance Selector S1_0_1AttachLoadBalancers
+ Network.AWS.AutoScaling.AttachLoadBalancers: instance Show AttachLoadBalancers
+ Network.AWS.AutoScaling.AttachLoadBalancers: instance Show AttachLoadBalancersResponse
+ Network.AWS.AutoScaling.AttachLoadBalancers: instance ToHeaders AttachLoadBalancers
+ Network.AWS.AutoScaling.AttachLoadBalancers: instance ToPath AttachLoadBalancers
+ Network.AWS.AutoScaling.AttachLoadBalancers: instance ToQuery AttachLoadBalancers
+ Network.AWS.AutoScaling.AttachLoadBalancers: instance Typeable AttachLoadBalancers
+ Network.AWS.AutoScaling.AttachLoadBalancers: instance Typeable AttachLoadBalancersResponse
+ Network.AWS.AutoScaling.CompleteLifecycleAction: clarsStatus :: Lens' CompleteLifecycleActionResponse Int
+ Network.AWS.AutoScaling.CompleteLifecycleAction: instance Constructor C1_0CompleteLifecycleAction
+ Network.AWS.AutoScaling.CompleteLifecycleAction: instance Data CompleteLifecycleAction
+ Network.AWS.AutoScaling.CompleteLifecycleAction: instance Data CompleteLifecycleActionResponse
+ Network.AWS.AutoScaling.CompleteLifecycleAction: instance Datatype D1CompleteLifecycleAction
+ Network.AWS.AutoScaling.CompleteLifecycleAction: instance Generic CompleteLifecycleAction
+ Network.AWS.AutoScaling.CompleteLifecycleAction: instance Selector S1_0_0CompleteLifecycleAction
+ Network.AWS.AutoScaling.CompleteLifecycleAction: instance Selector S1_0_0CompleteLifecycleActionResponse
+ Network.AWS.AutoScaling.CompleteLifecycleAction: instance Selector S1_0_1CompleteLifecycleAction
+ Network.AWS.AutoScaling.CompleteLifecycleAction: instance Selector S1_0_2CompleteLifecycleAction
+ Network.AWS.AutoScaling.CompleteLifecycleAction: instance Selector S1_0_3CompleteLifecycleAction
+ Network.AWS.AutoScaling.CompleteLifecycleAction: instance Typeable CompleteLifecycleAction
+ Network.AWS.AutoScaling.CompleteLifecycleAction: instance Typeable CompleteLifecycleActionResponse
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: instance Constructor C1_0CreateAutoScalingGroup
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: instance Data CreateAutoScalingGroup
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: instance Data CreateAutoScalingGroupResponse
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: instance Datatype D1CreateAutoScalingGroup
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: instance Generic CreateAutoScalingGroup
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: instance Selector S1_0_0CreateAutoScalingGroup
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: instance Selector S1_0_10CreateAutoScalingGroup
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: instance Selector S1_0_11CreateAutoScalingGroup
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: instance Selector S1_0_12CreateAutoScalingGroup
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: instance Selector S1_0_13CreateAutoScalingGroup
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: instance Selector S1_0_14CreateAutoScalingGroup
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: instance Selector S1_0_1CreateAutoScalingGroup
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: instance Selector S1_0_2CreateAutoScalingGroup
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: instance Selector S1_0_3CreateAutoScalingGroup
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: instance Selector S1_0_4CreateAutoScalingGroup
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: instance Selector S1_0_5CreateAutoScalingGroup
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: instance Selector S1_0_6CreateAutoScalingGroup
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: instance Selector S1_0_7CreateAutoScalingGroup
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: instance Selector S1_0_8CreateAutoScalingGroup
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: instance Selector S1_0_9CreateAutoScalingGroup
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: instance Typeable CreateAutoScalingGroup
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: instance Typeable CreateAutoScalingGroupResponse
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: clcAssociatePublicIPAddress :: Lens' CreateLaunchConfiguration (Maybe Bool)
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: clcEBSOptimized :: Lens' CreateLaunchConfiguration (Maybe Bool)
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: clcIAMInstanceProfile :: Lens' CreateLaunchConfiguration (Maybe Text)
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: clcRAMDiskId :: Lens' CreateLaunchConfiguration (Maybe Text)
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Constructor C1_0CreateLaunchConfiguration
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Data CreateLaunchConfiguration
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Data CreateLaunchConfigurationResponse
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Datatype D1CreateLaunchConfiguration
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Generic CreateLaunchConfiguration
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Selector S1_0_0CreateLaunchConfiguration
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Selector S1_0_10CreateLaunchConfiguration
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Selector S1_0_11CreateLaunchConfiguration
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Selector S1_0_12CreateLaunchConfiguration
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Selector S1_0_13CreateLaunchConfiguration
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Selector S1_0_14CreateLaunchConfiguration
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Selector S1_0_15CreateLaunchConfiguration
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Selector S1_0_16CreateLaunchConfiguration
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Selector S1_0_17CreateLaunchConfiguration
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Selector S1_0_1CreateLaunchConfiguration
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Selector S1_0_2CreateLaunchConfiguration
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Selector S1_0_3CreateLaunchConfiguration
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Selector S1_0_4CreateLaunchConfiguration
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Selector S1_0_5CreateLaunchConfiguration
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Selector S1_0_6CreateLaunchConfiguration
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Selector S1_0_7CreateLaunchConfiguration
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Selector S1_0_8CreateLaunchConfiguration
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Selector S1_0_9CreateLaunchConfiguration
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Typeable CreateLaunchConfiguration
+ Network.AWS.AutoScaling.CreateLaunchConfiguration: instance Typeable CreateLaunchConfigurationResponse
+ Network.AWS.AutoScaling.CreateOrUpdateTags: instance Constructor C1_0CreateOrUpdateTags
+ Network.AWS.AutoScaling.CreateOrUpdateTags: instance Data CreateOrUpdateTags
+ Network.AWS.AutoScaling.CreateOrUpdateTags: instance Data CreateOrUpdateTagsResponse
+ Network.AWS.AutoScaling.CreateOrUpdateTags: instance Datatype D1CreateOrUpdateTags
+ Network.AWS.AutoScaling.CreateOrUpdateTags: instance Generic CreateOrUpdateTags
+ Network.AWS.AutoScaling.CreateOrUpdateTags: instance Selector S1_0_0CreateOrUpdateTags
+ Network.AWS.AutoScaling.CreateOrUpdateTags: instance Typeable CreateOrUpdateTags
+ Network.AWS.AutoScaling.CreateOrUpdateTags: instance Typeable CreateOrUpdateTagsResponse
+ Network.AWS.AutoScaling.DeleteAutoScalingGroup: instance Constructor C1_0DeleteAutoScalingGroup
+ Network.AWS.AutoScaling.DeleteAutoScalingGroup: instance Data DeleteAutoScalingGroup
+ Network.AWS.AutoScaling.DeleteAutoScalingGroup: instance Data DeleteAutoScalingGroupResponse
+ Network.AWS.AutoScaling.DeleteAutoScalingGroup: instance Datatype D1DeleteAutoScalingGroup
+ Network.AWS.AutoScaling.DeleteAutoScalingGroup: instance Generic DeleteAutoScalingGroup
+ Network.AWS.AutoScaling.DeleteAutoScalingGroup: instance Selector S1_0_0DeleteAutoScalingGroup
+ Network.AWS.AutoScaling.DeleteAutoScalingGroup: instance Selector S1_0_1DeleteAutoScalingGroup
+ Network.AWS.AutoScaling.DeleteAutoScalingGroup: instance Typeable DeleteAutoScalingGroup
+ Network.AWS.AutoScaling.DeleteAutoScalingGroup: instance Typeable DeleteAutoScalingGroupResponse
+ Network.AWS.AutoScaling.DeleteLaunchConfiguration: instance Constructor C1_0DeleteLaunchConfiguration
+ Network.AWS.AutoScaling.DeleteLaunchConfiguration: instance Data DeleteLaunchConfiguration
+ Network.AWS.AutoScaling.DeleteLaunchConfiguration: instance Data DeleteLaunchConfigurationResponse
+ Network.AWS.AutoScaling.DeleteLaunchConfiguration: instance Datatype D1DeleteLaunchConfiguration
+ Network.AWS.AutoScaling.DeleteLaunchConfiguration: instance Generic DeleteLaunchConfiguration
+ Network.AWS.AutoScaling.DeleteLaunchConfiguration: instance Selector S1_0_0DeleteLaunchConfiguration
+ Network.AWS.AutoScaling.DeleteLaunchConfiguration: instance Typeable DeleteLaunchConfiguration
+ Network.AWS.AutoScaling.DeleteLaunchConfiguration: instance Typeable DeleteLaunchConfigurationResponse
+ Network.AWS.AutoScaling.DeleteLifecycleHook: delAutoScalingGroupName :: Lens' DeleteLifecycleHook Text
+ Network.AWS.AutoScaling.DeleteLifecycleHook: delLifecycleHookName :: Lens' DeleteLifecycleHook Text
+ Network.AWS.AutoScaling.DeleteLifecycleHook: drsStatus :: Lens' DeleteLifecycleHookResponse Int
+ Network.AWS.AutoScaling.DeleteLifecycleHook: instance Constructor C1_0DeleteLifecycleHook
+ Network.AWS.AutoScaling.DeleteLifecycleHook: instance Data DeleteLifecycleHook
+ Network.AWS.AutoScaling.DeleteLifecycleHook: instance Data DeleteLifecycleHookResponse
+ Network.AWS.AutoScaling.DeleteLifecycleHook: instance Datatype D1DeleteLifecycleHook
+ Network.AWS.AutoScaling.DeleteLifecycleHook: instance Generic DeleteLifecycleHook
+ Network.AWS.AutoScaling.DeleteLifecycleHook: instance Selector S1_0_0DeleteLifecycleHook
+ Network.AWS.AutoScaling.DeleteLifecycleHook: instance Selector S1_0_0DeleteLifecycleHookResponse
+ Network.AWS.AutoScaling.DeleteLifecycleHook: instance Selector S1_0_1DeleteLifecycleHook
+ Network.AWS.AutoScaling.DeleteLifecycleHook: instance Typeable DeleteLifecycleHook
+ Network.AWS.AutoScaling.DeleteLifecycleHook: instance Typeable DeleteLifecycleHookResponse
+ Network.AWS.AutoScaling.DeleteNotificationConfiguration: instance Constructor C1_0DeleteNotificationConfiguration
+ Network.AWS.AutoScaling.DeleteNotificationConfiguration: instance Data DeleteNotificationConfiguration
+ Network.AWS.AutoScaling.DeleteNotificationConfiguration: instance Data DeleteNotificationConfigurationResponse
+ Network.AWS.AutoScaling.DeleteNotificationConfiguration: instance Datatype D1DeleteNotificationConfiguration
+ Network.AWS.AutoScaling.DeleteNotificationConfiguration: instance Generic DeleteNotificationConfiguration
+ Network.AWS.AutoScaling.DeleteNotificationConfiguration: instance Selector S1_0_0DeleteNotificationConfiguration
+ Network.AWS.AutoScaling.DeleteNotificationConfiguration: instance Selector S1_0_1DeleteNotificationConfiguration
+ Network.AWS.AutoScaling.DeleteNotificationConfiguration: instance Typeable DeleteNotificationConfiguration
+ Network.AWS.AutoScaling.DeleteNotificationConfiguration: instance Typeable DeleteNotificationConfigurationResponse
+ Network.AWS.AutoScaling.DeletePolicy: instance Constructor C1_0DeletePolicy
+ Network.AWS.AutoScaling.DeletePolicy: instance Data DeletePolicy
+ Network.AWS.AutoScaling.DeletePolicy: instance Data DeletePolicyResponse
+ Network.AWS.AutoScaling.DeletePolicy: instance Datatype D1DeletePolicy
+ Network.AWS.AutoScaling.DeletePolicy: instance Generic DeletePolicy
+ Network.AWS.AutoScaling.DeletePolicy: instance Selector S1_0_0DeletePolicy
+ Network.AWS.AutoScaling.DeletePolicy: instance Selector S1_0_1DeletePolicy
+ Network.AWS.AutoScaling.DeletePolicy: instance Typeable DeletePolicy
+ Network.AWS.AutoScaling.DeletePolicy: instance Typeable DeletePolicyResponse
+ Network.AWS.AutoScaling.DeleteScheduledAction: instance Constructor C1_0DeleteScheduledAction
+ Network.AWS.AutoScaling.DeleteScheduledAction: instance Data DeleteScheduledAction
+ Network.AWS.AutoScaling.DeleteScheduledAction: instance Data DeleteScheduledActionResponse
+ Network.AWS.AutoScaling.DeleteScheduledAction: instance Datatype D1DeleteScheduledAction
+ Network.AWS.AutoScaling.DeleteScheduledAction: instance Generic DeleteScheduledAction
+ Network.AWS.AutoScaling.DeleteScheduledAction: instance Selector S1_0_0DeleteScheduledAction
+ Network.AWS.AutoScaling.DeleteScheduledAction: instance Selector S1_0_1DeleteScheduledAction
+ Network.AWS.AutoScaling.DeleteScheduledAction: instance Typeable DeleteScheduledAction
+ Network.AWS.AutoScaling.DeleteScheduledAction: instance Typeable DeleteScheduledActionResponse
+ Network.AWS.AutoScaling.DeleteTags: instance Constructor C1_0DeleteTags
+ Network.AWS.AutoScaling.DeleteTags: instance Data DeleteTags
+ Network.AWS.AutoScaling.DeleteTags: instance Data DeleteTagsResponse
+ Network.AWS.AutoScaling.DeleteTags: instance Datatype D1DeleteTags
+ Network.AWS.AutoScaling.DeleteTags: instance Generic DeleteTags
+ Network.AWS.AutoScaling.DeleteTags: instance Selector S1_0_0DeleteTags
+ Network.AWS.AutoScaling.DeleteTags: instance Typeable DeleteTags
+ Network.AWS.AutoScaling.DeleteTags: instance Typeable DeleteTagsResponse
+ Network.AWS.AutoScaling.DescribeAccountLimits: dalrsMaxNumberOfAutoScalingGroups :: Lens' DescribeAccountLimitsResponse (Maybe Int)
+ Network.AWS.AutoScaling.DescribeAccountLimits: dalrsMaxNumberOfLaunchConfigurations :: Lens' DescribeAccountLimitsResponse (Maybe Int)
+ Network.AWS.AutoScaling.DescribeAccountLimits: dalrsStatus :: Lens' DescribeAccountLimitsResponse Int
+ Network.AWS.AutoScaling.DescribeAccountLimits: instance Constructor C1_0DescribeAccountLimitsResponse
+ Network.AWS.AutoScaling.DescribeAccountLimits: instance Data DescribeAccountLimits
+ Network.AWS.AutoScaling.DescribeAccountLimits: instance Data DescribeAccountLimitsResponse
+ Network.AWS.AutoScaling.DescribeAccountLimits: instance Datatype D1DescribeAccountLimitsResponse
+ Network.AWS.AutoScaling.DescribeAccountLimits: instance Generic DescribeAccountLimitsResponse
+ Network.AWS.AutoScaling.DescribeAccountLimits: instance Selector S1_0_0DescribeAccountLimitsResponse
+ Network.AWS.AutoScaling.DescribeAccountLimits: instance Selector S1_0_1DescribeAccountLimitsResponse
+ Network.AWS.AutoScaling.DescribeAccountLimits: instance Selector S1_0_2DescribeAccountLimitsResponse
+ Network.AWS.AutoScaling.DescribeAccountLimits: instance Typeable DescribeAccountLimits
+ Network.AWS.AutoScaling.DescribeAccountLimits: instance Typeable DescribeAccountLimitsResponse
+ Network.AWS.AutoScaling.DescribeAdjustmentTypes: datrsAdjustmentTypes :: Lens' DescribeAdjustmentTypesResponse [AdjustmentType]
+ Network.AWS.AutoScaling.DescribeAdjustmentTypes: datrsStatus :: Lens' DescribeAdjustmentTypesResponse Int
+ Network.AWS.AutoScaling.DescribeAdjustmentTypes: instance Constructor C1_0DescribeAdjustmentTypesResponse
+ Network.AWS.AutoScaling.DescribeAdjustmentTypes: instance Data DescribeAdjustmentTypes
+ Network.AWS.AutoScaling.DescribeAdjustmentTypes: instance Data DescribeAdjustmentTypesResponse
+ Network.AWS.AutoScaling.DescribeAdjustmentTypes: instance Datatype D1DescribeAdjustmentTypesResponse
+ Network.AWS.AutoScaling.DescribeAdjustmentTypes: instance Generic DescribeAdjustmentTypesResponse
+ Network.AWS.AutoScaling.DescribeAdjustmentTypes: instance Selector S1_0_0DescribeAdjustmentTypesResponse
+ Network.AWS.AutoScaling.DescribeAdjustmentTypes: instance Selector S1_0_1DescribeAdjustmentTypesResponse
+ Network.AWS.AutoScaling.DescribeAdjustmentTypes: instance Typeable DescribeAdjustmentTypes
+ Network.AWS.AutoScaling.DescribeAdjustmentTypes: instance Typeable DescribeAdjustmentTypesResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingGroups: dasgrsAutoScalingGroups :: Lens' DescribeAutoScalingGroupsResponse [AutoScalingGroup]
+ Network.AWS.AutoScaling.DescribeAutoScalingGroups: dasgrsNextToken :: Lens' DescribeAutoScalingGroupsResponse (Maybe Text)
+ Network.AWS.AutoScaling.DescribeAutoScalingGroups: dasgrsStatus :: Lens' DescribeAutoScalingGroupsResponse Int
+ Network.AWS.AutoScaling.DescribeAutoScalingGroups: instance Constructor C1_0DescribeAutoScalingGroups
+ Network.AWS.AutoScaling.DescribeAutoScalingGroups: instance Constructor C1_0DescribeAutoScalingGroupsResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingGroups: instance Data DescribeAutoScalingGroups
+ Network.AWS.AutoScaling.DescribeAutoScalingGroups: instance Data DescribeAutoScalingGroupsResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingGroups: instance Datatype D1DescribeAutoScalingGroups
+ Network.AWS.AutoScaling.DescribeAutoScalingGroups: instance Datatype D1DescribeAutoScalingGroupsResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingGroups: instance Generic DescribeAutoScalingGroups
+ Network.AWS.AutoScaling.DescribeAutoScalingGroups: instance Generic DescribeAutoScalingGroupsResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingGroups: instance Selector S1_0_0DescribeAutoScalingGroups
+ Network.AWS.AutoScaling.DescribeAutoScalingGroups: instance Selector S1_0_0DescribeAutoScalingGroupsResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingGroups: instance Selector S1_0_1DescribeAutoScalingGroups
+ Network.AWS.AutoScaling.DescribeAutoScalingGroups: instance Selector S1_0_1DescribeAutoScalingGroupsResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingGroups: instance Selector S1_0_2DescribeAutoScalingGroups
+ Network.AWS.AutoScaling.DescribeAutoScalingGroups: instance Selector S1_0_2DescribeAutoScalingGroupsResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingGroups: instance Typeable DescribeAutoScalingGroups
+ Network.AWS.AutoScaling.DescribeAutoScalingGroups: instance Typeable DescribeAutoScalingGroupsResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingInstances: dasirsAutoScalingInstances :: Lens' DescribeAutoScalingInstancesResponse [AutoScalingInstanceDetails]
+ Network.AWS.AutoScaling.DescribeAutoScalingInstances: dasirsNextToken :: Lens' DescribeAutoScalingInstancesResponse (Maybe Text)
+ Network.AWS.AutoScaling.DescribeAutoScalingInstances: dasirsStatus :: Lens' DescribeAutoScalingInstancesResponse Int
+ Network.AWS.AutoScaling.DescribeAutoScalingInstances: instance Constructor C1_0DescribeAutoScalingInstances
+ Network.AWS.AutoScaling.DescribeAutoScalingInstances: instance Constructor C1_0DescribeAutoScalingInstancesResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingInstances: instance Data DescribeAutoScalingInstances
+ Network.AWS.AutoScaling.DescribeAutoScalingInstances: instance Data DescribeAutoScalingInstancesResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingInstances: instance Datatype D1DescribeAutoScalingInstances
+ Network.AWS.AutoScaling.DescribeAutoScalingInstances: instance Datatype D1DescribeAutoScalingInstancesResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingInstances: instance Generic DescribeAutoScalingInstances
+ Network.AWS.AutoScaling.DescribeAutoScalingInstances: instance Generic DescribeAutoScalingInstancesResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingInstances: instance Selector S1_0_0DescribeAutoScalingInstances
+ Network.AWS.AutoScaling.DescribeAutoScalingInstances: instance Selector S1_0_0DescribeAutoScalingInstancesResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingInstances: instance Selector S1_0_1DescribeAutoScalingInstances
+ Network.AWS.AutoScaling.DescribeAutoScalingInstances: instance Selector S1_0_1DescribeAutoScalingInstancesResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingInstances: instance Selector S1_0_2DescribeAutoScalingInstances
+ Network.AWS.AutoScaling.DescribeAutoScalingInstances: instance Selector S1_0_2DescribeAutoScalingInstancesResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingInstances: instance Typeable DescribeAutoScalingInstances
+ Network.AWS.AutoScaling.DescribeAutoScalingInstances: instance Typeable DescribeAutoScalingInstancesResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes: dasntrsAutoScalingNotificationTypes :: Lens' DescribeAutoScalingNotificationTypesResponse [Text]
+ Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes: dasntrsStatus :: Lens' DescribeAutoScalingNotificationTypesResponse Int
+ Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes: instance Constructor C1_0DescribeAutoScalingNotificationTypesResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes: instance Data DescribeAutoScalingNotificationTypes
+ Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes: instance Data DescribeAutoScalingNotificationTypesResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes: instance Datatype D1DescribeAutoScalingNotificationTypesResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes: instance Generic DescribeAutoScalingNotificationTypesResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes: instance Selector S1_0_0DescribeAutoScalingNotificationTypesResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes: instance Selector S1_0_1DescribeAutoScalingNotificationTypesResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes: instance Typeable DescribeAutoScalingNotificationTypes
+ Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes: instance Typeable DescribeAutoScalingNotificationTypesResponse
+ Network.AWS.AutoScaling.DescribeLaunchConfigurations: dlcrsLaunchConfigurations :: Lens' DescribeLaunchConfigurationsResponse [LaunchConfiguration]
+ Network.AWS.AutoScaling.DescribeLaunchConfigurations: dlcrsNextToken :: Lens' DescribeLaunchConfigurationsResponse (Maybe Text)
+ Network.AWS.AutoScaling.DescribeLaunchConfigurations: dlcrsStatus :: Lens' DescribeLaunchConfigurationsResponse Int
+ Network.AWS.AutoScaling.DescribeLaunchConfigurations: instance Constructor C1_0DescribeLaunchConfigurations
+ Network.AWS.AutoScaling.DescribeLaunchConfigurations: instance Constructor C1_0DescribeLaunchConfigurationsResponse
+ Network.AWS.AutoScaling.DescribeLaunchConfigurations: instance Data DescribeLaunchConfigurations
+ Network.AWS.AutoScaling.DescribeLaunchConfigurations: instance Data DescribeLaunchConfigurationsResponse
+ Network.AWS.AutoScaling.DescribeLaunchConfigurations: instance Datatype D1DescribeLaunchConfigurations
+ Network.AWS.AutoScaling.DescribeLaunchConfigurations: instance Datatype D1DescribeLaunchConfigurationsResponse
+ Network.AWS.AutoScaling.DescribeLaunchConfigurations: instance Generic DescribeLaunchConfigurations
+ Network.AWS.AutoScaling.DescribeLaunchConfigurations: instance Generic DescribeLaunchConfigurationsResponse
+ Network.AWS.AutoScaling.DescribeLaunchConfigurations: instance Selector S1_0_0DescribeLaunchConfigurations
+ Network.AWS.AutoScaling.DescribeLaunchConfigurations: instance Selector S1_0_0DescribeLaunchConfigurationsResponse
+ Network.AWS.AutoScaling.DescribeLaunchConfigurations: instance Selector S1_0_1DescribeLaunchConfigurations
+ Network.AWS.AutoScaling.DescribeLaunchConfigurations: instance Selector S1_0_1DescribeLaunchConfigurationsResponse
+ Network.AWS.AutoScaling.DescribeLaunchConfigurations: instance Selector S1_0_2DescribeLaunchConfigurations
+ Network.AWS.AutoScaling.DescribeLaunchConfigurations: instance Selector S1_0_2DescribeLaunchConfigurationsResponse
+ Network.AWS.AutoScaling.DescribeLaunchConfigurations: instance Typeable DescribeLaunchConfigurations
+ Network.AWS.AutoScaling.DescribeLaunchConfigurations: instance Typeable DescribeLaunchConfigurationsResponse
+ Network.AWS.AutoScaling.DescribeLifecycleHookTypes: dlhtrsLifecycleHookTypes :: Lens' DescribeLifecycleHookTypesResponse [Text]
+ Network.AWS.AutoScaling.DescribeLifecycleHookTypes: dlhtrsStatus :: Lens' DescribeLifecycleHookTypesResponse Int
+ Network.AWS.AutoScaling.DescribeLifecycleHookTypes: instance Constructor C1_0DescribeLifecycleHookTypesResponse
+ Network.AWS.AutoScaling.DescribeLifecycleHookTypes: instance Data DescribeLifecycleHookTypes
+ Network.AWS.AutoScaling.DescribeLifecycleHookTypes: instance Data DescribeLifecycleHookTypesResponse
+ Network.AWS.AutoScaling.DescribeLifecycleHookTypes: instance Datatype D1DescribeLifecycleHookTypesResponse
+ Network.AWS.AutoScaling.DescribeLifecycleHookTypes: instance Generic DescribeLifecycleHookTypesResponse
+ Network.AWS.AutoScaling.DescribeLifecycleHookTypes: instance Selector S1_0_0DescribeLifecycleHookTypesResponse
+ Network.AWS.AutoScaling.DescribeLifecycleHookTypes: instance Selector S1_0_1DescribeLifecycleHookTypesResponse
+ Network.AWS.AutoScaling.DescribeLifecycleHookTypes: instance Typeable DescribeLifecycleHookTypes
+ Network.AWS.AutoScaling.DescribeLifecycleHookTypes: instance Typeable DescribeLifecycleHookTypesResponse
+ Network.AWS.AutoScaling.DescribeLifecycleHooks: dlhrsLifecycleHooks :: Lens' DescribeLifecycleHooksResponse [LifecycleHook]
+ Network.AWS.AutoScaling.DescribeLifecycleHooks: dlhrsStatus :: Lens' DescribeLifecycleHooksResponse Int
+ Network.AWS.AutoScaling.DescribeLifecycleHooks: instance Constructor C1_0DescribeLifecycleHooks
+ Network.AWS.AutoScaling.DescribeLifecycleHooks: instance Constructor C1_0DescribeLifecycleHooksResponse
+ Network.AWS.AutoScaling.DescribeLifecycleHooks: instance Data DescribeLifecycleHooks
+ Network.AWS.AutoScaling.DescribeLifecycleHooks: instance Data DescribeLifecycleHooksResponse
+ Network.AWS.AutoScaling.DescribeLifecycleHooks: instance Datatype D1DescribeLifecycleHooks
+ Network.AWS.AutoScaling.DescribeLifecycleHooks: instance Datatype D1DescribeLifecycleHooksResponse
+ Network.AWS.AutoScaling.DescribeLifecycleHooks: instance Generic DescribeLifecycleHooks
+ Network.AWS.AutoScaling.DescribeLifecycleHooks: instance Generic DescribeLifecycleHooksResponse
+ Network.AWS.AutoScaling.DescribeLifecycleHooks: instance Selector S1_0_0DescribeLifecycleHooks
+ Network.AWS.AutoScaling.DescribeLifecycleHooks: instance Selector S1_0_0DescribeLifecycleHooksResponse
+ Network.AWS.AutoScaling.DescribeLifecycleHooks: instance Selector S1_0_1DescribeLifecycleHooks
+ Network.AWS.AutoScaling.DescribeLifecycleHooks: instance Selector S1_0_1DescribeLifecycleHooksResponse
+ Network.AWS.AutoScaling.DescribeLifecycleHooks: instance Typeable DescribeLifecycleHooks
+ Network.AWS.AutoScaling.DescribeLifecycleHooks: instance Typeable DescribeLifecycleHooksResponse
+ Network.AWS.AutoScaling.DescribeLoadBalancers: data DescribeLoadBalancers
+ Network.AWS.AutoScaling.DescribeLoadBalancers: data DescribeLoadBalancersResponse
+ Network.AWS.AutoScaling.DescribeLoadBalancers: describeLoadBalancers :: Text -> DescribeLoadBalancers
+ Network.AWS.AutoScaling.DescribeLoadBalancers: describeLoadBalancersResponse :: Int -> DescribeLoadBalancersResponse
+ Network.AWS.AutoScaling.DescribeLoadBalancers: dlbAutoScalingGroupName :: Lens' DescribeLoadBalancers Text
+ Network.AWS.AutoScaling.DescribeLoadBalancers: dlbMaxRecords :: Lens' DescribeLoadBalancers (Maybe Int)
+ Network.AWS.AutoScaling.DescribeLoadBalancers: dlbNextToken :: Lens' DescribeLoadBalancers (Maybe Text)
+ Network.AWS.AutoScaling.DescribeLoadBalancers: dlbrsLoadBalancers :: Lens' DescribeLoadBalancersResponse [LoadBalancerState]
+ Network.AWS.AutoScaling.DescribeLoadBalancers: dlbrsNextToken :: Lens' DescribeLoadBalancersResponse (Maybe Text)
+ Network.AWS.AutoScaling.DescribeLoadBalancers: dlbrsStatus :: Lens' DescribeLoadBalancersResponse Int
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance AWSRequest DescribeLoadBalancers
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance Constructor C1_0DescribeLoadBalancers
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance Constructor C1_0DescribeLoadBalancersResponse
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance Data DescribeLoadBalancers
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance Data DescribeLoadBalancersResponse
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance Datatype D1DescribeLoadBalancers
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance Datatype D1DescribeLoadBalancersResponse
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance Eq DescribeLoadBalancers
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance Eq DescribeLoadBalancersResponse
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance Generic DescribeLoadBalancers
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance Generic DescribeLoadBalancersResponse
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance Read DescribeLoadBalancers
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance Read DescribeLoadBalancersResponse
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance Selector S1_0_0DescribeLoadBalancers
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance Selector S1_0_0DescribeLoadBalancersResponse
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance Selector S1_0_1DescribeLoadBalancers
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance Selector S1_0_1DescribeLoadBalancersResponse
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance Selector S1_0_2DescribeLoadBalancers
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance Selector S1_0_2DescribeLoadBalancersResponse
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance Show DescribeLoadBalancers
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance Show DescribeLoadBalancersResponse
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance ToHeaders DescribeLoadBalancers
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance ToPath DescribeLoadBalancers
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance ToQuery DescribeLoadBalancers
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance Typeable DescribeLoadBalancers
+ Network.AWS.AutoScaling.DescribeLoadBalancers: instance Typeable DescribeLoadBalancersResponse
+ Network.AWS.AutoScaling.DescribeMetricCollectionTypes: dmctrsGranularities :: Lens' DescribeMetricCollectionTypesResponse [MetricGranularityType]
+ Network.AWS.AutoScaling.DescribeMetricCollectionTypes: dmctrsMetrics :: Lens' DescribeMetricCollectionTypesResponse [MetricCollectionType]
+ Network.AWS.AutoScaling.DescribeMetricCollectionTypes: dmctrsStatus :: Lens' DescribeMetricCollectionTypesResponse Int
+ Network.AWS.AutoScaling.DescribeMetricCollectionTypes: instance Constructor C1_0DescribeMetricCollectionTypesResponse
+ Network.AWS.AutoScaling.DescribeMetricCollectionTypes: instance Data DescribeMetricCollectionTypes
+ Network.AWS.AutoScaling.DescribeMetricCollectionTypes: instance Data DescribeMetricCollectionTypesResponse
+ Network.AWS.AutoScaling.DescribeMetricCollectionTypes: instance Datatype D1DescribeMetricCollectionTypesResponse
+ Network.AWS.AutoScaling.DescribeMetricCollectionTypes: instance Generic DescribeMetricCollectionTypesResponse
+ Network.AWS.AutoScaling.DescribeMetricCollectionTypes: instance Selector S1_0_0DescribeMetricCollectionTypesResponse
+ Network.AWS.AutoScaling.DescribeMetricCollectionTypes: instance Selector S1_0_1DescribeMetricCollectionTypesResponse
+ Network.AWS.AutoScaling.DescribeMetricCollectionTypes: instance Selector S1_0_2DescribeMetricCollectionTypesResponse
+ Network.AWS.AutoScaling.DescribeMetricCollectionTypes: instance Typeable DescribeMetricCollectionTypes
+ Network.AWS.AutoScaling.DescribeMetricCollectionTypes: instance Typeable DescribeMetricCollectionTypesResponse
+ Network.AWS.AutoScaling.DescribeNotificationConfigurations: dncrsNextToken :: Lens' DescribeNotificationConfigurationsResponse (Maybe Text)
+ Network.AWS.AutoScaling.DescribeNotificationConfigurations: dncrsNotificationConfigurations :: Lens' DescribeNotificationConfigurationsResponse [NotificationConfiguration]
+ Network.AWS.AutoScaling.DescribeNotificationConfigurations: dncrsStatus :: Lens' DescribeNotificationConfigurationsResponse Int
+ Network.AWS.AutoScaling.DescribeNotificationConfigurations: instance Constructor C1_0DescribeNotificationConfigurations
+ Network.AWS.AutoScaling.DescribeNotificationConfigurations: instance Constructor C1_0DescribeNotificationConfigurationsResponse
+ Network.AWS.AutoScaling.DescribeNotificationConfigurations: instance Data DescribeNotificationConfigurations
+ Network.AWS.AutoScaling.DescribeNotificationConfigurations: instance Data DescribeNotificationConfigurationsResponse
+ Network.AWS.AutoScaling.DescribeNotificationConfigurations: instance Datatype D1DescribeNotificationConfigurations
+ Network.AWS.AutoScaling.DescribeNotificationConfigurations: instance Datatype D1DescribeNotificationConfigurationsResponse
+ Network.AWS.AutoScaling.DescribeNotificationConfigurations: instance Generic DescribeNotificationConfigurations
+ Network.AWS.AutoScaling.DescribeNotificationConfigurations: instance Generic DescribeNotificationConfigurationsResponse
+ Network.AWS.AutoScaling.DescribeNotificationConfigurations: instance Selector S1_0_0DescribeNotificationConfigurations
+ Network.AWS.AutoScaling.DescribeNotificationConfigurations: instance Selector S1_0_0DescribeNotificationConfigurationsResponse
+ Network.AWS.AutoScaling.DescribeNotificationConfigurations: instance Selector S1_0_1DescribeNotificationConfigurations
+ Network.AWS.AutoScaling.DescribeNotificationConfigurations: instance Selector S1_0_1DescribeNotificationConfigurationsResponse
+ Network.AWS.AutoScaling.DescribeNotificationConfigurations: instance Selector S1_0_2DescribeNotificationConfigurations
+ Network.AWS.AutoScaling.DescribeNotificationConfigurations: instance Selector S1_0_2DescribeNotificationConfigurationsResponse
+ Network.AWS.AutoScaling.DescribeNotificationConfigurations: instance Typeable DescribeNotificationConfigurations
+ Network.AWS.AutoScaling.DescribeNotificationConfigurations: instance Typeable DescribeNotificationConfigurationsResponse
+ Network.AWS.AutoScaling.DescribePolicies: dprsNextToken :: Lens' DescribePoliciesResponse (Maybe Text)
+ Network.AWS.AutoScaling.DescribePolicies: dprsScalingPolicies :: Lens' DescribePoliciesResponse [ScalingPolicy]
+ Network.AWS.AutoScaling.DescribePolicies: dprsStatus :: Lens' DescribePoliciesResponse Int
+ Network.AWS.AutoScaling.DescribePolicies: dpsAutoScalingGroupName :: Lens' DescribePolicies (Maybe Text)
+ Network.AWS.AutoScaling.DescribePolicies: dpsMaxRecords :: Lens' DescribePolicies (Maybe Int)
+ Network.AWS.AutoScaling.DescribePolicies: dpsNextToken :: Lens' DescribePolicies (Maybe Text)
+ Network.AWS.AutoScaling.DescribePolicies: dpsPolicyNames :: Lens' DescribePolicies [Text]
+ Network.AWS.AutoScaling.DescribePolicies: dpsPolicyTypes :: Lens' DescribePolicies [Text]
+ Network.AWS.AutoScaling.DescribePolicies: instance Constructor C1_0DescribePolicies
+ Network.AWS.AutoScaling.DescribePolicies: instance Constructor C1_0DescribePoliciesResponse
+ Network.AWS.AutoScaling.DescribePolicies: instance Data DescribePolicies
+ Network.AWS.AutoScaling.DescribePolicies: instance Data DescribePoliciesResponse
+ Network.AWS.AutoScaling.DescribePolicies: instance Datatype D1DescribePolicies
+ Network.AWS.AutoScaling.DescribePolicies: instance Datatype D1DescribePoliciesResponse
+ Network.AWS.AutoScaling.DescribePolicies: instance Generic DescribePolicies
+ Network.AWS.AutoScaling.DescribePolicies: instance Generic DescribePoliciesResponse
+ Network.AWS.AutoScaling.DescribePolicies: instance Selector S1_0_0DescribePolicies
+ Network.AWS.AutoScaling.DescribePolicies: instance Selector S1_0_0DescribePoliciesResponse
+ Network.AWS.AutoScaling.DescribePolicies: instance Selector S1_0_1DescribePolicies
+ Network.AWS.AutoScaling.DescribePolicies: instance Selector S1_0_1DescribePoliciesResponse
+ Network.AWS.AutoScaling.DescribePolicies: instance Selector S1_0_2DescribePolicies
+ Network.AWS.AutoScaling.DescribePolicies: instance Selector S1_0_2DescribePoliciesResponse
+ Network.AWS.AutoScaling.DescribePolicies: instance Selector S1_0_3DescribePolicies
+ Network.AWS.AutoScaling.DescribePolicies: instance Selector S1_0_4DescribePolicies
+ Network.AWS.AutoScaling.DescribePolicies: instance Typeable DescribePolicies
+ Network.AWS.AutoScaling.DescribePolicies: instance Typeable DescribePoliciesResponse
+ Network.AWS.AutoScaling.DescribeScalingActivities: desActivityIds :: Lens' DescribeScalingActivities [Text]
+ Network.AWS.AutoScaling.DescribeScalingActivities: desAutoScalingGroupName :: Lens' DescribeScalingActivities (Maybe Text)
+ Network.AWS.AutoScaling.DescribeScalingActivities: desMaxRecords :: Lens' DescribeScalingActivities (Maybe Int)
+ Network.AWS.AutoScaling.DescribeScalingActivities: desNextToken :: Lens' DescribeScalingActivities (Maybe Text)
+ Network.AWS.AutoScaling.DescribeScalingActivities: dsasrsActivities :: Lens' DescribeScalingActivitiesResponse [Activity]
+ Network.AWS.AutoScaling.DescribeScalingActivities: dsasrsNextToken :: Lens' DescribeScalingActivitiesResponse (Maybe Text)
+ Network.AWS.AutoScaling.DescribeScalingActivities: dsasrsStatus :: Lens' DescribeScalingActivitiesResponse Int
+ Network.AWS.AutoScaling.DescribeScalingActivities: instance Constructor C1_0DescribeScalingActivities
+ Network.AWS.AutoScaling.DescribeScalingActivities: instance Constructor C1_0DescribeScalingActivitiesResponse
+ Network.AWS.AutoScaling.DescribeScalingActivities: instance Data DescribeScalingActivities
+ Network.AWS.AutoScaling.DescribeScalingActivities: instance Data DescribeScalingActivitiesResponse
+ Network.AWS.AutoScaling.DescribeScalingActivities: instance Datatype D1DescribeScalingActivities
+ Network.AWS.AutoScaling.DescribeScalingActivities: instance Datatype D1DescribeScalingActivitiesResponse
+ Network.AWS.AutoScaling.DescribeScalingActivities: instance Generic DescribeScalingActivities
+ Network.AWS.AutoScaling.DescribeScalingActivities: instance Generic DescribeScalingActivitiesResponse
+ Network.AWS.AutoScaling.DescribeScalingActivities: instance Selector S1_0_0DescribeScalingActivities
+ Network.AWS.AutoScaling.DescribeScalingActivities: instance Selector S1_0_0DescribeScalingActivitiesResponse
+ Network.AWS.AutoScaling.DescribeScalingActivities: instance Selector S1_0_1DescribeScalingActivities
+ Network.AWS.AutoScaling.DescribeScalingActivities: instance Selector S1_0_1DescribeScalingActivitiesResponse
+ Network.AWS.AutoScaling.DescribeScalingActivities: instance Selector S1_0_2DescribeScalingActivities
+ Network.AWS.AutoScaling.DescribeScalingActivities: instance Selector S1_0_2DescribeScalingActivitiesResponse
+ Network.AWS.AutoScaling.DescribeScalingActivities: instance Selector S1_0_3DescribeScalingActivities
+ Network.AWS.AutoScaling.DescribeScalingActivities: instance Typeable DescribeScalingActivities
+ Network.AWS.AutoScaling.DescribeScalingActivities: instance Typeable DescribeScalingActivitiesResponse
+ Network.AWS.AutoScaling.DescribeScalingProcessTypes: dsptrsProcesses :: Lens' DescribeScalingProcessTypesResponse [ProcessType]
+ Network.AWS.AutoScaling.DescribeScalingProcessTypes: dsptrsStatus :: Lens' DescribeScalingProcessTypesResponse Int
+ Network.AWS.AutoScaling.DescribeScalingProcessTypes: instance Constructor C1_0DescribeScalingProcessTypesResponse
+ Network.AWS.AutoScaling.DescribeScalingProcessTypes: instance Data DescribeScalingProcessTypes
+ Network.AWS.AutoScaling.DescribeScalingProcessTypes: instance Data DescribeScalingProcessTypesResponse
+ Network.AWS.AutoScaling.DescribeScalingProcessTypes: instance Datatype D1DescribeScalingProcessTypesResponse
+ Network.AWS.AutoScaling.DescribeScalingProcessTypes: instance Generic DescribeScalingProcessTypesResponse
+ Network.AWS.AutoScaling.DescribeScalingProcessTypes: instance Selector S1_0_0DescribeScalingProcessTypesResponse
+ Network.AWS.AutoScaling.DescribeScalingProcessTypes: instance Selector S1_0_1DescribeScalingProcessTypesResponse
+ Network.AWS.AutoScaling.DescribeScalingProcessTypes: instance Typeable DescribeScalingProcessTypes
+ Network.AWS.AutoScaling.DescribeScalingProcessTypes: instance Typeable DescribeScalingProcessTypesResponse
+ Network.AWS.AutoScaling.DescribeScheduledActions: dsarsNextToken :: Lens' DescribeScheduledActionsResponse (Maybe Text)
+ Network.AWS.AutoScaling.DescribeScheduledActions: dsarsScheduledUpdateGroupActions :: Lens' DescribeScheduledActionsResponse [ScheduledUpdateGroupAction]
+ Network.AWS.AutoScaling.DescribeScheduledActions: dsarsStatus :: Lens' DescribeScheduledActionsResponse Int
+ Network.AWS.AutoScaling.DescribeScheduledActions: dsasAutoScalingGroupName :: Lens' DescribeScheduledActions (Maybe Text)
+ Network.AWS.AutoScaling.DescribeScheduledActions: dsasEndTime :: Lens' DescribeScheduledActions (Maybe UTCTime)
+ Network.AWS.AutoScaling.DescribeScheduledActions: dsasMaxRecords :: Lens' DescribeScheduledActions (Maybe Int)
+ Network.AWS.AutoScaling.DescribeScheduledActions: dsasNextToken :: Lens' DescribeScheduledActions (Maybe Text)
+ Network.AWS.AutoScaling.DescribeScheduledActions: dsasScheduledActionNames :: Lens' DescribeScheduledActions [Text]
+ Network.AWS.AutoScaling.DescribeScheduledActions: dsasStartTime :: Lens' DescribeScheduledActions (Maybe UTCTime)
+ Network.AWS.AutoScaling.DescribeScheduledActions: instance Constructor C1_0DescribeScheduledActions
+ Network.AWS.AutoScaling.DescribeScheduledActions: instance Constructor C1_0DescribeScheduledActionsResponse
+ Network.AWS.AutoScaling.DescribeScheduledActions: instance Data DescribeScheduledActions
+ Network.AWS.AutoScaling.DescribeScheduledActions: instance Data DescribeScheduledActionsResponse
+ Network.AWS.AutoScaling.DescribeScheduledActions: instance Datatype D1DescribeScheduledActions
+ Network.AWS.AutoScaling.DescribeScheduledActions: instance Datatype D1DescribeScheduledActionsResponse
+ Network.AWS.AutoScaling.DescribeScheduledActions: instance Generic DescribeScheduledActions
+ Network.AWS.AutoScaling.DescribeScheduledActions: instance Generic DescribeScheduledActionsResponse
+ Network.AWS.AutoScaling.DescribeScheduledActions: instance Selector S1_0_0DescribeScheduledActions
+ Network.AWS.AutoScaling.DescribeScheduledActions: instance Selector S1_0_0DescribeScheduledActionsResponse
+ Network.AWS.AutoScaling.DescribeScheduledActions: instance Selector S1_0_1DescribeScheduledActions
+ Network.AWS.AutoScaling.DescribeScheduledActions: instance Selector S1_0_1DescribeScheduledActionsResponse
+ Network.AWS.AutoScaling.DescribeScheduledActions: instance Selector S1_0_2DescribeScheduledActions
+ Network.AWS.AutoScaling.DescribeScheduledActions: instance Selector S1_0_2DescribeScheduledActionsResponse
+ Network.AWS.AutoScaling.DescribeScheduledActions: instance Selector S1_0_3DescribeScheduledActions
+ Network.AWS.AutoScaling.DescribeScheduledActions: instance Selector S1_0_4DescribeScheduledActions
+ Network.AWS.AutoScaling.DescribeScheduledActions: instance Selector S1_0_5DescribeScheduledActions
+ Network.AWS.AutoScaling.DescribeScheduledActions: instance Typeable DescribeScheduledActions
+ Network.AWS.AutoScaling.DescribeScheduledActions: instance Typeable DescribeScheduledActionsResponse
+ Network.AWS.AutoScaling.DescribeTags: dtrsNextToken :: Lens' DescribeTagsResponse (Maybe Text)
+ Network.AWS.AutoScaling.DescribeTags: dtrsStatus :: Lens' DescribeTagsResponse Int
+ Network.AWS.AutoScaling.DescribeTags: dtrsTags :: Lens' DescribeTagsResponse [TagDescription]
+ Network.AWS.AutoScaling.DescribeTags: instance Constructor C1_0DescribeTags
+ Network.AWS.AutoScaling.DescribeTags: instance Constructor C1_0DescribeTagsResponse
+ Network.AWS.AutoScaling.DescribeTags: instance Data DescribeTags
+ Network.AWS.AutoScaling.DescribeTags: instance Data DescribeTagsResponse
+ Network.AWS.AutoScaling.DescribeTags: instance Datatype D1DescribeTags
+ Network.AWS.AutoScaling.DescribeTags: instance Datatype D1DescribeTagsResponse
+ Network.AWS.AutoScaling.DescribeTags: instance Generic DescribeTags
+ Network.AWS.AutoScaling.DescribeTags: instance Generic DescribeTagsResponse
+ Network.AWS.AutoScaling.DescribeTags: instance Selector S1_0_0DescribeTags
+ Network.AWS.AutoScaling.DescribeTags: instance Selector S1_0_0DescribeTagsResponse
+ Network.AWS.AutoScaling.DescribeTags: instance Selector S1_0_1DescribeTags
+ Network.AWS.AutoScaling.DescribeTags: instance Selector S1_0_1DescribeTagsResponse
+ Network.AWS.AutoScaling.DescribeTags: instance Selector S1_0_2DescribeTags
+ Network.AWS.AutoScaling.DescribeTags: instance Selector S1_0_2DescribeTagsResponse
+ Network.AWS.AutoScaling.DescribeTags: instance Typeable DescribeTags
+ Network.AWS.AutoScaling.DescribeTags: instance Typeable DescribeTagsResponse
+ Network.AWS.AutoScaling.DescribeTerminationPolicyTypes: dtptrsStatus :: Lens' DescribeTerminationPolicyTypesResponse Int
+ Network.AWS.AutoScaling.DescribeTerminationPolicyTypes: dtptrsTerminationPolicyTypes :: Lens' DescribeTerminationPolicyTypesResponse [Text]
+ Network.AWS.AutoScaling.DescribeTerminationPolicyTypes: instance Constructor C1_0DescribeTerminationPolicyTypesResponse
+ Network.AWS.AutoScaling.DescribeTerminationPolicyTypes: instance Data DescribeTerminationPolicyTypes
+ Network.AWS.AutoScaling.DescribeTerminationPolicyTypes: instance Data DescribeTerminationPolicyTypesResponse
+ Network.AWS.AutoScaling.DescribeTerminationPolicyTypes: instance Datatype D1DescribeTerminationPolicyTypesResponse
+ Network.AWS.AutoScaling.DescribeTerminationPolicyTypes: instance Generic DescribeTerminationPolicyTypesResponse
+ Network.AWS.AutoScaling.DescribeTerminationPolicyTypes: instance Selector S1_0_0DescribeTerminationPolicyTypesResponse
+ Network.AWS.AutoScaling.DescribeTerminationPolicyTypes: instance Selector S1_0_1DescribeTerminationPolicyTypesResponse
+ Network.AWS.AutoScaling.DescribeTerminationPolicyTypes: instance Typeable DescribeTerminationPolicyTypes
+ Network.AWS.AutoScaling.DescribeTerminationPolicyTypes: instance Typeable DescribeTerminationPolicyTypesResponse
+ Network.AWS.AutoScaling.DetachInstances: dirsActivities :: Lens' DetachInstancesResponse [Activity]
+ Network.AWS.AutoScaling.DetachInstances: dirsStatus :: Lens' DetachInstancesResponse Int
+ Network.AWS.AutoScaling.DetachInstances: instance Constructor C1_0DetachInstances
+ Network.AWS.AutoScaling.DetachInstances: instance Constructor C1_0DetachInstancesResponse
+ Network.AWS.AutoScaling.DetachInstances: instance Data DetachInstances
+ Network.AWS.AutoScaling.DetachInstances: instance Data DetachInstancesResponse
+ Network.AWS.AutoScaling.DetachInstances: instance Datatype D1DetachInstances
+ Network.AWS.AutoScaling.DetachInstances: instance Datatype D1DetachInstancesResponse
+ Network.AWS.AutoScaling.DetachInstances: instance Generic DetachInstances
+ Network.AWS.AutoScaling.DetachInstances: instance Generic DetachInstancesResponse
+ Network.AWS.AutoScaling.DetachInstances: instance Selector S1_0_0DetachInstances
+ Network.AWS.AutoScaling.DetachInstances: instance Selector S1_0_0DetachInstancesResponse
+ Network.AWS.AutoScaling.DetachInstances: instance Selector S1_0_1DetachInstances
+ Network.AWS.AutoScaling.DetachInstances: instance Selector S1_0_1DetachInstancesResponse
+ Network.AWS.AutoScaling.DetachInstances: instance Selector S1_0_2DetachInstances
+ Network.AWS.AutoScaling.DetachInstances: instance Typeable DetachInstances
+ Network.AWS.AutoScaling.DetachInstances: instance Typeable DetachInstancesResponse
+ Network.AWS.AutoScaling.DetachLoadBalancers: dAutoScalingGroupName :: Lens' DetachLoadBalancers (Maybe Text)
+ Network.AWS.AutoScaling.DetachLoadBalancers: dLoadBalancerNames :: Lens' DetachLoadBalancers [Text]
+ Network.AWS.AutoScaling.DetachLoadBalancers: data DetachLoadBalancers
+ Network.AWS.AutoScaling.DetachLoadBalancers: data DetachLoadBalancersResponse
+ Network.AWS.AutoScaling.DetachLoadBalancers: detachLoadBalancers :: DetachLoadBalancers
+ Network.AWS.AutoScaling.DetachLoadBalancers: detachLoadBalancersResponse :: Int -> DetachLoadBalancersResponse
+ Network.AWS.AutoScaling.DetachLoadBalancers: dlbsrsStatus :: Lens' DetachLoadBalancersResponse Int
+ Network.AWS.AutoScaling.DetachLoadBalancers: instance AWSRequest DetachLoadBalancers
+ Network.AWS.AutoScaling.DetachLoadBalancers: instance Constructor C1_0DetachLoadBalancers
+ Network.AWS.AutoScaling.DetachLoadBalancers: instance Constructor C1_0DetachLoadBalancersResponse
+ Network.AWS.AutoScaling.DetachLoadBalancers: instance Data DetachLoadBalancers
+ Network.AWS.AutoScaling.DetachLoadBalancers: instance Data DetachLoadBalancersResponse
+ Network.AWS.AutoScaling.DetachLoadBalancers: instance Datatype D1DetachLoadBalancers
+ Network.AWS.AutoScaling.DetachLoadBalancers: instance Datatype D1DetachLoadBalancersResponse
+ Network.AWS.AutoScaling.DetachLoadBalancers: instance Eq DetachLoadBalancers
+ Network.AWS.AutoScaling.DetachLoadBalancers: instance Eq DetachLoadBalancersResponse
+ Network.AWS.AutoScaling.DetachLoadBalancers: instance Generic DetachLoadBalancers
+ Network.AWS.AutoScaling.DetachLoadBalancers: instance Generic DetachLoadBalancersResponse
+ Network.AWS.AutoScaling.DetachLoadBalancers: instance Read DetachLoadBalancers
+ Network.AWS.AutoScaling.DetachLoadBalancers: instance Read DetachLoadBalancersResponse
+ Network.AWS.AutoScaling.DetachLoadBalancers: instance Selector S1_0_0DetachLoadBalancers
+ Network.AWS.AutoScaling.DetachLoadBalancers: instance Selector S1_0_0DetachLoadBalancersResponse
+ Network.AWS.AutoScaling.DetachLoadBalancers: instance Selector S1_0_1DetachLoadBalancers
+ Network.AWS.AutoScaling.DetachLoadBalancers: instance Show DetachLoadBalancers
+ Network.AWS.AutoScaling.DetachLoadBalancers: instance Show DetachLoadBalancersResponse
+ Network.AWS.AutoScaling.DetachLoadBalancers: instance ToHeaders DetachLoadBalancers
+ Network.AWS.AutoScaling.DetachLoadBalancers: instance ToPath DetachLoadBalancers
+ Network.AWS.AutoScaling.DetachLoadBalancers: instance ToQuery DetachLoadBalancers
+ Network.AWS.AutoScaling.DetachLoadBalancers: instance Typeable DetachLoadBalancers
+ Network.AWS.AutoScaling.DetachLoadBalancers: instance Typeable DetachLoadBalancersResponse
+ Network.AWS.AutoScaling.DisableMetricsCollection: instance Constructor C1_0DisableMetricsCollection
+ Network.AWS.AutoScaling.DisableMetricsCollection: instance Data DisableMetricsCollection
+ Network.AWS.AutoScaling.DisableMetricsCollection: instance Data DisableMetricsCollectionResponse
+ Network.AWS.AutoScaling.DisableMetricsCollection: instance Datatype D1DisableMetricsCollection
+ Network.AWS.AutoScaling.DisableMetricsCollection: instance Generic DisableMetricsCollection
+ Network.AWS.AutoScaling.DisableMetricsCollection: instance Selector S1_0_0DisableMetricsCollection
+ Network.AWS.AutoScaling.DisableMetricsCollection: instance Selector S1_0_1DisableMetricsCollection
+ Network.AWS.AutoScaling.DisableMetricsCollection: instance Typeable DisableMetricsCollection
+ Network.AWS.AutoScaling.DisableMetricsCollection: instance Typeable DisableMetricsCollectionResponse
+ Network.AWS.AutoScaling.EnableMetricsCollection: instance Constructor C1_0EnableMetricsCollection
+ Network.AWS.AutoScaling.EnableMetricsCollection: instance Data EnableMetricsCollection
+ Network.AWS.AutoScaling.EnableMetricsCollection: instance Data EnableMetricsCollectionResponse
+ Network.AWS.AutoScaling.EnableMetricsCollection: instance Datatype D1EnableMetricsCollection
+ Network.AWS.AutoScaling.EnableMetricsCollection: instance Generic EnableMetricsCollection
+ Network.AWS.AutoScaling.EnableMetricsCollection: instance Selector S1_0_0EnableMetricsCollection
+ Network.AWS.AutoScaling.EnableMetricsCollection: instance Selector S1_0_1EnableMetricsCollection
+ Network.AWS.AutoScaling.EnableMetricsCollection: instance Selector S1_0_2EnableMetricsCollection
+ Network.AWS.AutoScaling.EnableMetricsCollection: instance Typeable EnableMetricsCollection
+ Network.AWS.AutoScaling.EnableMetricsCollection: instance Typeable EnableMetricsCollectionResponse
+ Network.AWS.AutoScaling.EnterStandby: esrsActivities :: Lens' EnterStandbyResponse [Activity]
+ Network.AWS.AutoScaling.EnterStandby: esrsStatus :: Lens' EnterStandbyResponse Int
+ Network.AWS.AutoScaling.EnterStandby: instance Constructor C1_0EnterStandby
+ Network.AWS.AutoScaling.EnterStandby: instance Constructor C1_0EnterStandbyResponse
+ Network.AWS.AutoScaling.EnterStandby: instance Data EnterStandby
+ Network.AWS.AutoScaling.EnterStandby: instance Data EnterStandbyResponse
+ Network.AWS.AutoScaling.EnterStandby: instance Datatype D1EnterStandby
+ Network.AWS.AutoScaling.EnterStandby: instance Datatype D1EnterStandbyResponse
+ Network.AWS.AutoScaling.EnterStandby: instance Generic EnterStandby
+ Network.AWS.AutoScaling.EnterStandby: instance Generic EnterStandbyResponse
+ Network.AWS.AutoScaling.EnterStandby: instance Selector S1_0_0EnterStandby
+ Network.AWS.AutoScaling.EnterStandby: instance Selector S1_0_0EnterStandbyResponse
+ Network.AWS.AutoScaling.EnterStandby: instance Selector S1_0_1EnterStandby
+ Network.AWS.AutoScaling.EnterStandby: instance Selector S1_0_1EnterStandbyResponse
+ Network.AWS.AutoScaling.EnterStandby: instance Selector S1_0_2EnterStandby
+ Network.AWS.AutoScaling.EnterStandby: instance Typeable EnterStandby
+ Network.AWS.AutoScaling.EnterStandby: instance Typeable EnterStandbyResponse
+ Network.AWS.AutoScaling.ExecutePolicy: epBreachThreshold :: Lens' ExecutePolicy (Maybe Double)
+ Network.AWS.AutoScaling.ExecutePolicy: epMetricValue :: Lens' ExecutePolicy (Maybe Double)
+ Network.AWS.AutoScaling.ExecutePolicy: instance Constructor C1_0ExecutePolicy
+ Network.AWS.AutoScaling.ExecutePolicy: instance Data ExecutePolicy
+ Network.AWS.AutoScaling.ExecutePolicy: instance Data ExecutePolicyResponse
+ Network.AWS.AutoScaling.ExecutePolicy: instance Datatype D1ExecutePolicy
+ Network.AWS.AutoScaling.ExecutePolicy: instance Generic ExecutePolicy
+ Network.AWS.AutoScaling.ExecutePolicy: instance Selector S1_0_0ExecutePolicy
+ Network.AWS.AutoScaling.ExecutePolicy: instance Selector S1_0_1ExecutePolicy
+ Network.AWS.AutoScaling.ExecutePolicy: instance Selector S1_0_2ExecutePolicy
+ Network.AWS.AutoScaling.ExecutePolicy: instance Selector S1_0_3ExecutePolicy
+ Network.AWS.AutoScaling.ExecutePolicy: instance Selector S1_0_4ExecutePolicy
+ Network.AWS.AutoScaling.ExecutePolicy: instance Typeable ExecutePolicy
+ Network.AWS.AutoScaling.ExecutePolicy: instance Typeable ExecutePolicyResponse
+ Network.AWS.AutoScaling.ExitStandby: eAutoScalingGroupName :: Lens' ExitStandby Text
+ Network.AWS.AutoScaling.ExitStandby: eInstanceIds :: Lens' ExitStandby [Text]
+ Network.AWS.AutoScaling.ExitStandby: ersActivities :: Lens' ExitStandbyResponse [Activity]
+ Network.AWS.AutoScaling.ExitStandby: ersStatus :: Lens' ExitStandbyResponse Int
+ Network.AWS.AutoScaling.ExitStandby: instance Constructor C1_0ExitStandby
+ Network.AWS.AutoScaling.ExitStandby: instance Constructor C1_0ExitStandbyResponse
+ Network.AWS.AutoScaling.ExitStandby: instance Data ExitStandby
+ Network.AWS.AutoScaling.ExitStandby: instance Data ExitStandbyResponse
+ Network.AWS.AutoScaling.ExitStandby: instance Datatype D1ExitStandby
+ Network.AWS.AutoScaling.ExitStandby: instance Datatype D1ExitStandbyResponse
+ Network.AWS.AutoScaling.ExitStandby: instance Generic ExitStandby
+ Network.AWS.AutoScaling.ExitStandby: instance Generic ExitStandbyResponse
+ Network.AWS.AutoScaling.ExitStandby: instance Selector S1_0_0ExitStandby
+ Network.AWS.AutoScaling.ExitStandby: instance Selector S1_0_0ExitStandbyResponse
+ Network.AWS.AutoScaling.ExitStandby: instance Selector S1_0_1ExitStandby
+ Network.AWS.AutoScaling.ExitStandby: instance Selector S1_0_1ExitStandbyResponse
+ Network.AWS.AutoScaling.ExitStandby: instance Typeable ExitStandby
+ Network.AWS.AutoScaling.ExitStandby: instance Typeable ExitStandbyResponse
+ Network.AWS.AutoScaling.PutLifecycleHook: instance Constructor C1_0PutLifecycleHook
+ Network.AWS.AutoScaling.PutLifecycleHook: instance Data PutLifecycleHook
+ Network.AWS.AutoScaling.PutLifecycleHook: instance Data PutLifecycleHookResponse
+ Network.AWS.AutoScaling.PutLifecycleHook: instance Datatype D1PutLifecycleHook
+ Network.AWS.AutoScaling.PutLifecycleHook: instance Generic PutLifecycleHook
+ Network.AWS.AutoScaling.PutLifecycleHook: instance Selector S1_0_0PutLifecycleHook
+ Network.AWS.AutoScaling.PutLifecycleHook: instance Selector S1_0_0PutLifecycleHookResponse
+ Network.AWS.AutoScaling.PutLifecycleHook: instance Selector S1_0_1PutLifecycleHook
+ Network.AWS.AutoScaling.PutLifecycleHook: instance Selector S1_0_2PutLifecycleHook
+ Network.AWS.AutoScaling.PutLifecycleHook: instance Selector S1_0_3PutLifecycleHook
+ Network.AWS.AutoScaling.PutLifecycleHook: instance Selector S1_0_4PutLifecycleHook
+ Network.AWS.AutoScaling.PutLifecycleHook: instance Selector S1_0_5PutLifecycleHook
+ Network.AWS.AutoScaling.PutLifecycleHook: instance Selector S1_0_6PutLifecycleHook
+ Network.AWS.AutoScaling.PutLifecycleHook: instance Selector S1_0_7PutLifecycleHook
+ Network.AWS.AutoScaling.PutLifecycleHook: instance Typeable PutLifecycleHook
+ Network.AWS.AutoScaling.PutLifecycleHook: instance Typeable PutLifecycleHookResponse
+ Network.AWS.AutoScaling.PutLifecycleHook: plhrsStatus :: Lens' PutLifecycleHookResponse Int
+ Network.AWS.AutoScaling.PutNotificationConfiguration: instance Constructor C1_0PutNotificationConfiguration
+ Network.AWS.AutoScaling.PutNotificationConfiguration: instance Data PutNotificationConfiguration
+ Network.AWS.AutoScaling.PutNotificationConfiguration: instance Data PutNotificationConfigurationResponse
+ Network.AWS.AutoScaling.PutNotificationConfiguration: instance Datatype D1PutNotificationConfiguration
+ Network.AWS.AutoScaling.PutNotificationConfiguration: instance Generic PutNotificationConfiguration
+ Network.AWS.AutoScaling.PutNotificationConfiguration: instance Selector S1_0_0PutNotificationConfiguration
+ Network.AWS.AutoScaling.PutNotificationConfiguration: instance Selector S1_0_1PutNotificationConfiguration
+ Network.AWS.AutoScaling.PutNotificationConfiguration: instance Selector S1_0_2PutNotificationConfiguration
+ Network.AWS.AutoScaling.PutNotificationConfiguration: instance Typeable PutNotificationConfiguration
+ Network.AWS.AutoScaling.PutNotificationConfiguration: instance Typeable PutNotificationConfigurationResponse
+ Network.AWS.AutoScaling.PutScalingPolicy: instance Constructor C1_0PutScalingPolicy
+ Network.AWS.AutoScaling.PutScalingPolicy: instance Constructor C1_0PutScalingPolicyResponse
+ Network.AWS.AutoScaling.PutScalingPolicy: instance Data PutScalingPolicy
+ Network.AWS.AutoScaling.PutScalingPolicy: instance Data PutScalingPolicyResponse
+ Network.AWS.AutoScaling.PutScalingPolicy: instance Datatype D1PutScalingPolicy
+ Network.AWS.AutoScaling.PutScalingPolicy: instance Datatype D1PutScalingPolicyResponse
+ Network.AWS.AutoScaling.PutScalingPolicy: instance Generic PutScalingPolicy
+ Network.AWS.AutoScaling.PutScalingPolicy: instance Generic PutScalingPolicyResponse
+ Network.AWS.AutoScaling.PutScalingPolicy: instance Selector S1_0_0PutScalingPolicy
+ Network.AWS.AutoScaling.PutScalingPolicy: instance Selector S1_0_0PutScalingPolicyResponse
+ Network.AWS.AutoScaling.PutScalingPolicy: instance Selector S1_0_10PutScalingPolicy
+ Network.AWS.AutoScaling.PutScalingPolicy: instance Selector S1_0_1PutScalingPolicy
+ Network.AWS.AutoScaling.PutScalingPolicy: instance Selector S1_0_1PutScalingPolicyResponse
+ Network.AWS.AutoScaling.PutScalingPolicy: instance Selector S1_0_2PutScalingPolicy
+ Network.AWS.AutoScaling.PutScalingPolicy: instance Selector S1_0_3PutScalingPolicy
+ Network.AWS.AutoScaling.PutScalingPolicy: instance Selector S1_0_4PutScalingPolicy
+ Network.AWS.AutoScaling.PutScalingPolicy: instance Selector S1_0_5PutScalingPolicy
+ Network.AWS.AutoScaling.PutScalingPolicy: instance Selector S1_0_6PutScalingPolicy
+ Network.AWS.AutoScaling.PutScalingPolicy: instance Selector S1_0_7PutScalingPolicy
+ Network.AWS.AutoScaling.PutScalingPolicy: instance Selector S1_0_8PutScalingPolicy
+ Network.AWS.AutoScaling.PutScalingPolicy: instance Selector S1_0_9PutScalingPolicy
+ Network.AWS.AutoScaling.PutScalingPolicy: instance Typeable PutScalingPolicy
+ Network.AWS.AutoScaling.PutScalingPolicy: instance Typeable PutScalingPolicyResponse
+ Network.AWS.AutoScaling.PutScalingPolicy: pspEstimatedInstanceWarmup :: Lens' PutScalingPolicy (Maybe Int)
+ Network.AWS.AutoScaling.PutScalingPolicy: pspMetricAggregationType :: Lens' PutScalingPolicy (Maybe Text)
+ Network.AWS.AutoScaling.PutScalingPolicy: pspMinAdjustmentMagnitude :: Lens' PutScalingPolicy (Maybe Int)
+ Network.AWS.AutoScaling.PutScalingPolicy: pspPolicyType :: Lens' PutScalingPolicy (Maybe Text)
+ Network.AWS.AutoScaling.PutScalingPolicy: pspStepAdjustments :: Lens' PutScalingPolicy [StepAdjustment]
+ Network.AWS.AutoScaling.PutScalingPolicy: psprsPolicyARN :: Lens' PutScalingPolicyResponse (Maybe Text)
+ Network.AWS.AutoScaling.PutScalingPolicy: psprsStatus :: Lens' PutScalingPolicyResponse Int
+ Network.AWS.AutoScaling.PutScheduledUpdateGroupAction: instance Constructor C1_0PutScheduledUpdateGroupAction
+ Network.AWS.AutoScaling.PutScheduledUpdateGroupAction: instance Data PutScheduledUpdateGroupAction
+ Network.AWS.AutoScaling.PutScheduledUpdateGroupAction: instance Data PutScheduledUpdateGroupActionResponse
+ Network.AWS.AutoScaling.PutScheduledUpdateGroupAction: instance Datatype D1PutScheduledUpdateGroupAction
+ Network.AWS.AutoScaling.PutScheduledUpdateGroupAction: instance Generic PutScheduledUpdateGroupAction
+ Network.AWS.AutoScaling.PutScheduledUpdateGroupAction: instance Selector S1_0_0PutScheduledUpdateGroupAction
+ Network.AWS.AutoScaling.PutScheduledUpdateGroupAction: instance Selector S1_0_1PutScheduledUpdateGroupAction
+ Network.AWS.AutoScaling.PutScheduledUpdateGroupAction: instance Selector S1_0_2PutScheduledUpdateGroupAction
+ Network.AWS.AutoScaling.PutScheduledUpdateGroupAction: instance Selector S1_0_3PutScheduledUpdateGroupAction
+ Network.AWS.AutoScaling.PutScheduledUpdateGroupAction: instance Selector S1_0_4PutScheduledUpdateGroupAction
+ Network.AWS.AutoScaling.PutScheduledUpdateGroupAction: instance Selector S1_0_5PutScheduledUpdateGroupAction
+ Network.AWS.AutoScaling.PutScheduledUpdateGroupAction: instance Selector S1_0_6PutScheduledUpdateGroupAction
+ Network.AWS.AutoScaling.PutScheduledUpdateGroupAction: instance Selector S1_0_7PutScheduledUpdateGroupAction
+ Network.AWS.AutoScaling.PutScheduledUpdateGroupAction: instance Selector S1_0_8PutScheduledUpdateGroupAction
+ Network.AWS.AutoScaling.PutScheduledUpdateGroupAction: instance Typeable PutScheduledUpdateGroupAction
+ Network.AWS.AutoScaling.PutScheduledUpdateGroupAction: instance Typeable PutScheduledUpdateGroupActionResponse
+ Network.AWS.AutoScaling.RecordLifecycleActionHeartbeat: instance Constructor C1_0RecordLifecycleActionHeartbeat
+ Network.AWS.AutoScaling.RecordLifecycleActionHeartbeat: instance Data RecordLifecycleActionHeartbeat
+ Network.AWS.AutoScaling.RecordLifecycleActionHeartbeat: instance Data RecordLifecycleActionHeartbeatResponse
+ Network.AWS.AutoScaling.RecordLifecycleActionHeartbeat: instance Datatype D1RecordLifecycleActionHeartbeat
+ Network.AWS.AutoScaling.RecordLifecycleActionHeartbeat: instance Generic RecordLifecycleActionHeartbeat
+ Network.AWS.AutoScaling.RecordLifecycleActionHeartbeat: instance Selector S1_0_0RecordLifecycleActionHeartbeat
+ Network.AWS.AutoScaling.RecordLifecycleActionHeartbeat: instance Selector S1_0_0RecordLifecycleActionHeartbeatResponse
+ Network.AWS.AutoScaling.RecordLifecycleActionHeartbeat: instance Selector S1_0_1RecordLifecycleActionHeartbeat
+ Network.AWS.AutoScaling.RecordLifecycleActionHeartbeat: instance Selector S1_0_2RecordLifecycleActionHeartbeat
+ Network.AWS.AutoScaling.RecordLifecycleActionHeartbeat: instance Typeable RecordLifecycleActionHeartbeat
+ Network.AWS.AutoScaling.RecordLifecycleActionHeartbeat: instance Typeable RecordLifecycleActionHeartbeatResponse
+ Network.AWS.AutoScaling.RecordLifecycleActionHeartbeat: rlahrsStatus :: Lens' RecordLifecycleActionHeartbeatResponse Int
+ Network.AWS.AutoScaling.ResumeProcesses: instance Constructor C1_0ResumeProcesses
+ Network.AWS.AutoScaling.ResumeProcesses: instance Data ResumeProcesses
+ Network.AWS.AutoScaling.ResumeProcesses: instance Data ResumeProcessesResponse
+ Network.AWS.AutoScaling.ResumeProcesses: instance Datatype D1ResumeProcesses
+ Network.AWS.AutoScaling.ResumeProcesses: instance Generic ResumeProcesses
+ Network.AWS.AutoScaling.ResumeProcesses: instance Selector S1_0_0ResumeProcesses
+ Network.AWS.AutoScaling.ResumeProcesses: instance Selector S1_0_1ResumeProcesses
+ Network.AWS.AutoScaling.ResumeProcesses: instance Typeable ResumeProcesses
+ Network.AWS.AutoScaling.ResumeProcesses: instance Typeable ResumeProcessesResponse
+ Network.AWS.AutoScaling.SetDesiredCapacity: instance Constructor C1_0SetDesiredCapacity
+ Network.AWS.AutoScaling.SetDesiredCapacity: instance Data SetDesiredCapacity
+ Network.AWS.AutoScaling.SetDesiredCapacity: instance Data SetDesiredCapacityResponse
+ Network.AWS.AutoScaling.SetDesiredCapacity: instance Datatype D1SetDesiredCapacity
+ Network.AWS.AutoScaling.SetDesiredCapacity: instance Generic SetDesiredCapacity
+ Network.AWS.AutoScaling.SetDesiredCapacity: instance Selector S1_0_0SetDesiredCapacity
+ Network.AWS.AutoScaling.SetDesiredCapacity: instance Selector S1_0_1SetDesiredCapacity
+ Network.AWS.AutoScaling.SetDesiredCapacity: instance Selector S1_0_2SetDesiredCapacity
+ Network.AWS.AutoScaling.SetDesiredCapacity: instance Typeable SetDesiredCapacity
+ Network.AWS.AutoScaling.SetDesiredCapacity: instance Typeable SetDesiredCapacityResponse
+ Network.AWS.AutoScaling.SetInstanceHealth: instance Constructor C1_0SetInstanceHealth
+ Network.AWS.AutoScaling.SetInstanceHealth: instance Data SetInstanceHealth
+ Network.AWS.AutoScaling.SetInstanceHealth: instance Data SetInstanceHealthResponse
+ Network.AWS.AutoScaling.SetInstanceHealth: instance Datatype D1SetInstanceHealth
+ Network.AWS.AutoScaling.SetInstanceHealth: instance Generic SetInstanceHealth
+ Network.AWS.AutoScaling.SetInstanceHealth: instance Selector S1_0_0SetInstanceHealth
+ Network.AWS.AutoScaling.SetInstanceHealth: instance Selector S1_0_1SetInstanceHealth
+ Network.AWS.AutoScaling.SetInstanceHealth: instance Selector S1_0_2SetInstanceHealth
+ Network.AWS.AutoScaling.SetInstanceHealth: instance Typeable SetInstanceHealth
+ Network.AWS.AutoScaling.SetInstanceHealth: instance Typeable SetInstanceHealthResponse
+ Network.AWS.AutoScaling.SuspendProcesses: instance Constructor C1_0SuspendProcesses
+ Network.AWS.AutoScaling.SuspendProcesses: instance Data SuspendProcesses
+ Network.AWS.AutoScaling.SuspendProcesses: instance Data SuspendProcessesResponse
+ Network.AWS.AutoScaling.SuspendProcesses: instance Datatype D1SuspendProcesses
+ Network.AWS.AutoScaling.SuspendProcesses: instance Generic SuspendProcesses
+ Network.AWS.AutoScaling.SuspendProcesses: instance Selector S1_0_0SuspendProcesses
+ Network.AWS.AutoScaling.SuspendProcesses: instance Selector S1_0_1SuspendProcesses
+ Network.AWS.AutoScaling.SuspendProcesses: instance Typeable SuspendProcesses
+ Network.AWS.AutoScaling.SuspendProcesses: instance Typeable SuspendProcessesResponse
+ Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup: instance Constructor C1_0TerminateInstanceInAutoScalingGroup
+ Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup: instance Constructor C1_0TerminateInstanceInAutoScalingGroupResponse
+ Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup: instance Data TerminateInstanceInAutoScalingGroup
+ Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup: instance Data TerminateInstanceInAutoScalingGroupResponse
+ Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup: instance Datatype D1TerminateInstanceInAutoScalingGroup
+ Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup: instance Datatype D1TerminateInstanceInAutoScalingGroupResponse
+ Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup: instance Generic TerminateInstanceInAutoScalingGroup
+ Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup: instance Generic TerminateInstanceInAutoScalingGroupResponse
+ Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup: instance Selector S1_0_0TerminateInstanceInAutoScalingGroup
+ Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup: instance Selector S1_0_0TerminateInstanceInAutoScalingGroupResponse
+ Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup: instance Selector S1_0_1TerminateInstanceInAutoScalingGroup
+ Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup: instance Selector S1_0_1TerminateInstanceInAutoScalingGroupResponse
+ Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup: instance Typeable TerminateInstanceInAutoScalingGroup
+ Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup: instance Typeable TerminateInstanceInAutoScalingGroupResponse
+ Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup: tiiasgrsActivity :: Lens' TerminateInstanceInAutoScalingGroupResponse (Maybe Activity)
+ Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup: tiiasgrsStatus :: Lens' TerminateInstanceInAutoScalingGroupResponse Int
+ Network.AWS.AutoScaling.Types: WaitingForInstanceWarmup :: ScalingActivityStatusCode
+ Network.AWS.AutoScaling.Types: _AlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.AutoScaling.Types: _InvalidNextToken :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.AutoScaling.Types: _LimitExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.AutoScaling.Types: _ResourceContentionFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.AutoScaling.Types: _ResourceInUseFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.AutoScaling.Types: _ScalingActivityInProgressFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.AutoScaling.Types: bdmEBS :: Lens' BlockDeviceMapping (Maybe EBS)
+ Network.AWS.AutoScaling.Types: data EBS
+ Network.AWS.AutoScaling.Types: data LoadBalancerState
+ Network.AWS.AutoScaling.Types: data StepAdjustment
+ Network.AWS.AutoScaling.Types: ebsIOPS :: Lens' EBS (Maybe Natural)
+ Network.AWS.AutoScaling.Types: lbsLoadBalancerName :: Lens' LoadBalancerState (Maybe Text)
+ Network.AWS.AutoScaling.Types: lbsState :: Lens' LoadBalancerState (Maybe Text)
+ Network.AWS.AutoScaling.Types: lcAssociatePublicIPAddress :: Lens' LaunchConfiguration (Maybe Bool)
+ Network.AWS.AutoScaling.Types: lcEBSOptimized :: Lens' LaunchConfiguration (Maybe Bool)
+ Network.AWS.AutoScaling.Types: lcIAMInstanceProfile :: Lens' LaunchConfiguration (Maybe Text)
+ Network.AWS.AutoScaling.Types: lcRAMDiskId :: Lens' LaunchConfiguration (Maybe Text)
+ Network.AWS.AutoScaling.Types: loadBalancerState :: LoadBalancerState
+ Network.AWS.AutoScaling.Types: sAdjustmentType :: Lens' ScalingPolicy (Maybe Text)
+ Network.AWS.AutoScaling.Types: sAlarms :: Lens' ScalingPolicy [Alarm]
+ Network.AWS.AutoScaling.Types: sAutoScalingGroupName :: Lens' ScalingPolicy (Maybe Text)
+ Network.AWS.AutoScaling.Types: sCooldown :: Lens' ScalingPolicy (Maybe Int)
+ Network.AWS.AutoScaling.Types: sEstimatedInstanceWarmup :: Lens' ScalingPolicy (Maybe Int)
+ Network.AWS.AutoScaling.Types: sMetricAggregationType :: Lens' ScalingPolicy (Maybe Text)
+ Network.AWS.AutoScaling.Types: sMinAdjustmentMagnitude :: Lens' ScalingPolicy (Maybe Int)
+ Network.AWS.AutoScaling.Types: sMinAdjustmentStep :: Lens' ScalingPolicy (Maybe Int)
+ Network.AWS.AutoScaling.Types: sPolicyARN :: Lens' ScalingPolicy (Maybe Text)
+ Network.AWS.AutoScaling.Types: sPolicyName :: Lens' ScalingPolicy (Maybe Text)
+ Network.AWS.AutoScaling.Types: sPolicyType :: Lens' ScalingPolicy (Maybe Text)
+ Network.AWS.AutoScaling.Types: sScalingAdjustment :: Lens' ScalingPolicy (Maybe Int)
+ Network.AWS.AutoScaling.Types: sStepAdjustments :: Lens' ScalingPolicy [StepAdjustment]
+ Network.AWS.AutoScaling.Types: saMetricIntervalLowerBound :: Lens' StepAdjustment (Maybe Double)
+ Network.AWS.AutoScaling.Types: saMetricIntervalUpperBound :: Lens' StepAdjustment (Maybe Double)
+ Network.AWS.AutoScaling.Types: saScalingAdjustment :: Lens' StepAdjustment Int
+ Network.AWS.AutoScaling.Types: stepAdjustment :: Int -> StepAdjustment
+ Network.AWS.AutoScaling.UpdateAutoScalingGroup: instance Constructor C1_0UpdateAutoScalingGroup
+ Network.AWS.AutoScaling.UpdateAutoScalingGroup: instance Data UpdateAutoScalingGroup
+ Network.AWS.AutoScaling.UpdateAutoScalingGroup: instance Data UpdateAutoScalingGroupResponse
+ Network.AWS.AutoScaling.UpdateAutoScalingGroup: instance Datatype D1UpdateAutoScalingGroup
+ Network.AWS.AutoScaling.UpdateAutoScalingGroup: instance Generic UpdateAutoScalingGroup
+ Network.AWS.AutoScaling.UpdateAutoScalingGroup: instance Selector S1_0_0UpdateAutoScalingGroup
+ Network.AWS.AutoScaling.UpdateAutoScalingGroup: instance Selector S1_0_10UpdateAutoScalingGroup
+ Network.AWS.AutoScaling.UpdateAutoScalingGroup: instance Selector S1_0_11UpdateAutoScalingGroup
+ Network.AWS.AutoScaling.UpdateAutoScalingGroup: instance Selector S1_0_1UpdateAutoScalingGroup
+ Network.AWS.AutoScaling.UpdateAutoScalingGroup: instance Selector S1_0_2UpdateAutoScalingGroup
+ Network.AWS.AutoScaling.UpdateAutoScalingGroup: instance Selector S1_0_3UpdateAutoScalingGroup
+ Network.AWS.AutoScaling.UpdateAutoScalingGroup: instance Selector S1_0_4UpdateAutoScalingGroup
+ Network.AWS.AutoScaling.UpdateAutoScalingGroup: instance Selector S1_0_5UpdateAutoScalingGroup
+ Network.AWS.AutoScaling.UpdateAutoScalingGroup: instance Selector S1_0_6UpdateAutoScalingGroup
+ Network.AWS.AutoScaling.UpdateAutoScalingGroup: instance Selector S1_0_7UpdateAutoScalingGroup
+ Network.AWS.AutoScaling.UpdateAutoScalingGroup: instance Selector S1_0_8UpdateAutoScalingGroup
+ Network.AWS.AutoScaling.UpdateAutoScalingGroup: instance Selector S1_0_9UpdateAutoScalingGroup
+ Network.AWS.AutoScaling.UpdateAutoScalingGroup: instance Typeable UpdateAutoScalingGroup
+ Network.AWS.AutoScaling.UpdateAutoScalingGroup: instance Typeable UpdateAutoScalingGroupResponse
- Network.AWS.AutoScaling.CompleteLifecycleAction: completeLifecycleActionResponse :: CompleteLifecycleActionResponse
+ Network.AWS.AutoScaling.CompleteLifecycleAction: completeLifecycleActionResponse :: Int -> CompleteLifecycleActionResponse
- Network.AWS.AutoScaling.CreateAutoScalingGroup: casgAvailabilityZones :: Lens' CreateAutoScalingGroup (NonEmpty Text)
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: casgAvailabilityZones :: Lens' CreateAutoScalingGroup (Maybe (NonEmpty Text))
- Network.AWS.AutoScaling.CreateAutoScalingGroup: createAutoScalingGroup :: Text -> Int -> Int -> NonEmpty Text -> CreateAutoScalingGroup
+ Network.AWS.AutoScaling.CreateAutoScalingGroup: createAutoScalingGroup :: Text -> Int -> Int -> CreateAutoScalingGroup
- Network.AWS.AutoScaling.DeleteLifecycleHook: deleteLifecycleHookResponse :: DeleteLifecycleHookResponse
+ Network.AWS.AutoScaling.DeleteLifecycleHook: deleteLifecycleHookResponse :: Int -> DeleteLifecycleHookResponse
- Network.AWS.AutoScaling.DescribeAccountLimits: describeAccountLimitsResponse :: DescribeAccountLimitsResponse
+ Network.AWS.AutoScaling.DescribeAccountLimits: describeAccountLimitsResponse :: Int -> DescribeAccountLimitsResponse
- Network.AWS.AutoScaling.DescribeAdjustmentTypes: describeAdjustmentTypesResponse :: DescribeAdjustmentTypesResponse
+ Network.AWS.AutoScaling.DescribeAdjustmentTypes: describeAdjustmentTypesResponse :: Int -> DescribeAdjustmentTypesResponse
- Network.AWS.AutoScaling.DescribeAutoScalingGroups: describeAutoScalingGroupsResponse :: DescribeAutoScalingGroupsResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingGroups: describeAutoScalingGroupsResponse :: Int -> DescribeAutoScalingGroupsResponse
- Network.AWS.AutoScaling.DescribeAutoScalingInstances: describeAutoScalingInstancesResponse :: DescribeAutoScalingInstancesResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingInstances: describeAutoScalingInstancesResponse :: Int -> DescribeAutoScalingInstancesResponse
- Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes: describeAutoScalingNotificationTypesResponse :: DescribeAutoScalingNotificationTypesResponse
+ Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes: describeAutoScalingNotificationTypesResponse :: Int -> DescribeAutoScalingNotificationTypesResponse
- Network.AWS.AutoScaling.DescribeLaunchConfigurations: describeLaunchConfigurationsResponse :: DescribeLaunchConfigurationsResponse
+ Network.AWS.AutoScaling.DescribeLaunchConfigurations: describeLaunchConfigurationsResponse :: Int -> DescribeLaunchConfigurationsResponse
- Network.AWS.AutoScaling.DescribeLifecycleHookTypes: describeLifecycleHookTypesResponse :: DescribeLifecycleHookTypesResponse
+ Network.AWS.AutoScaling.DescribeLifecycleHookTypes: describeLifecycleHookTypesResponse :: Int -> DescribeLifecycleHookTypesResponse
- Network.AWS.AutoScaling.DescribeLifecycleHooks: describeLifecycleHooksResponse :: DescribeLifecycleHooksResponse
+ Network.AWS.AutoScaling.DescribeLifecycleHooks: describeLifecycleHooksResponse :: Int -> DescribeLifecycleHooksResponse
- Network.AWS.AutoScaling.DescribeMetricCollectionTypes: describeMetricCollectionTypesResponse :: DescribeMetricCollectionTypesResponse
+ Network.AWS.AutoScaling.DescribeMetricCollectionTypes: describeMetricCollectionTypesResponse :: Int -> DescribeMetricCollectionTypesResponse
- Network.AWS.AutoScaling.DescribeNotificationConfigurations: describeNotificationConfigurationsResponse :: DescribeNotificationConfigurationsResponse
+ Network.AWS.AutoScaling.DescribeNotificationConfigurations: describeNotificationConfigurationsResponse :: Int -> DescribeNotificationConfigurationsResponse
- Network.AWS.AutoScaling.DescribePolicies: describePoliciesResponse :: DescribePoliciesResponse
+ Network.AWS.AutoScaling.DescribePolicies: describePoliciesResponse :: Int -> DescribePoliciesResponse
- Network.AWS.AutoScaling.DescribeScalingActivities: describeScalingActivitiesResponse :: DescribeScalingActivitiesResponse
+ Network.AWS.AutoScaling.DescribeScalingActivities: describeScalingActivitiesResponse :: Int -> DescribeScalingActivitiesResponse
- Network.AWS.AutoScaling.DescribeScalingProcessTypes: describeScalingProcessTypesResponse :: DescribeScalingProcessTypesResponse
+ Network.AWS.AutoScaling.DescribeScalingProcessTypes: describeScalingProcessTypesResponse :: Int -> DescribeScalingProcessTypesResponse
- Network.AWS.AutoScaling.DescribeScheduledActions: describeScheduledActionsResponse :: DescribeScheduledActionsResponse
+ Network.AWS.AutoScaling.DescribeScheduledActions: describeScheduledActionsResponse :: Int -> DescribeScheduledActionsResponse
- Network.AWS.AutoScaling.DescribeTags: describeTagsResponse :: DescribeTagsResponse
+ Network.AWS.AutoScaling.DescribeTags: describeTagsResponse :: Int -> DescribeTagsResponse
- Network.AWS.AutoScaling.DescribeTerminationPolicyTypes: describeTerminationPolicyTypesResponse :: DescribeTerminationPolicyTypesResponse
+ Network.AWS.AutoScaling.DescribeTerminationPolicyTypes: describeTerminationPolicyTypesResponse :: Int -> DescribeTerminationPolicyTypesResponse
- Network.AWS.AutoScaling.DetachInstances: detachInstancesResponse :: DetachInstancesResponse
+ Network.AWS.AutoScaling.DetachInstances: detachInstancesResponse :: Int -> DetachInstancesResponse
- Network.AWS.AutoScaling.EnterStandby: enterStandbyResponse :: EnterStandbyResponse
+ Network.AWS.AutoScaling.EnterStandby: enterStandbyResponse :: Int -> EnterStandbyResponse
- Network.AWS.AutoScaling.ExitStandby: exitStandbyResponse :: ExitStandbyResponse
+ Network.AWS.AutoScaling.ExitStandby: exitStandbyResponse :: Int -> ExitStandbyResponse
- Network.AWS.AutoScaling.PutLifecycleHook: putLifecycleHookResponse :: PutLifecycleHookResponse
+ Network.AWS.AutoScaling.PutLifecycleHook: putLifecycleHookResponse :: Int -> PutLifecycleHookResponse
- Network.AWS.AutoScaling.PutScalingPolicy: pspScalingAdjustment :: Lens' PutScalingPolicy Int
+ Network.AWS.AutoScaling.PutScalingPolicy: pspScalingAdjustment :: Lens' PutScalingPolicy (Maybe Int)
- Network.AWS.AutoScaling.PutScalingPolicy: putScalingPolicy :: Text -> Text -> Int -> Text -> PutScalingPolicy
+ Network.AWS.AutoScaling.PutScalingPolicy: putScalingPolicy :: Text -> Text -> Text -> PutScalingPolicy
- Network.AWS.AutoScaling.PutScalingPolicy: putScalingPolicyResponse :: PutScalingPolicyResponse
+ Network.AWS.AutoScaling.PutScalingPolicy: putScalingPolicyResponse :: Int -> PutScalingPolicyResponse
- Network.AWS.AutoScaling.RecordLifecycleActionHeartbeat: recordLifecycleActionHeartbeatResponse :: RecordLifecycleActionHeartbeatResponse
+ Network.AWS.AutoScaling.RecordLifecycleActionHeartbeat: recordLifecycleActionHeartbeatResponse :: Int -> RecordLifecycleActionHeartbeatResponse
- Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup: terminateInstanceInAutoScalingGroupResponse :: TerminateInstanceInAutoScalingGroupResponse
+ Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup: terminateInstanceInAutoScalingGroupResponse :: Int -> TerminateInstanceInAutoScalingGroupResponse
- Network.AWS.AutoScaling.Types: ebs :: Ebs
+ Network.AWS.AutoScaling.Types: ebs :: EBS
- Network.AWS.AutoScaling.Types: ebsDeleteOnTermination :: Lens' Ebs (Maybe Bool)
+ Network.AWS.AutoScaling.Types: ebsDeleteOnTermination :: Lens' EBS (Maybe Bool)
- Network.AWS.AutoScaling.Types: ebsSnapshotId :: Lens' Ebs (Maybe Text)
+ Network.AWS.AutoScaling.Types: ebsSnapshotId :: Lens' EBS (Maybe Text)
- Network.AWS.AutoScaling.Types: ebsVolumeSize :: Lens' Ebs (Maybe Natural)
+ Network.AWS.AutoScaling.Types: ebsVolumeSize :: Lens' EBS (Maybe Natural)
- Network.AWS.AutoScaling.Types: ebsVolumeType :: Lens' Ebs (Maybe Text)
+ Network.AWS.AutoScaling.Types: ebsVolumeType :: Lens' EBS (Maybe Text)
- Network.AWS.AutoScaling.Types: tag :: Text -> Text -> Text -> Text -> Bool -> Tag
+ Network.AWS.AutoScaling.Types: tag :: Text -> Text -> Text -> Bool -> Text -> Tag
- Network.AWS.AutoScaling.Types: tagDescription :: Text -> Text -> Text -> Text -> Bool -> TagDescription
+ Network.AWS.AutoScaling.Types: tagDescription :: Text -> Text -> Text -> Bool -> Text -> TagDescription
- Network.AWS.AutoScaling.UpdateAutoScalingGroup: uasgAvailabilityZones :: Lens' UpdateAutoScalingGroup (NonEmpty Text)
+ Network.AWS.AutoScaling.UpdateAutoScalingGroup: uasgAvailabilityZones :: Lens' UpdateAutoScalingGroup (Maybe (NonEmpty Text))
- Network.AWS.AutoScaling.UpdateAutoScalingGroup: updateAutoScalingGroup :: Text -> NonEmpty Text -> UpdateAutoScalingGroup
+ Network.AWS.AutoScaling.UpdateAutoScalingGroup: updateAutoScalingGroup :: Text -> UpdateAutoScalingGroup

Files

README.md view
@@ -1,25 +1,36 @@ # Amazon Auto Scaling SDK -> _Warning:_ This is an experimental preview release which is still under heavy development and not intended for public consumption, _caveat emptor_!-+* [Version](#version) * [Description](#description) * [Contribute](#contribute) * [Licence](#licence) ++## Version++`1.0.0`++ ## Description -Auto Scaling allows you to scale your Amazon EC2 capacity up or down-automatically according to conditions you define. With Auto Scaling, you can-ensure that the number of Amazon EC2 instances you’re using increases-seamlessly during demand spikes to maintain performance, and decreases-automatically during demand lulls to minimize costs. Auto Scaling is-particularly well suited for applications that experience hourly, daily, or-weekly variability in usage. Auto Scaling is enabled by Amazon CloudWatch and-available at no additional charge beyond Amazon CloudWatch fees.+Auto Scaling +Auto Scaling is designed to automatically launch or terminate EC2+instances based on user-defined policies, schedules, and health checks.+Use this service in conjunction with the Amazon CloudWatch and Elastic+Load Balancing services.+ Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-autoscaling) and the [AWS API Reference](http://docs.aws.amazon.com/AutoScaling/latest/APIReference/Welcome.html). +The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),+which provides mechanisms for specifying AuthN/AuthZ information and sending requests.++Use of lenses is required for constructing and manipulating types.+This is due to the amount of nesting of AWS types and transparency regarding+de/serialisation into more palatable Haskell values.+The provided lenses should be compatible with any of the major lens libraries+[lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).  ## Contribute 
amazonka-autoscaling.cabal view
@@ -1,32 +1,38 @@ name:                  amazonka-autoscaling-version:               0.3.6+version:               1.0.0 synopsis:              Amazon Auto Scaling SDK. homepage:              https://github.com/brendanhay/amazonka license:               OtherLicense license-file:          LICENSE author:                Brendan Hay maintainer:            Brendan Hay <brendan.g.hay@gmail.com>-copyright:             Copyright (c) 2013-2014 Brendan Hay+copyright:             Copyright (c) 2013-2015 Brendan Hay category:              Network, AWS, Cloud, Distributed Computing build-type:            Simple extra-source-files:    README.md cabal-version:         >= 1.10  description:-    Auto Scaling allows you to scale your Amazon EC2 capacity up or down-    automatically according to conditions you define. With Auto Scaling, you can-    ensure that the number of Amazon EC2 instances you’re using increases-    seamlessly during demand spikes to maintain performance, and decreases-    automatically during demand lulls to minimize costs. Auto Scaling is-    particularly well suited for applications that experience hourly, daily, or-    weekly variability in usage. Auto Scaling is enabled by Amazon CloudWatch and-    available at no additional charge beyond Amazon CloudWatch fees.+    Auto Scaling +    Auto Scaling is designed to automatically launch or terminate EC2+    instances based on user-defined policies, schedules, and health checks.+    Use this service in conjunction with the Amazon CloudWatch and Elastic+    Load Balancing services.     .-    /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/Welcome.html AWS API Reference>+    The types from this library are intended to be used with+    <http://hackage.haskell.org/package/amazonka amazonka>, which provides+    mechanisms for specifying AuthN/AuthZ information and sending requests.     .-    /Warning:/ This is an experimental preview release which is still under-    heavy development and not intended for public consumption, caveat emptor!+    Use of lenses is required for constructing and manipulating types.+    This is due to the amount of nesting of AWS types and transparency regarding+    de/serialisation into more palatable Haskell values.+    The provided lenses should be compatible with any of the major lens libraries+    such as <http://hackage.haskell.org/package/lens lens> or+    <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+    .+    See "Network.AWS.AutoScaling" and the <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/Welcome.html AWS API Reference>+    to get started.  source-repository head     type:     git@@ -41,6 +47,7 @@     exposed-modules:           Network.AWS.AutoScaling         , Network.AWS.AutoScaling.AttachInstances+        , Network.AWS.AutoScaling.AttachLoadBalancers         , Network.AWS.AutoScaling.CompleteLifecycleAction         , Network.AWS.AutoScaling.CreateAutoScalingGroup         , Network.AWS.AutoScaling.CreateLaunchConfiguration@@ -60,6 +67,7 @@         , Network.AWS.AutoScaling.DescribeLaunchConfigurations         , Network.AWS.AutoScaling.DescribeLifecycleHookTypes         , Network.AWS.AutoScaling.DescribeLifecycleHooks+        , Network.AWS.AutoScaling.DescribeLoadBalancers         , Network.AWS.AutoScaling.DescribeMetricCollectionTypes         , Network.AWS.AutoScaling.DescribeNotificationConfigurations         , Network.AWS.AutoScaling.DescribePolicies@@ -69,6 +77,7 @@         , Network.AWS.AutoScaling.DescribeTags         , Network.AWS.AutoScaling.DescribeTerminationPolicyTypes         , Network.AWS.AutoScaling.DetachInstances+        , Network.AWS.AutoScaling.DetachLoadBalancers         , Network.AWS.AutoScaling.DisableMetricsCollection         , Network.AWS.AutoScaling.EnableMetricsCollection         , Network.AWS.AutoScaling.EnterStandby@@ -86,9 +95,40 @@         , Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup         , Network.AWS.AutoScaling.Types         , Network.AWS.AutoScaling.UpdateAutoScalingGroup+        , Network.AWS.AutoScaling.Waiters      other-modules:+          Network.AWS.AutoScaling.Types.Product+        , Network.AWS.AutoScaling.Types.Sum      build-depends:-          amazonka-core == 0.3.6.*+          amazonka-core == 1.0.0.*         , base          >= 4.7     && < 5++test-suite amazonka-autoscaling-test+    type:              exitcode-stdio-1.0+    default-language:  Haskell2010+    hs-source-dirs:    test+    main-is:           Main.hs++    ghc-options:       -Wall -threaded++    -- This is not comprehensive if modules have manually been added.+    -- It exists to ensure cabal 'somewhat' detects test module changes.+    other-modules:+          Test.AWS.AutoScaling+        , Test.AWS.Gen.AutoScaling+        , Test.AWS.AutoScaling.Internal++    build-depends:+          amazonka-core == 1.0.0+        , amazonka-test == 1.0.0+        , amazonka-autoscaling == 1.0.0+        , base+        , bytestring+        , lens+        , tasty+        , tasty-hunit+        , text+        , time+        , unordered-containers
gen/Network/AWS/AutoScaling.hs view
@@ -1,115 +1,520 @@+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.AutoScaling--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Auto Scaling allows you to scale your Amazon EC2 capacity up or down--- automatically according to conditions you define. With Auto Scaling, you can--- ensure that the number of Amazon EC2 instances you’re using increases--- seamlessly during demand spikes to maintain performance, and decreases--- automatically during demand lulls to minimize costs. Auto Scaling is--- particularly well suited for applications that experience hourly, daily, or--- weekly variability in usage. Auto Scaling is enabled by Amazon CloudWatch and--- available at no additional charge beyond Amazon CloudWatch fees.+-- Auto Scaling+--+-- Auto Scaling is designed to automatically launch or terminate EC2+-- instances based on user-defined policies, schedules, and health checks.+-- Use this service in conjunction with the Amazon CloudWatch and Elastic+-- Load Balancing services.+--+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/Welcome.html AWS API Reference> module Network.AWS.AutoScaling-    ( module Network.AWS.AutoScaling.AttachInstances-    , module Network.AWS.AutoScaling.CompleteLifecycleAction-    , module Network.AWS.AutoScaling.CreateAutoScalingGroup-    , module Network.AWS.AutoScaling.CreateLaunchConfiguration-    , module Network.AWS.AutoScaling.CreateOrUpdateTags-    , module Network.AWS.AutoScaling.DeleteAutoScalingGroup-    , module Network.AWS.AutoScaling.DeleteLaunchConfiguration-    , module Network.AWS.AutoScaling.DeleteLifecycleHook-    , module Network.AWS.AutoScaling.DeleteNotificationConfiguration-    , module Network.AWS.AutoScaling.DeletePolicy-    , module Network.AWS.AutoScaling.DeleteScheduledAction-    , module Network.AWS.AutoScaling.DeleteTags-    , module Network.AWS.AutoScaling.DescribeAccountLimits-    , module Network.AWS.AutoScaling.DescribeAdjustmentTypes-    , module Network.AWS.AutoScaling.DescribeAutoScalingGroups-    , module Network.AWS.AutoScaling.DescribeAutoScalingInstances-    , module Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes-    , module Network.AWS.AutoScaling.DescribeLaunchConfigurations-    , module Network.AWS.AutoScaling.DescribeLifecycleHookTypes-    , module Network.AWS.AutoScaling.DescribeLifecycleHooks+    (+    -- * Service+      AutoScaling++    -- * Errors+    -- $errors++    -- ** LimitExceededFault+    , _LimitExceededFault++    -- ** AlreadyExistsFault+    , _AlreadyExistsFault++    -- ** ResourceInUseFault+    , _ResourceInUseFault++    -- ** InvalidNextToken+    , _InvalidNextToken++    -- ** ScalingActivityInProgressFault+    , _ScalingActivityInProgressFault++    -- ** ResourceContentionFault+    , _ResourceContentionFault++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** DescribeMetricCollectionTypes     , module Network.AWS.AutoScaling.DescribeMetricCollectionTypes-    , module Network.AWS.AutoScaling.DescribeNotificationConfigurations-    , module Network.AWS.AutoScaling.DescribePolicies-    , module Network.AWS.AutoScaling.DescribeScalingActivities-    , module Network.AWS.AutoScaling.DescribeScalingProcessTypes-    , module Network.AWS.AutoScaling.DescribeScheduledActions++    -- ** PutScalingPolicy+    , module Network.AWS.AutoScaling.PutScalingPolicy++    -- ** DeleteNotificationConfiguration+    , module Network.AWS.AutoScaling.DeleteNotificationConfiguration++    -- ** DescribeTags (Paginated)     , module Network.AWS.AutoScaling.DescribeTags++    -- ** DeleteLaunchConfiguration+    , module Network.AWS.AutoScaling.DeleteLaunchConfiguration++    -- ** DescribeLoadBalancers+    , module Network.AWS.AutoScaling.DescribeLoadBalancers++    -- ** PutNotificationConfiguration+    , module Network.AWS.AutoScaling.PutNotificationConfiguration++    -- ** SetInstanceHealth+    , module Network.AWS.AutoScaling.SetInstanceHealth++    -- ** EnterStandby+    , module Network.AWS.AutoScaling.EnterStandby++    -- ** SuspendProcesses+    , module Network.AWS.AutoScaling.SuspendProcesses++    -- ** ExitStandby+    , module Network.AWS.AutoScaling.ExitStandby++    -- ** DescribeTerminationPolicyTypes     , module Network.AWS.AutoScaling.DescribeTerminationPolicyTypes++    -- ** DescribeAutoScalingInstances (Paginated)+    , module Network.AWS.AutoScaling.DescribeAutoScalingInstances++    -- ** DetachInstances     , module Network.AWS.AutoScaling.DetachInstances++    -- ** DisableMetricsCollection     , module Network.AWS.AutoScaling.DisableMetricsCollection++    -- ** RecordLifecycleActionHeartbeat+    , module Network.AWS.AutoScaling.RecordLifecycleActionHeartbeat++    -- ** DeleteTags+    , module Network.AWS.AutoScaling.DeleteTags++    -- ** DescribeScalingProcessTypes+    , module Network.AWS.AutoScaling.DescribeScalingProcessTypes++    -- ** EnableMetricsCollection     , module Network.AWS.AutoScaling.EnableMetricsCollection-    , module Network.AWS.AutoScaling.EnterStandby-    , module Network.AWS.AutoScaling.ExecutePolicy-    , module Network.AWS.AutoScaling.ExitStandby++    -- ** DescribeLifecycleHooks+    , module Network.AWS.AutoScaling.DescribeLifecycleHooks++    -- ** DescribeAutoScalingGroups (Paginated)+    , module Network.AWS.AutoScaling.DescribeAutoScalingGroups++    -- ** SetDesiredCapacity+    , module Network.AWS.AutoScaling.SetDesiredCapacity++    -- ** DetachLoadBalancers+    , module Network.AWS.AutoScaling.DetachLoadBalancers++    -- ** DeleteScheduledAction+    , module Network.AWS.AutoScaling.DeleteScheduledAction++    -- ** CreateOrUpdateTags+    , module Network.AWS.AutoScaling.CreateOrUpdateTags++    -- ** DeletePolicy+    , module Network.AWS.AutoScaling.DeletePolicy++    -- ** DescribeAutoScalingNotificationTypes+    , module Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes++    -- ** CompleteLifecycleAction+    , module Network.AWS.AutoScaling.CompleteLifecycleAction++    -- ** AttachInstances+    , module Network.AWS.AutoScaling.AttachInstances++    -- ** DescribeScheduledActions (Paginated)+    , module Network.AWS.AutoScaling.DescribeScheduledActions++    -- ** DeleteAutoScalingGroup+    , module Network.AWS.AutoScaling.DeleteAutoScalingGroup++    -- ** PutLifecycleHook     , module Network.AWS.AutoScaling.PutLifecycleHook-    , module Network.AWS.AutoScaling.PutNotificationConfiguration-    , module Network.AWS.AutoScaling.PutScalingPolicy-    , module Network.AWS.AutoScaling.PutScheduledUpdateGroupAction-    , module Network.AWS.AutoScaling.RecordLifecycleActionHeartbeat++    -- ** UpdateAutoScalingGroup+    , module Network.AWS.AutoScaling.UpdateAutoScalingGroup++    -- ** DeleteLifecycleHook+    , module Network.AWS.AutoScaling.DeleteLifecycleHook++    -- ** ResumeProcesses     , module Network.AWS.AutoScaling.ResumeProcesses-    , module Network.AWS.AutoScaling.SetDesiredCapacity-    , module Network.AWS.AutoScaling.SetInstanceHealth-    , module Network.AWS.AutoScaling.SuspendProcesses++    -- ** ExecutePolicy+    , module Network.AWS.AutoScaling.ExecutePolicy++    -- ** TerminateInstanceInAutoScalingGroup     , module Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup-    , module Network.AWS.AutoScaling.Types-    , module Network.AWS.AutoScaling.UpdateAutoScalingGroup++    -- ** DescribeAccountLimits+    , module Network.AWS.AutoScaling.DescribeAccountLimits++    -- ** AttachLoadBalancers+    , module Network.AWS.AutoScaling.AttachLoadBalancers++    -- ** PutScheduledUpdateGroupAction+    , module Network.AWS.AutoScaling.PutScheduledUpdateGroupAction++    -- ** DescribePolicies (Paginated)+    , module Network.AWS.AutoScaling.DescribePolicies++    -- ** DescribeNotificationConfigurations (Paginated)+    , module Network.AWS.AutoScaling.DescribeNotificationConfigurations++    -- ** DescribeLaunchConfigurations (Paginated)+    , module Network.AWS.AutoScaling.DescribeLaunchConfigurations++    -- ** DescribeLifecycleHookTypes+    , module Network.AWS.AutoScaling.DescribeLifecycleHookTypes++    -- ** DescribeScalingActivities (Paginated)+    , module Network.AWS.AutoScaling.DescribeScalingActivities++    -- ** CreateAutoScalingGroup+    , module Network.AWS.AutoScaling.CreateAutoScalingGroup++    -- ** CreateLaunchConfiguration+    , module Network.AWS.AutoScaling.CreateLaunchConfiguration++    -- ** DescribeAdjustmentTypes+    , module Network.AWS.AutoScaling.DescribeAdjustmentTypes++    -- * Types++    -- ** LifecycleState+    , LifecycleState (..)++    -- ** ScalingActivityStatusCode+    , ScalingActivityStatusCode (..)++    -- ** Activity+    , Activity+    , activity+    , aProgress+    , aStatusMessage+    , aDetails+    , aEndTime+    , aDescription+    , aActivityId+    , aAutoScalingGroupName+    , aCause+    , aStartTime+    , aStatusCode++    -- ** AdjustmentType+    , AdjustmentType+    , adjustmentType+    , atAdjustmentType++    -- ** Alarm+    , Alarm+    , alarm+    , aAlarmName+    , aAlarmARN++    -- ** AutoScalingGroup+    , AutoScalingGroup+    , autoScalingGroup+    , asgStatus+    , asgTerminationPolicies+    , asgHealthCheckGracePeriod+    , asgVPCZoneIdentifier+    , asgEnabledMetrics+    , asgInstances+    , asgAutoScalingGroupARN+    , asgSuspendedProcesses+    , asgPlacementGroup+    , asgLoadBalancerNames+    , asgTags+    , asgAutoScalingGroupName+    , asgLaunchConfigurationName+    , asgMinSize+    , asgMaxSize+    , asgDesiredCapacity+    , asgDefaultCooldown+    , asgAvailabilityZones+    , asgHealthCheckType+    , asgCreatedTime++    -- ** AutoScalingInstanceDetails+    , AutoScalingInstanceDetails+    , autoScalingInstanceDetails+    , asidInstanceId+    , asidAutoScalingGroupName+    , asidAvailabilityZone+    , asidLifecycleState+    , asidHealthStatus+    , asidLaunchConfigurationName++    -- ** BlockDeviceMapping+    , BlockDeviceMapping+    , blockDeviceMapping+    , bdmVirtualName+    , bdmNoDevice+    , bdmEBS+    , bdmDeviceName++    -- ** EBS+    , EBS+    , ebs+    , ebsDeleteOnTermination+    , ebsVolumeSize+    , ebsIOPS+    , ebsVolumeType+    , ebsSnapshotId++    -- ** EnabledMetric+    , EnabledMetric+    , enabledMetric+    , emGranularity+    , emMetric++    -- ** Filter+    , Filter+    , filter'+    , fValues+    , fName++    -- ** Instance+    , Instance+    , instance'+    , iInstanceId+    , iAvailabilityZone+    , iLifecycleState+    , iHealthStatus+    , iLaunchConfigurationName++    -- ** InstanceMonitoring+    , InstanceMonitoring+    , instanceMonitoring+    , imEnabled++    -- ** LaunchConfiguration+    , LaunchConfiguration+    , launchConfiguration+    , lcSecurityGroups+    , lcAssociatePublicIPAddress+    , lcInstanceMonitoring+    , lcSpotPrice+    , lcKeyName+    , lcClassicLinkVPCSecurityGroups+    , lcRAMDiskId+    , lcKernelId+    , lcEBSOptimized+    , lcUserData+    , lcClassicLinkVPCId+    , lcIAMInstanceProfile+    , lcLaunchConfigurationARN+    , lcPlacementTenancy+    , lcBlockDeviceMappings+    , lcLaunchConfigurationName+    , lcImageId+    , lcInstanceType+    , lcCreatedTime++    -- ** LifecycleHook+    , LifecycleHook+    , lifecycleHook+    , lhDefaultResult+    , lhLifecycleHookName+    , lhHeartbeatTimeout+    , lhAutoScalingGroupName+    , lhNotificationMetadata+    , lhGlobalTimeout+    , lhRoleARN+    , lhLifecycleTransition+    , lhNotificationTargetARN++    -- ** LoadBalancerState+    , LoadBalancerState+    , loadBalancerState+    , lbsState+    , lbsLoadBalancerName++    -- ** MetricCollectionType+    , MetricCollectionType+    , metricCollectionType+    , mctMetric++    -- ** MetricGranularityType+    , MetricGranularityType+    , metricGranularityType+    , mgtGranularity++    -- ** NotificationConfiguration+    , NotificationConfiguration+    , notificationConfiguration+    , ncTopicARN+    , ncAutoScalingGroupName+    , ncNotificationType++    -- ** ProcessType+    , ProcessType+    , processType+    , ptProcessName++    -- ** ScalingPolicy+    , ScalingPolicy+    , scalingPolicy+    , sEstimatedInstanceWarmup+    , sMinAdjustmentStep+    , sPolicyName+    , sPolicyType+    , sStepAdjustments+    , sAdjustmentType+    , sScalingAdjustment+    , sAutoScalingGroupName+    , sCooldown+    , sPolicyARN+    , sAlarms+    , sMetricAggregationType+    , sMinAdjustmentMagnitude++    -- ** ScalingProcessQuery+    , ScalingProcessQuery+    , scalingProcessQuery+    , spqScalingProcesses+    , spqAutoScalingGroupName++    -- ** ScheduledUpdateGroupAction+    , ScheduledUpdateGroupAction+    , scheduledUpdateGroupAction+    , sugaScheduledActionARN+    , sugaTime+    , sugaStartTime+    , sugaScheduledActionName+    , sugaMaxSize+    , sugaDesiredCapacity+    , sugaRecurrence+    , sugaMinSize+    , sugaEndTime+    , sugaAutoScalingGroupName++    -- ** StepAdjustment+    , StepAdjustment+    , stepAdjustment+    , saMetricIntervalLowerBound+    , saMetricIntervalUpperBound+    , saScalingAdjustment++    -- ** SuspendedProcess+    , SuspendedProcess+    , suspendedProcess+    , spProcessName+    , spSuspensionReason++    -- ** Tag+    , Tag+    , tag+    , tagKey+    , tagResourceId+    , tagResourceType+    , tagPropagateAtLaunch+    , tagValue++    -- ** TagDescription+    , TagDescription+    , tagDescription+    , tdResourceId+    , tdResourceType+    , tdKey+    , tdPropagateAtLaunch+    , tdValue     ) where -import Network.AWS.AutoScaling.AttachInstances-import Network.AWS.AutoScaling.CompleteLifecycleAction-import Network.AWS.AutoScaling.CreateAutoScalingGroup-import Network.AWS.AutoScaling.CreateLaunchConfiguration-import Network.AWS.AutoScaling.CreateOrUpdateTags-import Network.AWS.AutoScaling.DeleteAutoScalingGroup-import Network.AWS.AutoScaling.DeleteLaunchConfiguration-import Network.AWS.AutoScaling.DeleteLifecycleHook-import Network.AWS.AutoScaling.DeleteNotificationConfiguration-import Network.AWS.AutoScaling.DeletePolicy-import Network.AWS.AutoScaling.DeleteScheduledAction-import Network.AWS.AutoScaling.DeleteTags-import Network.AWS.AutoScaling.DescribeAccountLimits-import Network.AWS.AutoScaling.DescribeAdjustmentTypes-import Network.AWS.AutoScaling.DescribeAutoScalingGroups-import Network.AWS.AutoScaling.DescribeAutoScalingInstances-import Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes-import Network.AWS.AutoScaling.DescribeLaunchConfigurations-import Network.AWS.AutoScaling.DescribeLifecycleHookTypes-import Network.AWS.AutoScaling.DescribeLifecycleHooks-import Network.AWS.AutoScaling.DescribeMetricCollectionTypes-import Network.AWS.AutoScaling.DescribeNotificationConfigurations-import Network.AWS.AutoScaling.DescribePolicies-import Network.AWS.AutoScaling.DescribeScalingActivities-import Network.AWS.AutoScaling.DescribeScalingProcessTypes-import Network.AWS.AutoScaling.DescribeScheduledActions-import Network.AWS.AutoScaling.DescribeTags-import Network.AWS.AutoScaling.DescribeTerminationPolicyTypes-import Network.AWS.AutoScaling.DetachInstances-import Network.AWS.AutoScaling.DisableMetricsCollection-import Network.AWS.AutoScaling.EnableMetricsCollection-import Network.AWS.AutoScaling.EnterStandby-import Network.AWS.AutoScaling.ExecutePolicy-import Network.AWS.AutoScaling.ExitStandby-import Network.AWS.AutoScaling.PutLifecycleHook-import Network.AWS.AutoScaling.PutNotificationConfiguration-import Network.AWS.AutoScaling.PutScalingPolicy-import Network.AWS.AutoScaling.PutScheduledUpdateGroupAction-import Network.AWS.AutoScaling.RecordLifecycleActionHeartbeat-import Network.AWS.AutoScaling.ResumeProcesses-import Network.AWS.AutoScaling.SetDesiredCapacity-import Network.AWS.AutoScaling.SetInstanceHealth-import Network.AWS.AutoScaling.SuspendProcesses-import Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup-import Network.AWS.AutoScaling.Types-import Network.AWS.AutoScaling.UpdateAutoScalingGroup+import           Network.AWS.AutoScaling.AttachInstances+import           Network.AWS.AutoScaling.AttachLoadBalancers+import           Network.AWS.AutoScaling.CompleteLifecycleAction+import           Network.AWS.AutoScaling.CreateAutoScalingGroup+import           Network.AWS.AutoScaling.CreateLaunchConfiguration+import           Network.AWS.AutoScaling.CreateOrUpdateTags+import           Network.AWS.AutoScaling.DeleteAutoScalingGroup+import           Network.AWS.AutoScaling.DeleteLaunchConfiguration+import           Network.AWS.AutoScaling.DeleteLifecycleHook+import           Network.AWS.AutoScaling.DeleteNotificationConfiguration+import           Network.AWS.AutoScaling.DeletePolicy+import           Network.AWS.AutoScaling.DeleteScheduledAction+import           Network.AWS.AutoScaling.DeleteTags+import           Network.AWS.AutoScaling.DescribeAccountLimits+import           Network.AWS.AutoScaling.DescribeAdjustmentTypes+import           Network.AWS.AutoScaling.DescribeAutoScalingGroups+import           Network.AWS.AutoScaling.DescribeAutoScalingInstances+import           Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes+import           Network.AWS.AutoScaling.DescribeLaunchConfigurations+import           Network.AWS.AutoScaling.DescribeLifecycleHooks+import           Network.AWS.AutoScaling.DescribeLifecycleHookTypes+import           Network.AWS.AutoScaling.DescribeLoadBalancers+import           Network.AWS.AutoScaling.DescribeMetricCollectionTypes+import           Network.AWS.AutoScaling.DescribeNotificationConfigurations+import           Network.AWS.AutoScaling.DescribePolicies+import           Network.AWS.AutoScaling.DescribeScalingActivities+import           Network.AWS.AutoScaling.DescribeScalingProcessTypes+import           Network.AWS.AutoScaling.DescribeScheduledActions+import           Network.AWS.AutoScaling.DescribeTags+import           Network.AWS.AutoScaling.DescribeTerminationPolicyTypes+import           Network.AWS.AutoScaling.DetachInstances+import           Network.AWS.AutoScaling.DetachLoadBalancers+import           Network.AWS.AutoScaling.DisableMetricsCollection+import           Network.AWS.AutoScaling.EnableMetricsCollection+import           Network.AWS.AutoScaling.EnterStandby+import           Network.AWS.AutoScaling.ExecutePolicy+import           Network.AWS.AutoScaling.ExitStandby+import           Network.AWS.AutoScaling.PutLifecycleHook+import           Network.AWS.AutoScaling.PutNotificationConfiguration+import           Network.AWS.AutoScaling.PutScalingPolicy+import           Network.AWS.AutoScaling.PutScheduledUpdateGroupAction+import           Network.AWS.AutoScaling.RecordLifecycleActionHeartbeat+import           Network.AWS.AutoScaling.ResumeProcesses+import           Network.AWS.AutoScaling.SetDesiredCapacity+import           Network.AWS.AutoScaling.SetInstanceHealth+import           Network.AWS.AutoScaling.SuspendProcesses+import           Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.UpdateAutoScalingGroup+import           Network.AWS.AutoScaling.Waiters++{- $errors+Error matchers are designed for use with the functions provided by+<http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+This allows catching (and rethrowing) service specific errors returned+by 'AutoScaling'.+-}++{- $operations+Some AWS operations return results that are incomplete and require subsequent+requests in order to obtain the entire result set. The process of sending+subsequent requests to continue where a previous request left off is called+pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+1000 objects at a time, and you must send subsequent requests with the+appropriate Marker in order to retrieve the next page of results.++Operations that have an 'AWSPager' instance can transparently perform subsequent+requests, correctly setting Markers and other request facets to iterate through+the entire result set of a truncated API operation. Operations which support+this have an additional note in the documentation.++Many operations have the ability to filter results on the server side. See the+individual operation parameters for details.+-}++{- $waiters+Waiters poll by repeatedly sending a request until some remote success condition+configured by the 'Wait' specification is fulfilled. The 'Wait' specification+determines how many attempts should be made, in addition to delay and retry strategies.+-}
gen/Network/AWS/AutoScaling/AttachInstances.hs view
@@ -1,103 +1,108 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.AttachInstances--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Attaches one or more EC2 instances to the specified Auto Scaling group.+-- Attaches one or more EC2 instances to the specified Auto Scaling group. ----- For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/attach-instance-asg.html Attach Amazon EC2 Instances to Your Existing AutoScaling Group> in the /Auto Scaling Developer Guide/.+-- 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/. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_AttachInstances.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_AttachInstances.html AWS API Reference> for AttachInstances. module Network.AWS.AutoScaling.AttachInstances     (-    -- * Request-      AttachInstances-    -- ** Request constructor-    , attachInstances-    -- ** Request lenses-    , aiAutoScalingGroupName+    -- * Creating a Request+      attachInstances+    , AttachInstances+    -- * Request Lenses     , aiInstanceIds+    , aiAutoScalingGroupName -    -- * Response-    , AttachInstancesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , attachInstancesResponse+    , AttachInstancesResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data AttachInstances = AttachInstances-    { _aiAutoScalingGroupName :: Text-    , _aiInstanceIds          :: List "member" Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'attachInstances' smart constructor.+data AttachInstances = AttachInstances'+    { _aiInstanceIds          :: !(Maybe [Text])+    , _aiAutoScalingGroupName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'AttachInstances' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'AttachInstances' with the minimum fields required to make a request. ----- * 'aiAutoScalingGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'aiInstanceIds' @::@ ['Text']+-- * 'aiInstanceIds' ---attachInstances :: Text -- ^ 'aiAutoScalingGroupName'-                -> AttachInstances-attachInstances p1 = AttachInstances-    { _aiAutoScalingGroupName = p1-    , _aiInstanceIds          = mempty+-- * 'aiAutoScalingGroupName'+attachInstances+    :: Text -- ^ 'aiAutoScalingGroupName'+    -> AttachInstances+attachInstances pAutoScalingGroupName_ =+    AttachInstances'+    { _aiInstanceIds = Nothing+    , _aiAutoScalingGroupName = pAutoScalingGroupName_     } +-- | One or more EC2 instance IDs.+aiInstanceIds :: Lens' AttachInstances [Text]+aiInstanceIds = lens _aiInstanceIds (\ s a -> s{_aiInstanceIds = a}) . _Default . _Coerce;+ -- | The name of the group. aiAutoScalingGroupName :: Lens' AttachInstances Text-aiAutoScalingGroupName =-    lens _aiAutoScalingGroupName (\s a -> s { _aiAutoScalingGroupName = a })---- | One or more EC2 instance IDs. You must specify at least one ID.-aiInstanceIds :: Lens' AttachInstances [Text]-aiInstanceIds = lens _aiInstanceIds (\s a -> s { _aiInstanceIds = a }) . _List+aiAutoScalingGroupName = lens _aiAutoScalingGroupName (\ s a -> s{_aiAutoScalingGroupName = a}); -data AttachInstancesResponse = AttachInstancesResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest AttachInstances where+        type Sv AttachInstances = AutoScaling+        type Rs AttachInstances = AttachInstancesResponse+        request = postQuery+        response = receiveNull AttachInstancesResponse' --- | 'AttachInstancesResponse' constructor.-attachInstancesResponse :: AttachInstancesResponse-attachInstancesResponse = AttachInstancesResponse+instance ToHeaders AttachInstances where+        toHeaders = const mempty  instance ToPath AttachInstances where-    toPath = const "/"+        toPath = const "/"  instance ToQuery AttachInstances where-    toQuery AttachInstances{..} = mconcat-        [ "AutoScalingGroupName" =? _aiAutoScalingGroupName-        , "InstanceIds"          =? _aiInstanceIds-        ]--instance ToHeaders AttachInstances+        toQuery AttachInstances'{..}+          = mconcat+              ["Action" =: ("AttachInstances" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "InstanceIds" =:+                 toQuery (toQueryList "member" <$> _aiInstanceIds),+               "AutoScalingGroupName" =: _aiAutoScalingGroupName] -instance AWSRequest AttachInstances where-    type Sv AttachInstances = AutoScaling-    type Rs AttachInstances = AttachInstancesResponse+-- | /See:/ 'attachInstancesResponse' smart constructor.+data AttachInstancesResponse =+    AttachInstancesResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "AttachInstances"-    response = nullResponse AttachInstancesResponse+-- | Creates a value of 'AttachInstancesResponse' with the minimum fields required to make a request.+--+attachInstancesResponse+    :: AttachInstancesResponse+attachInstancesResponse = AttachInstancesResponse'
+ gen/Network/AWS/AutoScaling/AttachLoadBalancers.hs view
@@ -0,0 +1,129 @@+{-# 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.AttachLoadBalancers+-- 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)+--+-- Attaches one or more load balancers to the specified Auto Scaling group.+--+-- To describe the load balancers for an Auto Scaling group, use+-- DescribeLoadBalancers. To detach the load balancer from the Auto Scaling+-- group, use DetachLoadBalancers.+--+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/attach-load-balancer-asg.html Attach a Load Balancer to Your Auto Scaling Group>+-- in the /Auto Scaling Developer Guide/.+--+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_AttachLoadBalancers.html AWS API Reference> for AttachLoadBalancers.+module Network.AWS.AutoScaling.AttachLoadBalancers+    (+    -- * Creating a Request+      attachLoadBalancers+    , AttachLoadBalancers+    -- * Request Lenses+    , albAutoScalingGroupName+    , albLoadBalancerNames++    -- * Destructuring the Response+    , attachLoadBalancersResponse+    , AttachLoadBalancersResponse+    -- * Response Lenses+    , albrsStatus+    ) where++import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'attachLoadBalancers' smart constructor.+data AttachLoadBalancers = AttachLoadBalancers'+    { _albAutoScalingGroupName :: !(Maybe Text)+    , _albLoadBalancerNames    :: !(Maybe [Text])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AttachLoadBalancers' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'albAutoScalingGroupName'+--+-- * 'albLoadBalancerNames'+attachLoadBalancers+    :: AttachLoadBalancers+attachLoadBalancers =+    AttachLoadBalancers'+    { _albAutoScalingGroupName = Nothing+    , _albLoadBalancerNames = Nothing+    }++-- | The name of the group.+albAutoScalingGroupName :: Lens' AttachLoadBalancers (Maybe Text)+albAutoScalingGroupName = lens _albAutoScalingGroupName (\ s a -> s{_albAutoScalingGroupName = a});++-- | One or more load balancer names.+albLoadBalancerNames :: Lens' AttachLoadBalancers [Text]+albLoadBalancerNames = lens _albLoadBalancerNames (\ s a -> s{_albLoadBalancerNames = a}) . _Default . _Coerce;++instance AWSRequest AttachLoadBalancers where+        type Sv AttachLoadBalancers = AutoScaling+        type Rs AttachLoadBalancers =+             AttachLoadBalancersResponse+        request = postQuery+        response+          = receiveXMLWrapper "AttachLoadBalancersResult"+              (\ s h x ->+                 AttachLoadBalancersResponse' <$> (pure (fromEnum s)))++instance ToHeaders AttachLoadBalancers where+        toHeaders = const mempty++instance ToPath AttachLoadBalancers where+        toPath = const "/"++instance ToQuery AttachLoadBalancers where+        toQuery AttachLoadBalancers'{..}+          = mconcat+              ["Action" =: ("AttachLoadBalancers" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "AutoScalingGroupName" =: _albAutoScalingGroupName,+               "LoadBalancerNames" =:+                 toQuery+                   (toQueryList "member" <$> _albLoadBalancerNames)]++-- | /See:/ 'attachLoadBalancersResponse' smart constructor.+newtype AttachLoadBalancersResponse = AttachLoadBalancersResponse'+    { _albrsStatus :: Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AttachLoadBalancersResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'albrsStatus'+attachLoadBalancersResponse+    :: Int -- ^ 'albrsStatus'+    -> AttachLoadBalancersResponse+attachLoadBalancersResponse pStatus_ =+    AttachLoadBalancersResponse'+    { _albrsStatus = pStatus_+    }++-- | The response status code.+albrsStatus :: Lens' AttachLoadBalancersResponse Int+albrsStatus = lens _albrsStatus (\ s a -> s{_albrsStatus = a});
gen/Network/AWS/AutoScaling/CompleteLifecycleAction.hs view
@@ -1,140 +1,169 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CompleteLifecycleAction--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Completes the lifecycle action for the associated token initiated under the--- given lifecycle hook with the specified result.+-- Completes the lifecycle action for the associated token initiated under+-- the given lifecycle hook with the specified result. ----- This operation is a part of the basic sequence for adding a lifecycle hook--- to an Auto Scaling group:+-- This operation is a part of the basic sequence for adding a lifecycle+-- hook to an Auto Scaling group: ----- Create a notification target. A target can be either an Amazon SQS queue or--- an Amazon SNS topic. Create an IAM role. This role allows Auto Scaling to--- publish lifecycle notifications to the designated SQS queue or SNS topic. Create the lifecycle hook. You can create a hook that acts when instances launch or when instances terminate.--- If necessary, record the lifecycle action heartbeat to keep the instance in--- a pending state.  Complete the lifecycle action.  For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingPendingState.html Auto Scaling Pending State> and <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingTerminatingState.html Auto Scaling Terminating State> in the /Auto Scaling Developer Guide/.+-- 1.  Create a notification target. A target can be either an Amazon SQS+--     queue or an Amazon SNS topic.+-- 2.  Create an IAM role. This role allows Auto Scaling to publish+--     lifecycle notifications to the designated SQS queue or SNS topic.+-- 3.  Create the lifecycle hook. You can create a hook that acts when+--     instances launch or when instances terminate.+-- 4.  If necessary, record the lifecycle action heartbeat to keep the+--     instance in a pending state.+-- 5.  __Complete the lifecycle action__. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_CompleteLifecycleAction.html>+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingPendingState.html Auto Scaling Pending State>+-- and+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingTerminatingState.html Auto Scaling Terminating State>+-- in the /Auto Scaling Developer Guide/.+--+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_CompleteLifecycleAction.html AWS API Reference> for CompleteLifecycleAction. module Network.AWS.AutoScaling.CompleteLifecycleAction     (-    -- * Request-      CompleteLifecycleAction-    -- ** Request constructor-    , completeLifecycleAction-    -- ** Request lenses+    -- * Creating a Request+      completeLifecycleAction+    , CompleteLifecycleAction+    -- * Request Lenses+    , claLifecycleHookName     , claAutoScalingGroupName-    , claLifecycleActionResult     , claLifecycleActionToken-    , claLifecycleHookName+    , claLifecycleActionResult -    -- * Response-    , CompleteLifecycleActionResponse-    -- ** Response constructor+    -- * Destructuring the Response     , completeLifecycleActionResponse+    , CompleteLifecycleActionResponse+    -- * Response Lenses+    , clarsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data CompleteLifecycleAction = CompleteLifecycleAction-    { _claAutoScalingGroupName  :: Text-    , _claLifecycleActionResult :: Text-    , _claLifecycleActionToken  :: Text-    , _claLifecycleHookName     :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'completeLifecycleAction' smart constructor.+data CompleteLifecycleAction = CompleteLifecycleAction'+    { _claLifecycleHookName     :: !Text+    , _claAutoScalingGroupName  :: !Text+    , _claLifecycleActionToken  :: !Text+    , _claLifecycleActionResult :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CompleteLifecycleAction' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CompleteLifecycleAction' with the minimum fields required to make a request. ----- * 'claAutoScalingGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'claLifecycleActionResult' @::@ 'Text'+-- * 'claLifecycleHookName' ----- * 'claLifecycleActionToken' @::@ 'Text'+-- * 'claAutoScalingGroupName' ----- * 'claLifecycleHookName' @::@ 'Text'+-- * 'claLifecycleActionToken' ---completeLifecycleAction :: Text -- ^ 'claLifecycleHookName'-                        -> Text -- ^ 'claAutoScalingGroupName'-                        -> Text -- ^ 'claLifecycleActionToken'-                        -> Text -- ^ 'claLifecycleActionResult'-                        -> CompleteLifecycleAction-completeLifecycleAction p1 p2 p3 p4 = CompleteLifecycleAction-    { _claLifecycleHookName     = p1-    , _claAutoScalingGroupName  = p2-    , _claLifecycleActionToken  = p3-    , _claLifecycleActionResult = p4+-- * 'claLifecycleActionResult'+completeLifecycleAction+    :: Text -- ^ 'claLifecycleHookName'+    -> Text -- ^ 'claAutoScalingGroupName'+    -> Text -- ^ 'claLifecycleActionToken'+    -> Text -- ^ 'claLifecycleActionResult'+    -> CompleteLifecycleAction+completeLifecycleAction pLifecycleHookName_ pAutoScalingGroupName_ pLifecycleActionToken_ pLifecycleActionResult_ =+    CompleteLifecycleAction'+    { _claLifecycleHookName = pLifecycleHookName_+    , _claAutoScalingGroupName = pAutoScalingGroupName_+    , _claLifecycleActionToken = pLifecycleActionToken_+    , _claLifecycleActionResult = pLifecycleActionResult_     } +-- | The name of the lifecycle hook.+claLifecycleHookName :: Lens' CompleteLifecycleAction Text+claLifecycleHookName = lens _claLifecycleHookName (\ s a -> s{_claLifecycleHookName = a});+ -- | The name of the group for the lifecycle hook. claAutoScalingGroupName :: Lens' CompleteLifecycleAction Text-claAutoScalingGroupName =-    lens _claAutoScalingGroupName (\s a -> s { _claAutoScalingGroupName = a })---- | The action for the group to take. This parameter can be either 'CONTINUE' or 'ABANDON'.-claLifecycleActionResult :: Lens' CompleteLifecycleAction Text-claLifecycleActionResult =-    lens _claLifecycleActionResult-        (\s a -> s { _claLifecycleActionResult = a })+claAutoScalingGroupName = lens _claAutoScalingGroupName (\ s a -> s{_claAutoScalingGroupName = a}); --- | A universally unique identifier (UUID) that identifies a specific lifecycle--- action associated with an instance. Auto Scaling sends this token to the--- notification target you specified when you created the lifecycle hook.+-- | A universally unique identifier (UUID) that identifies a specific+-- lifecycle action associated with an instance. Auto Scaling sends this+-- token to the notification target you specified when you created the+-- lifecycle hook. claLifecycleActionToken :: Lens' CompleteLifecycleAction Text-claLifecycleActionToken =-    lens _claLifecycleActionToken (\s a -> s { _claLifecycleActionToken = a })+claLifecycleActionToken = lens _claLifecycleActionToken (\ s a -> s{_claLifecycleActionToken = a}); --- | The name of the lifecycle hook.-claLifecycleHookName :: Lens' CompleteLifecycleAction Text-claLifecycleHookName =-    lens _claLifecycleHookName (\s a -> s { _claLifecycleHookName = a })+-- | The action for the group to take. This parameter can be either+-- 'CONTINUE' or 'ABANDON'.+claLifecycleActionResult :: Lens' CompleteLifecycleAction Text+claLifecycleActionResult = lens _claLifecycleActionResult (\ s a -> s{_claLifecycleActionResult = a}); -data CompleteLifecycleActionResponse = CompleteLifecycleActionResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest CompleteLifecycleAction where+        type Sv CompleteLifecycleAction = AutoScaling+        type Rs CompleteLifecycleAction =+             CompleteLifecycleActionResponse+        request = postQuery+        response+          = receiveXMLWrapper "CompleteLifecycleActionResult"+              (\ s h x ->+                 CompleteLifecycleActionResponse' <$>+                   (pure (fromEnum s))) --- | 'CompleteLifecycleActionResponse' constructor.-completeLifecycleActionResponse :: CompleteLifecycleActionResponse-completeLifecycleActionResponse = CompleteLifecycleActionResponse+instance ToHeaders CompleteLifecycleAction where+        toHeaders = const mempty  instance ToPath CompleteLifecycleAction where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CompleteLifecycleAction where-    toQuery CompleteLifecycleAction{..} = mconcat-        [ "AutoScalingGroupName"  =? _claAutoScalingGroupName-        , "LifecycleActionResult" =? _claLifecycleActionResult-        , "LifecycleActionToken"  =? _claLifecycleActionToken-        , "LifecycleHookName"     =? _claLifecycleHookName-        ]+        toQuery CompleteLifecycleAction'{..}+          = mconcat+              ["Action" =:+                 ("CompleteLifecycleAction" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "LifecycleHookName" =: _claLifecycleHookName,+               "AutoScalingGroupName" =: _claAutoScalingGroupName,+               "LifecycleActionToken" =: _claLifecycleActionToken,+               "LifecycleActionResult" =: _claLifecycleActionResult] -instance ToHeaders CompleteLifecycleAction+-- | /See:/ 'completeLifecycleActionResponse' smart constructor.+newtype CompleteLifecycleActionResponse = CompleteLifecycleActionResponse'+    { _clarsStatus :: Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CompleteLifecycleAction where-    type Sv CompleteLifecycleAction = AutoScaling-    type Rs CompleteLifecycleAction = CompleteLifecycleActionResponse+-- | Creates a value of 'CompleteLifecycleActionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'clarsStatus'+completeLifecycleActionResponse+    :: Int -- ^ 'clarsStatus'+    -> CompleteLifecycleActionResponse+completeLifecycleActionResponse pStatus_ =+    CompleteLifecycleActionResponse'+    { _clarsStatus = pStatus_+    } -    request  = post "CompleteLifecycleAction"-    response = nullResponse CompleteLifecycleActionResponse+-- | The response status code.+clarsStatus :: Lens' CompleteLifecycleActionResponse Int+clarsStatus = lens _clarsStatus (\ s a -> s{_clarsStatus = a});
gen/Network/AWS/AutoScaling/CreateAutoScalingGroup.hs view
@@ -1,302 +1,323 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CreateAutoScalingGroup--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates an Auto Scaling group with the specified name and attributes.+-- Creates an Auto Scaling group with the specified name and attributes. ----- If you exceed your maximum limit of Auto Scaling groups, which by default is--- 20 per region, the call fails. For information about viewing and updating--- these limits, see 'DescribeAccountLimits'.+-- If you exceed your maximum limit of Auto Scaling groups, which by+-- default is 20 per region, the call fails. For information about viewing+-- and updating this limit, see DescribeAccountLimits. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_CreateAutoScalingGroup.html>+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroup.html Auto Scaling Groups>+-- in the /Auto Scaling Developer Guide/.+--+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_CreateAutoScalingGroup.html AWS API Reference> for CreateAutoScalingGroup. module Network.AWS.AutoScaling.CreateAutoScalingGroup     (-    -- * Request-      CreateAutoScalingGroup-    -- ** Request constructor-    , createAutoScalingGroup-    -- ** Request lenses-    , casgAutoScalingGroupName-    , casgAvailabilityZones+    -- * Creating a Request+      createAutoScalingGroup+    , CreateAutoScalingGroup+    -- * Request Lenses+    , casgInstanceId+    , casgTerminationPolicies+    , casgHealthCheckGracePeriod+    , casgVPCZoneIdentifier     , casgDefaultCooldown     , casgDesiredCapacity-    , casgHealthCheckGracePeriod+    , casgAvailabilityZones     , casgHealthCheckType-    , casgInstanceId     , casgLaunchConfigurationName-    , casgLoadBalancerNames-    , casgMaxSize-    , casgMinSize     , casgPlacementGroup+    , casgLoadBalancerNames     , casgTags-    , casgTerminationPolicies-    , casgVPCZoneIdentifier+    , casgAutoScalingGroupName+    , casgMinSize+    , casgMaxSize -    -- * Response-    , CreateAutoScalingGroupResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createAutoScalingGroupResponse+    , CreateAutoScalingGroupResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data CreateAutoScalingGroup = CreateAutoScalingGroup-    { _casgAutoScalingGroupName    :: Text-    , _casgAvailabilityZones       :: List1 "member" Text-    , _casgDefaultCooldown         :: Maybe Int-    , _casgDesiredCapacity         :: Maybe Int-    , _casgHealthCheckGracePeriod  :: Maybe Int-    , _casgHealthCheckType         :: Maybe Text-    , _casgInstanceId              :: Maybe Text-    , _casgLaunchConfigurationName :: Maybe Text-    , _casgLoadBalancerNames       :: List "member" Text-    , _casgMaxSize                 :: Int-    , _casgMinSize                 :: Int-    , _casgPlacementGroup          :: Maybe Text-    , _casgTags                    :: List "member" Tag-    , _casgTerminationPolicies     :: List "member" Text-    , _casgVPCZoneIdentifier       :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'createAutoScalingGroup' smart constructor.+data CreateAutoScalingGroup = CreateAutoScalingGroup'+    { _casgInstanceId              :: !(Maybe Text)+    , _casgTerminationPolicies     :: !(Maybe [Text])+    , _casgHealthCheckGracePeriod  :: !(Maybe Int)+    , _casgVPCZoneIdentifier       :: !(Maybe Text)+    , _casgDefaultCooldown         :: !(Maybe Int)+    , _casgDesiredCapacity         :: !(Maybe Int)+    , _casgAvailabilityZones       :: !(Maybe (List1 Text))+    , _casgHealthCheckType         :: !(Maybe Text)+    , _casgLaunchConfigurationName :: !(Maybe Text)+    , _casgPlacementGroup          :: !(Maybe Text)+    , _casgLoadBalancerNames       :: !(Maybe [Text])+    , _casgTags                    :: !(Maybe [Tag])+    , _casgAutoScalingGroupName    :: !Text+    , _casgMinSize                 :: !Int+    , _casgMaxSize                 :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateAutoScalingGroup' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateAutoScalingGroup' with the minimum fields required to make a request. ----- * 'casgAutoScalingGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'casgAvailabilityZones' @::@ 'NonEmpty' 'Text'+-- * 'casgInstanceId' ----- * 'casgDefaultCooldown' @::@ 'Maybe' 'Int'+-- * 'casgTerminationPolicies' ----- * 'casgDesiredCapacity' @::@ 'Maybe' 'Int'+-- * 'casgHealthCheckGracePeriod' ----- * 'casgHealthCheckGracePeriod' @::@ 'Maybe' 'Int'+-- * 'casgVPCZoneIdentifier' ----- * 'casgHealthCheckType' @::@ 'Maybe' 'Text'+-- * 'casgDefaultCooldown' ----- * 'casgInstanceId' @::@ 'Maybe' 'Text'+-- * 'casgDesiredCapacity' ----- * 'casgLaunchConfigurationName' @::@ 'Maybe' 'Text'+-- * 'casgAvailabilityZones' ----- * 'casgLoadBalancerNames' @::@ ['Text']+-- * 'casgHealthCheckType' ----- * 'casgMaxSize' @::@ 'Int'+-- * 'casgLaunchConfigurationName' ----- * 'casgMinSize' @::@ 'Int'+-- * 'casgPlacementGroup' ----- * 'casgPlacementGroup' @::@ 'Maybe' 'Text'+-- * 'casgLoadBalancerNames' ----- * 'casgTags' @::@ ['Tag']+-- * 'casgTags' ----- * 'casgTerminationPolicies' @::@ ['Text']+-- * 'casgAutoScalingGroupName' ----- * 'casgVPCZoneIdentifier' @::@ 'Maybe' 'Text'+-- * 'casgMinSize' ---createAutoScalingGroup :: Text -- ^ 'casgAutoScalingGroupName'-                       -> Int -- ^ 'casgMinSize'-                       -> Int -- ^ 'casgMaxSize'-                       -> NonEmpty Text -- ^ 'casgAvailabilityZones'-                       -> CreateAutoScalingGroup-createAutoScalingGroup p1 p2 p3 p4 = CreateAutoScalingGroup-    { _casgAutoScalingGroupName    = p1-    , _casgMinSize                 = p2-    , _casgMaxSize                 = p3-    , _casgAvailabilityZones       = withIso _List1 (const id) p4+-- * 'casgMaxSize'+createAutoScalingGroup+    :: Text -- ^ 'casgAutoScalingGroupName'+    -> Int -- ^ 'casgMinSize'+    -> Int -- ^ 'casgMaxSize'+    -> CreateAutoScalingGroup+createAutoScalingGroup pAutoScalingGroupName_ pMinSize_ pMaxSize_ =+    CreateAutoScalingGroup'+    { _casgInstanceId = Nothing+    , _casgTerminationPolicies = Nothing+    , _casgHealthCheckGracePeriod = Nothing+    , _casgVPCZoneIdentifier = Nothing+    , _casgDefaultCooldown = Nothing+    , _casgDesiredCapacity = Nothing+    , _casgAvailabilityZones = Nothing+    , _casgHealthCheckType = Nothing     , _casgLaunchConfigurationName = Nothing-    , _casgInstanceId              = Nothing-    , _casgDesiredCapacity         = Nothing-    , _casgDefaultCooldown         = Nothing-    , _casgLoadBalancerNames       = mempty-    , _casgHealthCheckType         = Nothing-    , _casgHealthCheckGracePeriod  = Nothing-    , _casgPlacementGroup          = Nothing-    , _casgVPCZoneIdentifier       = Nothing-    , _casgTerminationPolicies     = mempty-    , _casgTags                    = mempty+    , _casgPlacementGroup = Nothing+    , _casgLoadBalancerNames = Nothing+    , _casgTags = Nothing+    , _casgAutoScalingGroupName = pAutoScalingGroupName_+    , _casgMinSize = pMinSize_+    , _casgMaxSize = pMaxSize_     } --- | The name of the group. This name must be unique within the scope of your AWS--- account.-casgAutoScalingGroupName :: Lens' CreateAutoScalingGroup Text-casgAutoScalingGroupName =-    lens _casgAutoScalingGroupName-        (\s a -> s { _casgAutoScalingGroupName = a })---- | One or more Availability Zones for the group. This parameter is optional if--- you specify subnets using the 'VPCZoneIdentifier' parameter.-casgAvailabilityZones :: Lens' CreateAutoScalingGroup (NonEmpty Text)-casgAvailabilityZones =-    lens _casgAvailabilityZones (\s a -> s { _casgAvailabilityZones = a })-        . _List1---- | The amount of time, in seconds, after a scaling activity completes before--- another scaling activity can start.+-- | The ID of the EC2 instance used to create a launch configuration for the+-- group. Alternatively, use the 'LaunchConfigurationName' parameter to+-- specify a launch configuration instead of an EC2 instance. ----- If 'DefaultCooldown' is not specified, the default value is 300. For more--- information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/Cooldown.html Understanding Auto Scaling Cooldowns> in the /Auto ScalingDeveloper Guide/.-casgDefaultCooldown :: Lens' CreateAutoScalingGroup (Maybe Int)-casgDefaultCooldown =-    lens _casgDefaultCooldown (\s a -> s { _casgDefaultCooldown = a })+-- When you specify an ID of an instance, Auto Scaling creates a new launch+-- configuration and associates it with the group. This launch+-- configuration derives its attributes from the specified instance, with+-- the exception of the block device mapping.+--+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/create-asg-from-instance.html Create an Auto Scaling Group from an EC2 Instance>+-- in the /Auto Scaling Developer Guide/.+casgInstanceId :: Lens' CreateAutoScalingGroup (Maybe Text)+casgInstanceId = lens _casgInstanceId (\ s a -> s{_casgInstanceId = a}); --- | The number of EC2 instances that should be running in the group. This value--- must be greater than or equal to the minimum size of the group and less than--- or equal to the maximum size of the group.-casgDesiredCapacity :: Lens' CreateAutoScalingGroup (Maybe Int)-casgDesiredCapacity =-    lens _casgDesiredCapacity (\s a -> s { _casgDesiredCapacity = a })+-- | One or more termination policies used to select the instance to+-- terminate. These policies are executed in the order that they are+-- listed.+--+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/us-termination-policy.html Choosing a Termination Policy for Your Auto Scaling Group>+-- in the /Auto Scaling Developer Guide/.+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, 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. -- -- 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.+-- 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 YourAuto Scaling Group> in the /Auto Scaling Developer Guide/.+-- 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>+-- in the /Auto Scaling Developer Guide/. casgHealthCheckGracePeriod :: Lens' CreateAutoScalingGroup (Maybe Int)-casgHealthCheckGracePeriod =-    lens _casgHealthCheckGracePeriod-        (\s a -> s { _casgHealthCheckGracePeriod = a })+casgHealthCheckGracePeriod = lens _casgHealthCheckGracePeriod (\ s a -> s{_casgHealthCheckGracePeriod = a}); --- | The service to use for the health checks. The valid values are 'EC2' and 'ELB'.+-- | A comma-separated list of subnet identifiers for your virtual private+-- cloud (VPC). ----- By default, health checks use Amazon EC2 instance status checks to determine--- the health of an instance. For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/healthcheck.html Health Checks>.-casgHealthCheckType :: Lens' CreateAutoScalingGroup (Maybe Text)-casgHealthCheckType =-    lens _casgHealthCheckType (\s a -> s { _casgHealthCheckType = a })+-- If you specify subnets and Availability Zones with this call, ensure+-- that the subnets\' Availability Zones match the Availability Zones+-- specified.+--+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/autoscalingsubnets.html Auto Scaling and Amazon Virtual Private Cloud>+-- in the /Auto Scaling Developer Guide/.+casgVPCZoneIdentifier :: Lens' CreateAutoScalingGroup (Maybe Text)+casgVPCZoneIdentifier = lens _casgVPCZoneIdentifier (\ s a -> s{_casgVPCZoneIdentifier = a}); --- | The ID of the EC2 instance used to create a launch configuration for the--- group. Alternatively, use the 'LaunchConfigurationName' parameter to specify a--- launch configuration instead of an EC2 instance.+-- | The amount of time, in seconds, after a scaling activity completes+-- before another scaling activity can start. ----- When you specify an ID of an instance, Auto Scaling creates a new launch--- configuration and associates it with the group. This launch configuration--- derives its attributes from the specified instance, with the exception of the--- block device mapping.+-- If this parameter is not specified, the default value 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/.+casgDefaultCooldown :: Lens' CreateAutoScalingGroup (Maybe Int)+casgDefaultCooldown = lens _casgDefaultCooldown (\ s a -> s{_casgDefaultCooldown = a});++-- | The number of EC2 instances that should be running in the group. This+-- number must be greater than or equal to the minimum size of the group+-- and less than or equal to the maximum size of the group.+casgDesiredCapacity :: Lens' CreateAutoScalingGroup (Maybe Int)+casgDesiredCapacity = lens _casgDesiredCapacity (\ s a -> s{_casgDesiredCapacity = a});++-- | One or more Availability Zones for the group. This parameter is optional+-- if you specify subnets using the 'VPCZoneIdentifier' parameter.+casgAvailabilityZones :: Lens' CreateAutoScalingGroup (Maybe (NonEmpty Text))+casgAvailabilityZones = lens _casgAvailabilityZones (\ s a -> s{_casgAvailabilityZones = a}) . mapping _List1;++-- | The service to use for the health checks. The valid values are 'EC2' and+-- 'ELB'. ----- For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/create-asg-from-instance.html Create an Auto Scaling Group Using an EC2 InstanceID> in the /Auto Scaling Developer Guide/.-casgInstanceId :: Lens' CreateAutoScalingGroup (Maybe Text)-casgInstanceId = lens _casgInstanceId (\s a -> s { _casgInstanceId = a })+-- By default, health checks use Amazon EC2 instance status checks to+-- determine the health of an instance. For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/healthcheck.html Health Checks>.+casgHealthCheckType :: Lens' CreateAutoScalingGroup (Maybe Text)+casgHealthCheckType = lens _casgHealthCheckType (\ s a -> s{_casgHealthCheckType = a}); --- | The name of the launch configuration. Alternatively, use the 'InstanceId'--- parameter to specify an EC2 instance instead of a launch configuration.+-- | The name of the launch configuration. Alternatively, use the+-- 'InstanceId' parameter to specify an EC2 instance instead of a launch+-- configuration. casgLaunchConfigurationName :: Lens' CreateAutoScalingGroup (Maybe Text)-casgLaunchConfigurationName =-    lens _casgLaunchConfigurationName-        (\s a -> s { _casgLaunchConfigurationName = a })+casgLaunchConfigurationName = lens _casgLaunchConfigurationName (\ s a -> s{_casgLaunchConfigurationName = a}); +-- | The name of the placement group into which you\'ll launch your+-- instances, if any. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html Placement Groups>+-- in the /Amazon Elastic Compute Cloud User Guide/.+casgPlacementGroup :: Lens' CreateAutoScalingGroup (Maybe Text)+casgPlacementGroup = lens _casgPlacementGroup (\ s a -> s{_casgPlacementGroup = a});+ -- | One or more load balancers. ----- For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US_SetUpASLBApp.html Load Balance Your Auto Scaling Group> in the /AutoScaling Developer Guide/.+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US_SetUpASLBApp.html Load Balance Your Auto Scaling Group>+-- in the /Auto Scaling Developer Guide/. casgLoadBalancerNames :: Lens' CreateAutoScalingGroup [Text]-casgLoadBalancerNames =-    lens _casgLoadBalancerNames (\s a -> s { _casgLoadBalancerNames = a })-        . _List---- | The maximum size of the group.-casgMaxSize :: Lens' CreateAutoScalingGroup Int-casgMaxSize = lens _casgMaxSize (\s a -> s { _casgMaxSize = a })---- | The minimum size of the group.-casgMinSize :: Lens' CreateAutoScalingGroup Int-casgMinSize = lens _casgMinSize (\s a -> s { _casgMinSize = a })---- | The name of the placement group into which you'll launch your instances, if--- any. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html Placement Groups>.-casgPlacementGroup :: Lens' CreateAutoScalingGroup (Maybe Text)-casgPlacementGroup =-    lens _casgPlacementGroup (\s a -> s { _casgPlacementGroup = a })+casgLoadBalancerNames = lens _casgLoadBalancerNames (\ s a -> s{_casgLoadBalancerNames = a}) . _Default . _Coerce; --- | The tag to be created or updated. Each tag should be defined by its resource--- type, resource ID, key, value, and a propagate flag. Valid values: key=/value/,--- value=/value/, propagate=/true/ or /false/. Value and propagate are optional--- parameters.+-- | The tag to be created or updated. Each tag should be defined by its+-- resource type, resource ID, key, value, and a propagate flag. Valid+-- values: key=/value/, value=/value/, propagate=/true/ or /false/. Value+-- and propagate are optional parameters. ----- For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASTagging.html Add, Modify, or Remove Auto Scaling Group Tags> in--- the /Auto Scaling Developer Guide/.+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASTagging.html Tagging Auto Scaling Groups and Instances>+-- in the /Auto Scaling Developer Guide/. casgTags :: Lens' CreateAutoScalingGroup [Tag]-casgTags = lens _casgTags (\s a -> s { _casgTags = a }) . _List+casgTags = lens _casgTags (\ s a -> s{_casgTags = a}) . _Default . _Coerce; --- | One or more termination policies used to select the instance to terminate.--- These policies are executed in the order that they are listed.------ For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/us-termination-policy.html Choosing a Termination Policy for Your AutoScaling Group> in the /Auto Scaling Developer Guide/.-casgTerminationPolicies :: Lens' CreateAutoScalingGroup [Text]-casgTerminationPolicies =-    lens _casgTerminationPolicies (\s a -> s { _casgTerminationPolicies = a })-        . _List+-- | The name of the group. This name must be unique within the scope of your+-- AWS account.+casgAutoScalingGroupName :: Lens' CreateAutoScalingGroup Text+casgAutoScalingGroupName = lens _casgAutoScalingGroupName (\ s a -> s{_casgAutoScalingGroupName = a}); --- | A comma-separated list of subnet identifiers for your virtual private cloud--- (VPC).------ If you specify subnets and Availability Zones with this call, ensure that--- the subnets' Availability Zones match the Availability Zones specified.------ For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/autoscalingsubnets.html Auto Scaling and Amazon VPC> in the /Auto ScalingDeveloper Guide/.-casgVPCZoneIdentifier :: Lens' CreateAutoScalingGroup (Maybe Text)-casgVPCZoneIdentifier =-    lens _casgVPCZoneIdentifier (\s a -> s { _casgVPCZoneIdentifier = a })+-- | The minimum size of the group.+casgMinSize :: Lens' CreateAutoScalingGroup Int+casgMinSize = lens _casgMinSize (\ s a -> s{_casgMinSize = a}); -data CreateAutoScalingGroupResponse = CreateAutoScalingGroupResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | The maximum size of the group.+casgMaxSize :: Lens' CreateAutoScalingGroup Int+casgMaxSize = lens _casgMaxSize (\ s a -> s{_casgMaxSize = a}); --- | 'CreateAutoScalingGroupResponse' constructor.-createAutoScalingGroupResponse :: CreateAutoScalingGroupResponse-createAutoScalingGroupResponse = CreateAutoScalingGroupResponse+instance AWSRequest CreateAutoScalingGroup where+        type Sv CreateAutoScalingGroup = AutoScaling+        type Rs CreateAutoScalingGroup =+             CreateAutoScalingGroupResponse+        request = postQuery+        response+          = receiveNull CreateAutoScalingGroupResponse' +instance ToHeaders CreateAutoScalingGroup where+        toHeaders = const mempty+ instance ToPath CreateAutoScalingGroup where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateAutoScalingGroup where-    toQuery CreateAutoScalingGroup{..} = mconcat-        [ "AutoScalingGroupName"    =? _casgAutoScalingGroupName-        , "AvailabilityZones"       =? _casgAvailabilityZones-        , "DefaultCooldown"         =? _casgDefaultCooldown-        , "DesiredCapacity"         =? _casgDesiredCapacity-        , "HealthCheckGracePeriod"  =? _casgHealthCheckGracePeriod-        , "HealthCheckType"         =? _casgHealthCheckType-        , "InstanceId"              =? _casgInstanceId-        , "LaunchConfigurationName" =? _casgLaunchConfigurationName-        , "LoadBalancerNames"       =? _casgLoadBalancerNames-        , "MaxSize"                 =? _casgMaxSize-        , "MinSize"                 =? _casgMinSize-        , "PlacementGroup"          =? _casgPlacementGroup-        , "Tags"                    =? _casgTags-        , "TerminationPolicies"     =? _casgTerminationPolicies-        , "VPCZoneIdentifier"       =? _casgVPCZoneIdentifier-        ]--instance ToHeaders CreateAutoScalingGroup+        toQuery CreateAutoScalingGroup'{..}+          = mconcat+              ["Action" =:+                 ("CreateAutoScalingGroup" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "InstanceId" =: _casgInstanceId,+               "TerminationPolicies" =:+                 toQuery+                   (toQueryList "member" <$> _casgTerminationPolicies),+               "HealthCheckGracePeriod" =:+                 _casgHealthCheckGracePeriod,+               "VPCZoneIdentifier" =: _casgVPCZoneIdentifier,+               "DefaultCooldown" =: _casgDefaultCooldown,+               "DesiredCapacity" =: _casgDesiredCapacity,+               "AvailabilityZones" =:+                 toQuery+                   (toQueryList "member" <$> _casgAvailabilityZones),+               "HealthCheckType" =: _casgHealthCheckType,+               "LaunchConfigurationName" =:+                 _casgLaunchConfigurationName,+               "PlacementGroup" =: _casgPlacementGroup,+               "LoadBalancerNames" =:+                 toQuery+                   (toQueryList "member" <$> _casgLoadBalancerNames),+               "Tags" =:+                 toQuery (toQueryList "member" <$> _casgTags),+               "AutoScalingGroupName" =: _casgAutoScalingGroupName,+               "MinSize" =: _casgMinSize, "MaxSize" =: _casgMaxSize] -instance AWSRequest CreateAutoScalingGroup where-    type Sv CreateAutoScalingGroup = AutoScaling-    type Rs CreateAutoScalingGroup = CreateAutoScalingGroupResponse+-- | /See:/ 'createAutoScalingGroupResponse' smart constructor.+data CreateAutoScalingGroupResponse =+    CreateAutoScalingGroupResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "CreateAutoScalingGroup"-    response = nullResponse CreateAutoScalingGroupResponse+-- | Creates a value of 'CreateAutoScalingGroupResponse' with the minimum fields required to make a request.+--+createAutoScalingGroupResponse+    :: CreateAutoScalingGroupResponse+createAutoScalingGroupResponse = CreateAutoScalingGroupResponse'
gen/Network/AWS/AutoScaling/CreateLaunchConfiguration.hs view
@@ -1,345 +1,386 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CreateLaunchConfiguration--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a launch configuration.+-- Creates a launch configuration. ----- If you exceed your maximum limit of launch configurations, which by default--- is 100 per region, the call fails. For information about viewing and updating--- these limits, see 'DescribeAccountLimits'.+-- If you exceed your maximum limit of launch configurations, which by+-- default is 100 per region, the call fails. For information about viewing+-- and updating this limit, see DescribeAccountLimits. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_CreateLaunchConfiguration.html>+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/LaunchConfiguration.html Launch Configurations>+-- in the /Auto Scaling Developer Guide/.+--+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_CreateLaunchConfiguration.html AWS API Reference> for CreateLaunchConfiguration. module Network.AWS.AutoScaling.CreateLaunchConfiguration     (-    -- * Request-      CreateLaunchConfiguration-    -- ** Request constructor-    , createLaunchConfiguration-    -- ** Request lenses-    , clcAssociatePublicIpAddress-    , clcBlockDeviceMappings-    , clcClassicLinkVPCId-    , clcClassicLinkVPCSecurityGroups-    , clcEbsOptimized-    , clcIamInstanceProfile-    , clcImageId+    -- * Creating a Request+      createLaunchConfiguration+    , CreateLaunchConfiguration+    -- * Request Lenses     , clcInstanceId-    , clcInstanceMonitoring-    , clcInstanceType-    , clcKernelId-    , clcKeyName-    , clcLaunchConfigurationName-    , clcPlacementTenancy-    , clcRamdiskId     , clcSecurityGroups+    , clcAssociatePublicIPAddress+    , clcInstanceMonitoring     , clcSpotPrice+    , clcKeyName+    , clcClassicLinkVPCSecurityGroups+    , clcRAMDiskId+    , clcKernelId+    , clcInstanceType+    , clcEBSOptimized     , clcUserData+    , clcClassicLinkVPCId+    , clcIAMInstanceProfile+    , clcImageId+    , clcPlacementTenancy+    , clcBlockDeviceMappings+    , clcLaunchConfigurationName -    -- * Response-    , CreateLaunchConfigurationResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createLaunchConfigurationResponse+    , CreateLaunchConfigurationResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data CreateLaunchConfiguration = CreateLaunchConfiguration-    { _clcAssociatePublicIpAddress     :: Maybe Bool-    , _clcBlockDeviceMappings          :: List "member" BlockDeviceMapping-    , _clcClassicLinkVPCId             :: Maybe Text-    , _clcClassicLinkVPCSecurityGroups :: List "member" Text-    , _clcEbsOptimized                 :: Maybe Bool-    , _clcIamInstanceProfile           :: Maybe Text-    , _clcImageId                      :: Maybe Text-    , _clcInstanceId                   :: Maybe Text-    , _clcInstanceMonitoring           :: Maybe InstanceMonitoring-    , _clcInstanceType                 :: Maybe Text-    , _clcKernelId                     :: Maybe Text-    , _clcKeyName                      :: Maybe Text-    , _clcLaunchConfigurationName      :: Text-    , _clcPlacementTenancy             :: Maybe Text-    , _clcRamdiskId                    :: Maybe Text-    , _clcSecurityGroups               :: List "member" Text-    , _clcSpotPrice                    :: Maybe Text-    , _clcUserData                     :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'createLaunchConfiguration' smart constructor.+data CreateLaunchConfiguration = CreateLaunchConfiguration'+    { _clcInstanceId                   :: !(Maybe Text)+    , _clcSecurityGroups               :: !(Maybe [Text])+    , _clcAssociatePublicIPAddress     :: !(Maybe Bool)+    , _clcInstanceMonitoring           :: !(Maybe InstanceMonitoring)+    , _clcSpotPrice                    :: !(Maybe Text)+    , _clcKeyName                      :: !(Maybe Text)+    , _clcClassicLinkVPCSecurityGroups :: !(Maybe [Text])+    , _clcRAMDiskId                    :: !(Maybe Text)+    , _clcKernelId                     :: !(Maybe Text)+    , _clcInstanceType                 :: !(Maybe Text)+    , _clcEBSOptimized                 :: !(Maybe Bool)+    , _clcUserData                     :: !(Maybe Text)+    , _clcClassicLinkVPCId             :: !(Maybe Text)+    , _clcIAMInstanceProfile           :: !(Maybe Text)+    , _clcImageId                      :: !(Maybe Text)+    , _clcPlacementTenancy             :: !(Maybe Text)+    , _clcBlockDeviceMappings          :: !(Maybe [BlockDeviceMapping])+    , _clcLaunchConfigurationName      :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateLaunchConfiguration' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateLaunchConfiguration' with the minimum fields required to make a request. ----- * 'clcAssociatePublicIpAddress' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'clcBlockDeviceMappings' @::@ ['BlockDeviceMapping']+-- * 'clcInstanceId' ----- * 'clcClassicLinkVPCId' @::@ 'Maybe' 'Text'+-- * 'clcSecurityGroups' ----- * 'clcClassicLinkVPCSecurityGroups' @::@ ['Text']+-- * 'clcAssociatePublicIPAddress' ----- * 'clcEbsOptimized' @::@ 'Maybe' 'Bool'+-- * 'clcInstanceMonitoring' ----- * 'clcIamInstanceProfile' @::@ 'Maybe' 'Text'+-- * 'clcSpotPrice' ----- * 'clcImageId' @::@ 'Maybe' 'Text'+-- * 'clcKeyName' ----- * 'clcInstanceId' @::@ 'Maybe' 'Text'+-- * 'clcClassicLinkVPCSecurityGroups' ----- * 'clcInstanceMonitoring' @::@ 'Maybe' 'InstanceMonitoring'+-- * 'clcRAMDiskId' ----- * 'clcInstanceType' @::@ 'Maybe' 'Text'+-- * 'clcKernelId' ----- * 'clcKernelId' @::@ 'Maybe' 'Text'+-- * 'clcInstanceType' ----- * 'clcKeyName' @::@ 'Maybe' 'Text'+-- * 'clcEBSOptimized' ----- * 'clcLaunchConfigurationName' @::@ 'Text'+-- * 'clcUserData' ----- * 'clcPlacementTenancy' @::@ 'Maybe' 'Text'+-- * 'clcClassicLinkVPCId' ----- * 'clcRamdiskId' @::@ 'Maybe' 'Text'+-- * 'clcIAMInstanceProfile' ----- * 'clcSecurityGroups' @::@ ['Text']+-- * 'clcImageId' ----- * 'clcSpotPrice' @::@ 'Maybe' 'Text'+-- * 'clcPlacementTenancy' ----- * 'clcUserData' @::@ 'Maybe' 'Text'+-- * 'clcBlockDeviceMappings' ---createLaunchConfiguration :: Text -- ^ 'clcLaunchConfigurationName'-                          -> CreateLaunchConfiguration-createLaunchConfiguration p1 = CreateLaunchConfiguration-    { _clcLaunchConfigurationName      = p1-    , _clcImageId                      = Nothing-    , _clcKeyName                      = Nothing-    , _clcSecurityGroups               = mempty-    , _clcClassicLinkVPCId             = Nothing-    , _clcClassicLinkVPCSecurityGroups = mempty-    , _clcUserData                     = Nothing-    , _clcInstanceId                   = Nothing-    , _clcInstanceType                 = Nothing-    , _clcKernelId                     = Nothing-    , _clcRamdiskId                    = Nothing-    , _clcBlockDeviceMappings          = mempty-    , _clcInstanceMonitoring           = Nothing-    , _clcSpotPrice                    = Nothing-    , _clcIamInstanceProfile           = Nothing-    , _clcEbsOptimized                 = Nothing-    , _clcAssociatePublicIpAddress     = Nothing-    , _clcPlacementTenancy             = Nothing+-- * 'clcLaunchConfigurationName'+createLaunchConfiguration+    :: Text -- ^ 'clcLaunchConfigurationName'+    -> CreateLaunchConfiguration+createLaunchConfiguration pLaunchConfigurationName_ =+    CreateLaunchConfiguration'+    { _clcInstanceId = Nothing+    , _clcSecurityGroups = Nothing+    , _clcAssociatePublicIPAddress = Nothing+    , _clcInstanceMonitoring = Nothing+    , _clcSpotPrice = Nothing+    , _clcKeyName = Nothing+    , _clcClassicLinkVPCSecurityGroups = Nothing+    , _clcRAMDiskId = Nothing+    , _clcKernelId = Nothing+    , _clcInstanceType = Nothing+    , _clcEBSOptimized = Nothing+    , _clcUserData = Nothing+    , _clcClassicLinkVPCId = Nothing+    , _clcIAMInstanceProfile = Nothing+    , _clcImageId = Nothing+    , _clcPlacementTenancy = Nothing+    , _clcBlockDeviceMappings = Nothing+    , _clcLaunchConfigurationName = pLaunchConfigurationName_     } --- | Used for groups that launch instances into a virtual private cloud (VPC).--- Specifies whether to assign a public IP address to each instance. For more--- information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/autoscalingsubnets.html Auto Scaling and Amazon VPC> in the /Auto Scaling DeveloperGuide/.+-- | The ID of the EC2 instance to use to create the launch configuration. ----- If you specify a value for this parameter, be sure to specify at least one--- subnet using the /VPCZoneIdentifier/ parameter when you create your group.+-- The new launch configuration derives attributes from the instance, with+-- the exception of the block device mapping. ----- Default: If the instance is launched into a default subnet, the default is 'true'. If the instance is launched into a nondefault subnet, the default is 'false'.--- For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide//as-supported-platforms.html Supported Platforms> in the /Amazon Elastic ComputeCloud User Guide/.-clcAssociatePublicIpAddress :: Lens' CreateLaunchConfiguration (Maybe Bool)-clcAssociatePublicIpAddress =-    lens _clcAssociatePublicIpAddress-        (\s a -> s { _clcAssociatePublicIpAddress = a })---- | One or more mappings that specify how block devices are exposed to the--- instance. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html Block Device Mapping> in the /AmazonElastic Compute Cloud User Guide/.-clcBlockDeviceMappings :: Lens' CreateLaunchConfiguration [BlockDeviceMapping]-clcBlockDeviceMappings =-    lens _clcBlockDeviceMappings (\s a -> s { _clcBlockDeviceMappings = a })-        . _List---- | The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.--- This parameter can only be used if you are launching EC2-Classic instances.--- For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html ClassicLink> in the /Amazon Elastic Compute CloudUser Guide/.-clcClassicLinkVPCId :: Lens' CreateLaunchConfiguration (Maybe Text)-clcClassicLinkVPCId =-    lens _clcClassicLinkVPCId (\s a -> s { _clcClassicLinkVPCId = a })---- | The IDs of one or more security groups for the VPC specified in 'ClassicLinkVPCId'. This parameter is required if 'ClassicLinkVPCId' is specified, and cannot be--- used otherwise. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html ClassicLink> in the /Amazon ElasticCompute Cloud User Guide/.-clcClassicLinkVPCSecurityGroups :: Lens' CreateLaunchConfiguration [Text]-clcClassicLinkVPCSecurityGroups =-    lens _clcClassicLinkVPCSecurityGroups-        (\s a -> s { _clcClassicLinkVPCSecurityGroups = a })-            . _List---- | Indicates whether the instance is optimized for Amazon EBS I/O. By default,--- the instance is not optimized for EBS I/O. The optimization provides--- dedicated throughput to Amazon EBS and an optimized configuration stack to--- provide optimal I/O performance. This optimization is not available with all--- instance types. Additional usage charges apply. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html Amazon EBS-Optimized Instances> in the /Amazon Elastic Compute Cloud User Guide/.-clcEbsOptimized :: Lens' CreateLaunchConfiguration (Maybe Bool)-clcEbsOptimized = lens _clcEbsOptimized (\s a -> s { _clcEbsOptimized = a })---- | The name or the Amazon Resource Name (ARN) of the instance profile associated--- with the IAM role for the instance.+-- To create a launch configuration with a block device mapping or override+-- any other instance attributes, specify them as part of the same request. ----- Amazon EC2 instances launched with an IAM role will automatically have AWS--- security credentials available. You can use IAM roles with Auto Scaling to--- automatically enable applications running on your Amazon EC2 instances to--- securely access other AWS resources. For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/us-iam-role.html Launch AutoScaling Instances with an IAM Role> in the /Auto Scaling Developer Guide/.-clcIamInstanceProfile :: Lens' CreateLaunchConfiguration (Maybe Text)-clcIamInstanceProfile =-    lens _clcIamInstanceProfile (\s a -> s { _clcIamInstanceProfile = a })---- | The ID of the Amazon Machine Image (AMI) to use to launch your EC2 instances.--- For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html Finding an AMI> in the /Amazon Elastic Compute CloudUser Guide/.-clcImageId :: Lens' CreateLaunchConfiguration (Maybe Text)-clcImageId = lens _clcImageId (\s a -> s { _clcImageId = a })+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/create-lc-with-instanceID.html Create a Launch Configuration Using an EC2 Instance>+-- in the /Auto Scaling Developer Guide/.+clcInstanceId :: Lens' CreateLaunchConfiguration (Maybe Text)+clcInstanceId = lens _clcInstanceId (\ s a -> s{_clcInstanceId = a}); --- | The ID of the EC2 instance to use to create the launch configuration.------ The new launch configuration derives attributes from the instance, with the--- exception of the block device mapping.+-- | One or more security groups with which to associate the instances. ----- To create a launch configuration with a block device mapping or override any--- other instance attributes, specify them as part of the same request.+-- If your instances are launched in EC2-Classic, you can either specify+-- security group names or the security group IDs. For more information+-- about security groups for EC2-Classic, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html Amazon EC2 Security Groups>+-- in the /Amazon Elastic Compute Cloud User Guide/. ----- For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/create-lc-with-instanceID.html Create a Launch Configuration Using an EC2 Instance>+-- If your instances are launched into a VPC, specify security group IDs.+-- For more information, see+-- <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html Security Groups for Your VPC>+-- in the /Amazon Virtual Private Cloud User Guide/.+clcSecurityGroups :: Lens' CreateLaunchConfiguration [Text]+clcSecurityGroups = lens _clcSecurityGroups (\ s a -> s{_clcSecurityGroups = a}) . _Default . _Coerce;++-- | Used for groups that launch instances into a virtual private cloud+-- (VPC). Specifies whether to assign a public IP address to each instance.+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/autoscalingsubnets.html Auto Scaling and Amazon Virtual Private Cloud> -- in the /Auto Scaling Developer Guide/.-clcInstanceId :: Lens' CreateLaunchConfiguration (Maybe Text)-clcInstanceId = lens _clcInstanceId (\s a -> s { _clcInstanceId = a })+--+-- If you specify a value for this parameter, be sure to specify at least+-- one subnet using the /VPCZoneIdentifier/ parameter when you create your+-- group.+--+-- Default: If the instance is launched into a default subnet, the default+-- is 'true'. If the instance is launched into a nondefault subnet, the+-- default is 'false'. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html Supported Platforms>+-- in the /Amazon Elastic Compute Cloud User Guide/.+clcAssociatePublicIPAddress :: Lens' CreateLaunchConfiguration (Maybe Bool)+clcAssociatePublicIPAddress = lens _clcAssociatePublicIPAddress (\ s a -> s{_clcAssociatePublicIPAddress = a}); --- | Enables detailed monitoring if it is disabled. Detailed monitoring is enabled--- by default.+-- | Enables detailed monitoring if it is disabled. Detailed monitoring is+-- enabled by default. ----- When detailed monitoring is enabled, Amazon Cloudwatch generates metrics--- every minute and your account is charged a fee. When you disable detailed--- monitoring, by specifying 'False', Cloudwatch generates metrics every 5--- minutes. For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-instance-monitoring.html Monitor Your Auto Scaling Instances> in the /Auto Scaling Developer Guide/.+-- When detailed monitoring is enabled, Amazon CloudWatch generates metrics+-- every minute and your account is charged a fee. When you disable+-- detailed monitoring, by specifying 'False', CloudWatch generates metrics+-- every 5 minutes. For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-instance-monitoring.html Monitor Your Auto Scaling Instances>+-- in the /Auto Scaling Developer Guide/. clcInstanceMonitoring :: Lens' CreateLaunchConfiguration (Maybe InstanceMonitoring)-clcInstanceMonitoring =-    lens _clcInstanceMonitoring (\s a -> s { _clcInstanceMonitoring = a })+clcInstanceMonitoring = lens _clcInstanceMonitoring (\ s a -> s{_clcInstanceMonitoring = a}); --- | The instance type of the Amazon EC2 instance. For information about--- available Amazon EC2 instance types, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#AvailableInstanceTypes  Available Instance Types> in the /Amazon Elastic Cloud Compute User Guide./-clcInstanceType :: Lens' CreateLaunchConfiguration (Maybe Text)-clcInstanceType = lens _clcInstanceType (\s a -> s { _clcInstanceType = a })+-- | The maximum hourly price to be paid for any Spot Instance launched to+-- fulfill the request. Spot Instances are launched when the price you+-- specify exceeds the current Spot market price. For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US-SpotInstances.html Launch Spot Instances in Your Auto Scaling Group>+-- in the /Auto Scaling Developer Guide/.+clcSpotPrice :: Lens' CreateLaunchConfiguration (Maybe Text)+clcSpotPrice = lens _clcSpotPrice (\ s a -> s{_clcSpotPrice = a}); --- | The ID of the kernel associated with the Amazon EC2 AMI.+-- | The name of the key pair. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html Amazon EC2 Key Pairs>+-- in the /Amazon Elastic Compute Cloud User Guide/.+clcKeyName :: Lens' CreateLaunchConfiguration (Maybe Text)+clcKeyName = lens _clcKeyName (\ s a -> s{_clcKeyName = a});++-- | The IDs of one or more security groups for the VPC specified in+-- 'ClassicLinkVPCId'. This parameter is required if 'ClassicLinkVPCId' is+-- specified, and is not supported otherwise. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html ClassicLink>+-- in the /Amazon Elastic Compute Cloud User Guide/.+clcClassicLinkVPCSecurityGroups :: Lens' CreateLaunchConfiguration [Text]+clcClassicLinkVPCSecurityGroups = lens _clcClassicLinkVPCSecurityGroups (\ s a -> s{_clcClassicLinkVPCSecurityGroups = a}) . _Default . _Coerce;++-- | The ID of the RAM disk associated with the AMI.+clcRAMDiskId :: Lens' CreateLaunchConfiguration (Maybe Text)+clcRAMDiskId = lens _clcRAMDiskId (\ s a -> s{_clcRAMDiskId = a});++-- | The ID of the kernel associated with the AMI. clcKernelId :: Lens' CreateLaunchConfiguration (Maybe Text)-clcKernelId = lens _clcKernelId (\s a -> s { _clcKernelId = a })+clcKernelId = lens _clcKernelId (\ s a -> s{_clcKernelId = a}); --- | The name of the key pair. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html Amazon EC2 Key Pairs> in--- the /Amazon Elastic Compute Cloud User Guide/.-clcKeyName :: Lens' CreateLaunchConfiguration (Maybe Text)-clcKeyName = lens _clcKeyName (\s a -> s { _clcKeyName = a })+-- | The instance type of the EC2 instance. For information about available+-- instance types, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#AvailableInstanceTypes Available Instance Types>+-- in the /Amazon Elastic Cloud Compute User Guide./+clcInstanceType :: Lens' CreateLaunchConfiguration (Maybe Text)+clcInstanceType = lens _clcInstanceType (\ s a -> s{_clcInstanceType = a}); --- | The name of the launch configuration. This name must be unique within the--- scope of your AWS account.-clcLaunchConfigurationName :: Lens' CreateLaunchConfiguration Text-clcLaunchConfigurationName =-    lens _clcLaunchConfigurationName-        (\s a -> s { _clcLaunchConfigurationName = a })+-- | Indicates whether the instance is optimized for Amazon EBS I\/O. By+-- default, the instance is not optimized for EBS I\/O. The optimization+-- provides dedicated throughput to Amazon EBS and an optimized+-- configuration stack to provide optimal I\/O performance. This+-- optimization is not available with all instance types. Additional usage+-- charges apply. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html Amazon EBS-Optimized Instances>+-- in the /Amazon Elastic Compute Cloud User Guide/.+clcEBSOptimized :: Lens' CreateLaunchConfiguration (Maybe Bool)+clcEBSOptimized = lens _clcEBSOptimized (\ s a -> s{_clcEBSOptimized = a}); --- | The tenancy of the instance. An instance with a tenancy of 'dedicated' runs on--- single-tenant hardware and can only be launched in a VPC.------ You must set the value of this parameter to 'dedicated' if want to launch--- Dedicated Instances in a shared tenancy VPC (VPC with instance placement--- tenancy attribute set to 'default').------ If you specify a value for this parameter, be sure to specify at least one--- VPC subnet using the /VPCZoneIdentifier/ parameter when you create your group.+-- | The user data to make available to the launched EC2 instances. For more+-- information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html Instance Metadata and User Data>+-- in the /Amazon Elastic Compute Cloud User Guide/. ----- For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/autoscalingsubnets.html Auto Scaling and Amazon VPC> in the /Auto ScalingDeveloper Guide/.+-- At this time, launch configurations don\'t support compressed (zipped)+-- user data files.+clcUserData :: Lens' CreateLaunchConfiguration (Maybe Text)+clcUserData = lens _clcUserData (\ s a -> s{_clcUserData = a});++-- | The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances+-- to. This parameter is supported only if you are launching EC2-Classic+-- instances. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html ClassicLink>+-- in the /Amazon Elastic Compute Cloud User Guide/.+clcClassicLinkVPCId :: Lens' CreateLaunchConfiguration (Maybe Text)+clcClassicLinkVPCId = lens _clcClassicLinkVPCId (\ s a -> s{_clcClassicLinkVPCId = a});++-- | The name or the Amazon Resource Name (ARN) of the instance profile+-- associated with the IAM role for the instance. ----- Valid values: 'default' | 'dedicated'-clcPlacementTenancy :: Lens' CreateLaunchConfiguration (Maybe Text)-clcPlacementTenancy =-    lens _clcPlacementTenancy (\s a -> s { _clcPlacementTenancy = a })+-- EC2 instances launched with an IAM role will automatically have AWS+-- security credentials available. You can use IAM roles with Auto Scaling+-- to automatically enable applications running on your EC2 instances to+-- securely access other AWS resources. For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/us-iam-role.html Launch Auto Scaling Instances with an IAM Role>+-- in the /Auto Scaling Developer Guide/.+clcIAMInstanceProfile :: Lens' CreateLaunchConfiguration (Maybe Text)+clcIAMInstanceProfile = lens _clcIAMInstanceProfile (\ s a -> s{_clcIAMInstanceProfile = a}); --- | The ID of the RAM disk associated with the Amazon EC2 AMI.-clcRamdiskId :: Lens' CreateLaunchConfiguration (Maybe Text)-clcRamdiskId = lens _clcRamdiskId (\s a -> s { _clcRamdiskId = a })+-- | The ID of the Amazon Machine Image (AMI) to use to launch your EC2+-- instances. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html Finding an AMI>+-- in the /Amazon Elastic Compute Cloud User Guide/.+clcImageId :: Lens' CreateLaunchConfiguration (Maybe Text)+clcImageId = lens _clcImageId (\ s a -> s{_clcImageId = a}); --- | One or more security groups with which to associate the instances.+-- | The tenancy of the instance. An instance with a tenancy of 'dedicated'+-- runs on single-tenant hardware and can only be launched into a VPC. ----- If your instances are launched in EC2-Classic, you can either specify--- security group names or the security group IDs. For more information about--- security groups for EC2-Classic, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html Amazon EC2 Security Groups> in the /AmazonElastic Compute Cloud User Guide/.+-- You must set the value of this parameter to 'dedicated' if want to+-- launch Dedicated Instances into a shared tenancy VPC (VPC with instance+-- placement tenancy attribute set to 'default'). ----- If your instances are launched in a VPC, specify security group IDs. For--- more information, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html Security Groups for Your VPC> in the /Amazon VirtualPrivate Cloud User Guide/.-clcSecurityGroups :: Lens' CreateLaunchConfiguration [Text]-clcSecurityGroups =-    lens _clcSecurityGroups (\s a -> s { _clcSecurityGroups = a })-        . _List+-- If you specify a value for this parameter, be sure to specify at least+-- one subnet using the /VPCZoneIdentifier/ parameter when you create your+-- group.+--+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/autoscalingsubnets.html Auto Scaling and Amazon Virtual Private Cloud>+-- in the /Auto Scaling Developer Guide/.+--+-- Valid values: 'default' | 'dedicated'+clcPlacementTenancy :: Lens' CreateLaunchConfiguration (Maybe Text)+clcPlacementTenancy = lens _clcPlacementTenancy (\ s a -> s{_clcPlacementTenancy = a}); --- | The maximum hourly price to be paid for any Spot Instance launched to fulfill--- the request. Spot Instances are launched when the price you specify exceeds--- the current Spot market price. For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US-SpotInstances.html Launch SpotInstances in Your Auto Scaling Group> in the /Auto Scaling Developer Guide/.-clcSpotPrice :: Lens' CreateLaunchConfiguration (Maybe Text)-clcSpotPrice = lens _clcSpotPrice (\s a -> s { _clcSpotPrice = a })+-- | One or more mappings that specify how block devices are exposed to the+-- instance. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html Block Device Mapping>+-- in the /Amazon Elastic Compute Cloud User Guide/.+clcBlockDeviceMappings :: Lens' CreateLaunchConfiguration [BlockDeviceMapping]+clcBlockDeviceMappings = lens _clcBlockDeviceMappings (\ s a -> s{_clcBlockDeviceMappings = a}) . _Default . _Coerce; --- | The user data to make available to the launched EC2 instances. For more--- information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html Instance Metadata and User Data> in the /Amazon ElasticCompute Cloud User Guide/.------ At this time, launch configurations don't support compressed (zipped) user--- data files.-clcUserData :: Lens' CreateLaunchConfiguration (Maybe Text)-clcUserData = lens _clcUserData (\s a -> s { _clcUserData = a })+-- | The name of the launch configuration. This name must be unique within+-- the scope of your AWS account.+clcLaunchConfigurationName :: Lens' CreateLaunchConfiguration Text+clcLaunchConfigurationName = lens _clcLaunchConfigurationName (\ s a -> s{_clcLaunchConfigurationName = a}); -data CreateLaunchConfigurationResponse = CreateLaunchConfigurationResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest CreateLaunchConfiguration where+        type Sv CreateLaunchConfiguration = AutoScaling+        type Rs CreateLaunchConfiguration =+             CreateLaunchConfigurationResponse+        request = postQuery+        response+          = receiveNull CreateLaunchConfigurationResponse' --- | 'CreateLaunchConfigurationResponse' constructor.-createLaunchConfigurationResponse :: CreateLaunchConfigurationResponse-createLaunchConfigurationResponse = CreateLaunchConfigurationResponse+instance ToHeaders CreateLaunchConfiguration where+        toHeaders = const mempty  instance ToPath CreateLaunchConfiguration where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateLaunchConfiguration where-    toQuery CreateLaunchConfiguration{..} = mconcat-        [ "AssociatePublicIpAddress"     =? _clcAssociatePublicIpAddress-        , "BlockDeviceMappings"          =? _clcBlockDeviceMappings-        , "ClassicLinkVPCId"             =? _clcClassicLinkVPCId-        , "ClassicLinkVPCSecurityGroups" =? _clcClassicLinkVPCSecurityGroups-        , "EbsOptimized"                 =? _clcEbsOptimized-        , "IamInstanceProfile"           =? _clcIamInstanceProfile-        , "ImageId"                      =? _clcImageId-        , "InstanceId"                   =? _clcInstanceId-        , "InstanceMonitoring"           =? _clcInstanceMonitoring-        , "InstanceType"                 =? _clcInstanceType-        , "KernelId"                     =? _clcKernelId-        , "KeyName"                      =? _clcKeyName-        , "LaunchConfigurationName"      =? _clcLaunchConfigurationName-        , "PlacementTenancy"             =? _clcPlacementTenancy-        , "RamdiskId"                    =? _clcRamdiskId-        , "SecurityGroups"               =? _clcSecurityGroups-        , "SpotPrice"                    =? _clcSpotPrice-        , "UserData"                     =? _clcUserData-        ]--instance ToHeaders CreateLaunchConfiguration+        toQuery CreateLaunchConfiguration'{..}+          = mconcat+              ["Action" =:+                 ("CreateLaunchConfiguration" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "InstanceId" =: _clcInstanceId,+               "SecurityGroups" =:+                 toQuery+                   (toQueryList "member" <$> _clcSecurityGroups),+               "AssociatePublicIpAddress" =:+                 _clcAssociatePublicIPAddress,+               "InstanceMonitoring" =: _clcInstanceMonitoring,+               "SpotPrice" =: _clcSpotPrice,+               "KeyName" =: _clcKeyName,+               "ClassicLinkVPCSecurityGroups" =:+                 toQuery+                   (toQueryList "member" <$>+                      _clcClassicLinkVPCSecurityGroups),+               "RamdiskId" =: _clcRAMDiskId,+               "KernelId" =: _clcKernelId,+               "InstanceType" =: _clcInstanceType,+               "EbsOptimized" =: _clcEBSOptimized,+               "UserData" =: _clcUserData,+               "ClassicLinkVPCId" =: _clcClassicLinkVPCId,+               "IamInstanceProfile" =: _clcIAMInstanceProfile,+               "ImageId" =: _clcImageId,+               "PlacementTenancy" =: _clcPlacementTenancy,+               "BlockDeviceMappings" =:+                 toQuery+                   (toQueryList "member" <$> _clcBlockDeviceMappings),+               "LaunchConfigurationName" =:+                 _clcLaunchConfigurationName] -instance AWSRequest CreateLaunchConfiguration where-    type Sv CreateLaunchConfiguration = AutoScaling-    type Rs CreateLaunchConfiguration = CreateLaunchConfigurationResponse+-- | /See:/ 'createLaunchConfigurationResponse' smart constructor.+data CreateLaunchConfigurationResponse =+    CreateLaunchConfigurationResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "CreateLaunchConfiguration"-    response = nullResponse CreateLaunchConfigurationResponse+-- | Creates a value of 'CreateLaunchConfigurationResponse' with the minimum fields required to make a request.+--+createLaunchConfigurationResponse+    :: CreateLaunchConfigurationResponse+createLaunchConfigurationResponse = CreateLaunchConfigurationResponse'
gen/Network/AWS/AutoScaling/CreateOrUpdateTags.hs view
@@ -1,115 +1,108 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.CreateOrUpdateTags--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates or updates tags for the specified Auto Scaling group.+-- Creates or updates tags for the specified Auto Scaling group. ----- A tag's definition is composed of a resource ID, resource type, key and--- value, and the propagate flag. Value and the propagate flag are optional--- parameters. See the Request Parameters for more information.  For more--- information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASTagging.html Add, Modify, or Remove Auto Scaling Group Tags> in the /AutoScaling Developer Guide/.+-- A tag is defined by its resource ID, resource type, key, value, and+-- propagate flag. The value and the propagate flag are optional+-- parameters. The only supported resource type is 'auto-scaling-group',+-- and the resource ID must be the name of the group. The+-- 'PropagateAtLaunch' flag determines whether the tag is added to+-- instances launched in the group. Valid values are 'true' or 'false'. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_CreateOrUpdateTags.html>+-- When you specify a tag with a key that already exists, the operation+-- overwrites the previous tag definition, and you do not get an error+-- message.+--+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASTagging.html Tagging Auto Scaling Groups and Instances>+-- in the /Auto Scaling Developer Guide/.+--+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_CreateOrUpdateTags.html AWS API Reference> for CreateOrUpdateTags. module Network.AWS.AutoScaling.CreateOrUpdateTags     (-    -- * Request-      CreateOrUpdateTags-    -- ** Request constructor-    , createOrUpdateTags-    -- ** Request lenses+    -- * Creating a Request+      createOrUpdateTags+    , CreateOrUpdateTags+    -- * Request Lenses     , coutTags -    -- * Response-    , CreateOrUpdateTagsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createOrUpdateTagsResponse+    , CreateOrUpdateTagsResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts--newtype CreateOrUpdateTags = CreateOrUpdateTags-    { _coutTags :: List "member" Tag-    } deriving (Eq, Read, Show, Monoid, Semigroup)--instance GHC.Exts.IsList CreateOrUpdateTags where-    type Item CreateOrUpdateTags = Tag+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -    fromList = CreateOrUpdateTags . GHC.Exts.fromList-    toList   = GHC.Exts.toList . _coutTags+-- | /See:/ 'createOrUpdateTags' smart constructor.+newtype CreateOrUpdateTags = CreateOrUpdateTags'+    { _coutTags :: [Tag]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateOrUpdateTags' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateOrUpdateTags' with the minimum fields required to make a request. ----- * 'coutTags' @::@ ['Tag']+-- Use one of the following lenses to modify other fields as desired: ---createOrUpdateTags :: CreateOrUpdateTags-createOrUpdateTags = CreateOrUpdateTags+-- * 'coutTags'+createOrUpdateTags+    :: CreateOrUpdateTags+createOrUpdateTags =+    CreateOrUpdateTags'     { _coutTags = mempty     } --- | The tag to be created or updated. Each tag should be defined by its resource--- type, resource ID, key, value, and a propagate flag. The resource type and--- resource ID identify the type and name of resource for which the tag is--- created. Currently, 'auto-scaling-group' is the only supported resource type.--- The valid value for the resource ID is /groupname/.------ The 'PropagateAtLaunch' flag defines whether the new tag will be applied to--- instances launched by the group. Valid values are 'true' or 'false'. However,--- instances that are already running will not get the new or updated tag.--- Likewise, when you modify a tag, the updated version will be applied only to--- new instances launched by the group after the change. Running instances that--- had the previous version of the tag will continue to have the older tag.------ When you create a tag and a tag of the same name already exists, the--- operation overwrites the previous tag definition, but you will not get an--- error message.+-- | One or more tags. coutTags :: Lens' CreateOrUpdateTags [Tag]-coutTags = lens _coutTags (\s a -> s { _coutTags = a }) . _List+coutTags = lens _coutTags (\ s a -> s{_coutTags = a}) . _Coerce; -data CreateOrUpdateTagsResponse = CreateOrUpdateTagsResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest CreateOrUpdateTags where+        type Sv CreateOrUpdateTags = AutoScaling+        type Rs CreateOrUpdateTags =+             CreateOrUpdateTagsResponse+        request = postQuery+        response = receiveNull CreateOrUpdateTagsResponse' --- | 'CreateOrUpdateTagsResponse' constructor.-createOrUpdateTagsResponse :: CreateOrUpdateTagsResponse-createOrUpdateTagsResponse = CreateOrUpdateTagsResponse+instance ToHeaders CreateOrUpdateTags where+        toHeaders = const mempty  instance ToPath CreateOrUpdateTags where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateOrUpdateTags where-    toQuery CreateOrUpdateTags{..} = mconcat-        [ "Tags" =? _coutTags-        ]--instance ToHeaders CreateOrUpdateTags+        toQuery CreateOrUpdateTags'{..}+          = mconcat+              ["Action" =: ("CreateOrUpdateTags" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "Tags" =: toQueryList "member" _coutTags] -instance AWSRequest CreateOrUpdateTags where-    type Sv CreateOrUpdateTags = AutoScaling-    type Rs CreateOrUpdateTags = CreateOrUpdateTagsResponse+-- | /See:/ 'createOrUpdateTagsResponse' smart constructor.+data CreateOrUpdateTagsResponse =+    CreateOrUpdateTagsResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "CreateOrUpdateTags"-    response = nullResponse CreateOrUpdateTagsResponse+-- | Creates a value of 'CreateOrUpdateTagsResponse' with the minimum fields required to make a request.+--+createOrUpdateTagsResponse+    :: CreateOrUpdateTagsResponse+createOrUpdateTagsResponse = CreateOrUpdateTagsResponse'
gen/Network/AWS/AutoScaling/DeleteAutoScalingGroup.hs view
@@ -1,108 +1,115 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DeleteAutoScalingGroup--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified Auto Scaling group.+-- Deletes the specified Auto Scaling group. -- -- The group must have no instances and no scaling activities in progress. ----- To remove all instances before calling 'DeleteAutoScalingGroup', you can call 'UpdateAutoScalingGroup' to set the minimum and maximum size of the AutoScalingGroup to zero.+-- To remove all instances before calling 'DeleteAutoScalingGroup', call+-- UpdateAutoScalingGroup to set the minimum and maximum size of the Auto+-- Scaling group to zero. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeleteAutoScalingGroup.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeleteAutoScalingGroup.html AWS API Reference> for DeleteAutoScalingGroup. module Network.AWS.AutoScaling.DeleteAutoScalingGroup     (-    -- * Request-      DeleteAutoScalingGroup-    -- ** Request constructor-    , deleteAutoScalingGroup-    -- ** Request lenses-    , dasgAutoScalingGroupName+    -- * Creating a Request+      deleteAutoScalingGroup+    , DeleteAutoScalingGroup+    -- * Request Lenses     , dasgForceDelete+    , dasgAutoScalingGroupName -    -- * Response-    , DeleteAutoScalingGroupResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteAutoScalingGroupResponse+    , DeleteAutoScalingGroupResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DeleteAutoScalingGroup = DeleteAutoScalingGroup-    { _dasgAutoScalingGroupName :: Text-    , _dasgForceDelete          :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'deleteAutoScalingGroup' smart constructor.+data DeleteAutoScalingGroup = DeleteAutoScalingGroup'+    { _dasgForceDelete          :: !(Maybe Bool)+    , _dasgAutoScalingGroupName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteAutoScalingGroup' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteAutoScalingGroup' with the minimum fields required to make a request. ----- * 'dasgAutoScalingGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dasgForceDelete' @::@ 'Maybe' 'Bool'+-- * 'dasgForceDelete' ---deleteAutoScalingGroup :: Text -- ^ 'dasgAutoScalingGroupName'-                       -> DeleteAutoScalingGroup-deleteAutoScalingGroup p1 = DeleteAutoScalingGroup-    { _dasgAutoScalingGroupName = p1-    , _dasgForceDelete          = Nothing+-- * 'dasgAutoScalingGroupName'+deleteAutoScalingGroup+    :: Text -- ^ 'dasgAutoScalingGroupName'+    -> DeleteAutoScalingGroup+deleteAutoScalingGroup pAutoScalingGroupName_ =+    DeleteAutoScalingGroup'+    { _dasgForceDelete = Nothing+    , _dasgAutoScalingGroupName = pAutoScalingGroupName_     } +-- | Specifies that the group will be deleted along with all instances+-- associated with the group, without waiting for all instances to be+-- terminated. This parameter also deletes any lifecycle actions associated+-- with the group.+dasgForceDelete :: Lens' DeleteAutoScalingGroup (Maybe Bool)+dasgForceDelete = lens _dasgForceDelete (\ s a -> s{_dasgForceDelete = a});+ -- | The name of the group to delete. dasgAutoScalingGroupName :: Lens' DeleteAutoScalingGroup Text-dasgAutoScalingGroupName =-    lens _dasgAutoScalingGroupName-        (\s a -> s { _dasgAutoScalingGroupName = a })---- | Specifies that the group will be deleted along with all instances associated--- with the group, without waiting for all instances to be terminated. This--- parameter also deletes any lifecycle actions associated with the group.-dasgForceDelete :: Lens' DeleteAutoScalingGroup (Maybe Bool)-dasgForceDelete = lens _dasgForceDelete (\s a -> s { _dasgForceDelete = a })+dasgAutoScalingGroupName = lens _dasgAutoScalingGroupName (\ s a -> s{_dasgAutoScalingGroupName = a}); -data DeleteAutoScalingGroupResponse = DeleteAutoScalingGroupResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteAutoScalingGroup where+        type Sv DeleteAutoScalingGroup = AutoScaling+        type Rs DeleteAutoScalingGroup =+             DeleteAutoScalingGroupResponse+        request = postQuery+        response+          = receiveNull DeleteAutoScalingGroupResponse' --- | 'DeleteAutoScalingGroupResponse' constructor.-deleteAutoScalingGroupResponse :: DeleteAutoScalingGroupResponse-deleteAutoScalingGroupResponse = DeleteAutoScalingGroupResponse+instance ToHeaders DeleteAutoScalingGroup where+        toHeaders = const mempty  instance ToPath DeleteAutoScalingGroup where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteAutoScalingGroup where-    toQuery DeleteAutoScalingGroup{..} = mconcat-        [ "AutoScalingGroupName" =? _dasgAutoScalingGroupName-        , "ForceDelete"          =? _dasgForceDelete-        ]--instance ToHeaders DeleteAutoScalingGroup+        toQuery DeleteAutoScalingGroup'{..}+          = mconcat+              ["Action" =:+                 ("DeleteAutoScalingGroup" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "ForceDelete" =: _dasgForceDelete,+               "AutoScalingGroupName" =: _dasgAutoScalingGroupName] -instance AWSRequest DeleteAutoScalingGroup where-    type Sv DeleteAutoScalingGroup = AutoScaling-    type Rs DeleteAutoScalingGroup = DeleteAutoScalingGroupResponse+-- | /See:/ 'deleteAutoScalingGroupResponse' smart constructor.+data DeleteAutoScalingGroupResponse =+    DeleteAutoScalingGroupResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteAutoScalingGroup"-    response = nullResponse DeleteAutoScalingGroupResponse+-- | Creates a value of 'DeleteAutoScalingGroupResponse' with the minimum fields required to make a request.+--+deleteAutoScalingGroupResponse+    :: DeleteAutoScalingGroupResponse+deleteAutoScalingGroupResponse = DeleteAutoScalingGroupResponse'
gen/Network/AWS/AutoScaling/DeleteLaunchConfiguration.hs view
@@ -1,95 +1,101 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DeleteLaunchConfiguration--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified launch configuration.+-- Deletes the specified launch configuration. ----- The launch configuration must not be attached to an Auto Scaling group. When--- this call completes, the launch configuration is no longer available for use.+-- The launch configuration must not be attached to an Auto Scaling group.+-- When this call completes, the launch configuration is no longer+-- available for use. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeleteLaunchConfiguration.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeleteLaunchConfiguration.html AWS API Reference> for DeleteLaunchConfiguration. module Network.AWS.AutoScaling.DeleteLaunchConfiguration     (-    -- * Request-      DeleteLaunchConfiguration-    -- ** Request constructor-    , deleteLaunchConfiguration-    -- ** Request lenses+    -- * Creating a Request+      deleteLaunchConfiguration+    , DeleteLaunchConfiguration+    -- * Request Lenses     , dlcLaunchConfigurationName -    -- * Response-    , DeleteLaunchConfigurationResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteLaunchConfigurationResponse+    , DeleteLaunchConfigurationResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -newtype DeleteLaunchConfiguration = DeleteLaunchConfiguration+-- | /See:/ 'deleteLaunchConfiguration' smart constructor.+newtype DeleteLaunchConfiguration = DeleteLaunchConfiguration'     { _dlcLaunchConfigurationName :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteLaunchConfiguration' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteLaunchConfiguration' with the minimum fields required to make a request. ----- * 'dlcLaunchConfigurationName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---deleteLaunchConfiguration :: Text -- ^ 'dlcLaunchConfigurationName'-                          -> DeleteLaunchConfiguration-deleteLaunchConfiguration p1 = DeleteLaunchConfiguration-    { _dlcLaunchConfigurationName = p1+-- * 'dlcLaunchConfigurationName'+deleteLaunchConfiguration+    :: Text -- ^ 'dlcLaunchConfigurationName'+    -> DeleteLaunchConfiguration+deleteLaunchConfiguration pLaunchConfigurationName_ =+    DeleteLaunchConfiguration'+    { _dlcLaunchConfigurationName = pLaunchConfigurationName_     }  -- | The name of the launch configuration. dlcLaunchConfigurationName :: Lens' DeleteLaunchConfiguration Text-dlcLaunchConfigurationName =-    lens _dlcLaunchConfigurationName-        (\s a -> s { _dlcLaunchConfigurationName = a })+dlcLaunchConfigurationName = lens _dlcLaunchConfigurationName (\ s a -> s{_dlcLaunchConfigurationName = a}); -data DeleteLaunchConfigurationResponse = DeleteLaunchConfigurationResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteLaunchConfiguration where+        type Sv DeleteLaunchConfiguration = AutoScaling+        type Rs DeleteLaunchConfiguration =+             DeleteLaunchConfigurationResponse+        request = postQuery+        response+          = receiveNull DeleteLaunchConfigurationResponse' --- | 'DeleteLaunchConfigurationResponse' constructor.-deleteLaunchConfigurationResponse :: DeleteLaunchConfigurationResponse-deleteLaunchConfigurationResponse = DeleteLaunchConfigurationResponse+instance ToHeaders DeleteLaunchConfiguration where+        toHeaders = const mempty  instance ToPath DeleteLaunchConfiguration where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteLaunchConfiguration where-    toQuery DeleteLaunchConfiguration{..} = mconcat-        [ "LaunchConfigurationName" =? _dlcLaunchConfigurationName-        ]--instance ToHeaders DeleteLaunchConfiguration+        toQuery DeleteLaunchConfiguration'{..}+          = mconcat+              ["Action" =:+                 ("DeleteLaunchConfiguration" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "LaunchConfigurationName" =:+                 _dlcLaunchConfigurationName] -instance AWSRequest DeleteLaunchConfiguration where-    type Sv DeleteLaunchConfiguration = AutoScaling-    type Rs DeleteLaunchConfiguration = DeleteLaunchConfigurationResponse+-- | /See:/ 'deleteLaunchConfigurationResponse' smart constructor.+data DeleteLaunchConfigurationResponse =+    DeleteLaunchConfigurationResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteLaunchConfiguration"-    response = nullResponse DeleteLaunchConfigurationResponse+-- | Creates a value of 'DeleteLaunchConfigurationResponse' with the minimum fields required to make a request.+--+deleteLaunchConfigurationResponse+    :: DeleteLaunchConfigurationResponse+deleteLaunchConfigurationResponse = DeleteLaunchConfigurationResponse'
gen/Network/AWS/AutoScaling/DeleteLifecycleHook.hs view
@@ -1,106 +1,125 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DeleteLifecycleHook--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified lifecycle hook.+-- Deletes the specified lifecycle hook. ----- If there are any outstanding lifecycle actions, they are completed first ('ABANDON' for launching instances, 'CONTINUE' for terminating instances).+-- If there are any outstanding lifecycle actions, they are completed first+-- ('ABANDON' for launching instances, 'CONTINUE' for terminating+-- instances). ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeleteLifecycleHook.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeleteLifecycleHook.html AWS API Reference> for DeleteLifecycleHook. module Network.AWS.AutoScaling.DeleteLifecycleHook     (-    -- * Request-      DeleteLifecycleHook-    -- ** Request constructor-    , deleteLifecycleHook-    -- ** Request lenses-    , dlh1AutoScalingGroupName-    , dlh1LifecycleHookName+    -- * Creating a Request+      deleteLifecycleHook+    , DeleteLifecycleHook+    -- * Request Lenses+    , delLifecycleHookName+    , delAutoScalingGroupName -    -- * Response-    , DeleteLifecycleHookResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteLifecycleHookResponse+    , DeleteLifecycleHookResponse+    -- * Response Lenses+    , drsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DeleteLifecycleHook = DeleteLifecycleHook-    { _dlh1AutoScalingGroupName :: Text-    , _dlh1LifecycleHookName    :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'deleteLifecycleHook' smart constructor.+data DeleteLifecycleHook = DeleteLifecycleHook'+    { _delLifecycleHookName    :: !Text+    , _delAutoScalingGroupName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteLifecycleHook' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteLifecycleHook' with the minimum fields required to make a request. ----- * 'dlh1AutoScalingGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dlh1LifecycleHookName' @::@ 'Text'+-- * 'delLifecycleHookName' ---deleteLifecycleHook :: Text -- ^ 'dlh1LifecycleHookName'-                    -> Text -- ^ 'dlh1AutoScalingGroupName'-                    -> DeleteLifecycleHook-deleteLifecycleHook p1 p2 = DeleteLifecycleHook-    { _dlh1LifecycleHookName    = p1-    , _dlh1AutoScalingGroupName = p2+-- * 'delAutoScalingGroupName'+deleteLifecycleHook+    :: Text -- ^ 'delLifecycleHookName'+    -> Text -- ^ 'delAutoScalingGroupName'+    -> DeleteLifecycleHook+deleteLifecycleHook pLifecycleHookName_ pAutoScalingGroupName_ =+    DeleteLifecycleHook'+    { _delLifecycleHookName = pLifecycleHookName_+    , _delAutoScalingGroupName = pAutoScalingGroupName_     } --- | The name of the Auto Scaling group for the lifecycle hook.-dlh1AutoScalingGroupName :: Lens' DeleteLifecycleHook Text-dlh1AutoScalingGroupName =-    lens _dlh1AutoScalingGroupName-        (\s a -> s { _dlh1AutoScalingGroupName = a })- -- | The name of the lifecycle hook.-dlh1LifecycleHookName :: Lens' DeleteLifecycleHook Text-dlh1LifecycleHookName =-    lens _dlh1LifecycleHookName (\s a -> s { _dlh1LifecycleHookName = a })+delLifecycleHookName :: Lens' DeleteLifecycleHook Text+delLifecycleHookName = lens _delLifecycleHookName (\ s a -> s{_delLifecycleHookName = a}); -data DeleteLifecycleHookResponse = DeleteLifecycleHookResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | The name of the Auto Scaling group for the lifecycle hook.+delAutoScalingGroupName :: Lens' DeleteLifecycleHook Text+delAutoScalingGroupName = lens _delAutoScalingGroupName (\ s a -> s{_delAutoScalingGroupName = a}); --- | 'DeleteLifecycleHookResponse' constructor.-deleteLifecycleHookResponse :: DeleteLifecycleHookResponse-deleteLifecycleHookResponse = DeleteLifecycleHookResponse+instance AWSRequest DeleteLifecycleHook where+        type Sv DeleteLifecycleHook = AutoScaling+        type Rs DeleteLifecycleHook =+             DeleteLifecycleHookResponse+        request = postQuery+        response+          = receiveXMLWrapper "DeleteLifecycleHookResult"+              (\ s h x ->+                 DeleteLifecycleHookResponse' <$> (pure (fromEnum s))) +instance ToHeaders DeleteLifecycleHook where+        toHeaders = const mempty+ instance ToPath DeleteLifecycleHook where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteLifecycleHook where-    toQuery DeleteLifecycleHook{..} = mconcat-        [ "AutoScalingGroupName" =? _dlh1AutoScalingGroupName-        , "LifecycleHookName"    =? _dlh1LifecycleHookName-        ]+        toQuery DeleteLifecycleHook'{..}+          = mconcat+              ["Action" =: ("DeleteLifecycleHook" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "LifecycleHookName" =: _delLifecycleHookName,+               "AutoScalingGroupName" =: _delAutoScalingGroupName] -instance ToHeaders DeleteLifecycleHook+-- | /See:/ 'deleteLifecycleHookResponse' smart constructor.+newtype DeleteLifecycleHookResponse = DeleteLifecycleHookResponse'+    { _drsStatus :: Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DeleteLifecycleHook where-    type Sv DeleteLifecycleHook = AutoScaling-    type Rs DeleteLifecycleHook = DeleteLifecycleHookResponse+-- | Creates a value of 'DeleteLifecycleHookResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drsStatus'+deleteLifecycleHookResponse+    :: Int -- ^ 'drsStatus'+    -> DeleteLifecycleHookResponse+deleteLifecycleHookResponse pStatus_ =+    DeleteLifecycleHookResponse'+    { _drsStatus = pStatus_+    } -    request  = post "DeleteLifecycleHook"-    response = nullResponse DeleteLifecycleHookResponse+-- | The response status code.+drsStatus :: Lens' DeleteLifecycleHookResponse Int+drsStatus = lens _drsStatus (\ s a -> s{_drsStatus = a});
gen/Network/AWS/AutoScaling/DeleteNotificationConfiguration.hs view
@@ -1,103 +1,113 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DeleteNotificationConfiguration--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified notification.+-- Deletes the specified notification. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeleteNotificationConfiguration.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeleteNotificationConfiguration.html AWS API Reference> for DeleteNotificationConfiguration. module Network.AWS.AutoScaling.DeleteNotificationConfiguration     (-    -- * Request-      DeleteNotificationConfiguration-    -- ** Request constructor-    , deleteNotificationConfiguration-    -- ** Request lenses+    -- * Creating a Request+      deleteNotificationConfiguration+    , DeleteNotificationConfiguration+    -- * Request Lenses     , dncAutoScalingGroupName     , dncTopicARN -    -- * Response-    , DeleteNotificationConfigurationResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteNotificationConfigurationResponse+    , DeleteNotificationConfigurationResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DeleteNotificationConfiguration = DeleteNotificationConfiguration-    { _dncAutoScalingGroupName :: Text-    , _dncTopicARN             :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'deleteNotificationConfiguration' smart constructor.+data DeleteNotificationConfiguration = DeleteNotificationConfiguration'+    { _dncAutoScalingGroupName :: !Text+    , _dncTopicARN             :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteNotificationConfiguration' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteNotificationConfiguration' with the minimum fields required to make a request. ----- * 'dncAutoScalingGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dncTopicARN' @::@ 'Text'+-- * 'dncAutoScalingGroupName' ---deleteNotificationConfiguration :: Text -- ^ 'dncAutoScalingGroupName'-                                -> Text -- ^ 'dncTopicARN'-                                -> DeleteNotificationConfiguration-deleteNotificationConfiguration p1 p2 = DeleteNotificationConfiguration-    { _dncAutoScalingGroupName = p1-    , _dncTopicARN             = p2+-- * 'dncTopicARN'+deleteNotificationConfiguration+    :: Text -- ^ 'dncAutoScalingGroupName'+    -> Text -- ^ 'dncTopicARN'+    -> DeleteNotificationConfiguration+deleteNotificationConfiguration pAutoScalingGroupName_ pTopicARN_ =+    DeleteNotificationConfiguration'+    { _dncAutoScalingGroupName = pAutoScalingGroupName_+    , _dncTopicARN = pTopicARN_     }  -- | The name of the Auto Scaling group. dncAutoScalingGroupName :: Lens' DeleteNotificationConfiguration Text-dncAutoScalingGroupName =-    lens _dncAutoScalingGroupName (\s a -> s { _dncAutoScalingGroupName = a })+dncAutoScalingGroupName = lens _dncAutoScalingGroupName (\ s a -> s{_dncAutoScalingGroupName = a});  -- | The Amazon Resource Name (ARN) of the Amazon Simple Notification Service -- (SNS) topic. dncTopicARN :: Lens' DeleteNotificationConfiguration Text-dncTopicARN = lens _dncTopicARN (\s a -> s { _dncTopicARN = a })+dncTopicARN = lens _dncTopicARN (\ s a -> s{_dncTopicARN = a}); -data DeleteNotificationConfigurationResponse = DeleteNotificationConfigurationResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteNotificationConfiguration+         where+        type Sv DeleteNotificationConfiguration = AutoScaling+        type Rs DeleteNotificationConfiguration =+             DeleteNotificationConfigurationResponse+        request = postQuery+        response+          = receiveNull+              DeleteNotificationConfigurationResponse' --- | 'DeleteNotificationConfigurationResponse' constructor.-deleteNotificationConfigurationResponse :: DeleteNotificationConfigurationResponse-deleteNotificationConfigurationResponse = DeleteNotificationConfigurationResponse+instance ToHeaders DeleteNotificationConfiguration+         where+        toHeaders = const mempty  instance ToPath DeleteNotificationConfiguration where-    toPath = const "/"--instance ToQuery DeleteNotificationConfiguration where-    toQuery DeleteNotificationConfiguration{..} = mconcat-        [ "AutoScalingGroupName" =? _dncAutoScalingGroupName-        , "TopicARN"             =? _dncTopicARN-        ]+        toPath = const "/" -instance ToHeaders DeleteNotificationConfiguration+instance ToQuery DeleteNotificationConfiguration+         where+        toQuery DeleteNotificationConfiguration'{..}+          = mconcat+              ["Action" =:+                 ("DeleteNotificationConfiguration" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "AutoScalingGroupName" =: _dncAutoScalingGroupName,+               "TopicARN" =: _dncTopicARN] -instance AWSRequest DeleteNotificationConfiguration where-    type Sv DeleteNotificationConfiguration = AutoScaling-    type Rs DeleteNotificationConfiguration = DeleteNotificationConfigurationResponse+-- | /See:/ 'deleteNotificationConfigurationResponse' smart constructor.+data DeleteNotificationConfigurationResponse =+    DeleteNotificationConfigurationResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteNotificationConfiguration"-    response = nullResponse DeleteNotificationConfigurationResponse+-- | Creates a value of 'DeleteNotificationConfigurationResponse' with the minimum fields required to make a request.+--+deleteNotificationConfigurationResponse+    :: DeleteNotificationConfigurationResponse+deleteNotificationConfigurationResponse =+    DeleteNotificationConfigurationResponse'
gen/Network/AWS/AutoScaling/DeletePolicy.hs view
@@ -1,101 +1,105 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DeletePolicy--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified Auto Scaling policy.+-- Deletes the specified Auto Scaling policy. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeletePolicy.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeletePolicy.html AWS API Reference> for DeletePolicy. module Network.AWS.AutoScaling.DeletePolicy     (-    -- * Request-      DeletePolicy-    -- ** Request constructor-    , deletePolicy-    -- ** Request lenses+    -- * Creating a Request+      deletePolicy+    , DeletePolicy+    -- * Request Lenses     , dpAutoScalingGroupName     , dpPolicyName -    -- * Response-    , DeletePolicyResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deletePolicyResponse+    , DeletePolicyResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts--data DeletePolicy = DeletePolicy-    { _dpAutoScalingGroupName :: Maybe Text-    , _dpPolicyName           :: Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DeletePolicy' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'deletePolicy' smart constructor.+data DeletePolicy = DeletePolicy'+    { _dpAutoScalingGroupName :: !(Maybe Text)+    , _dpPolicyName           :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeletePolicy' with the minimum fields required to make a request. ----- * 'dpAutoScalingGroupName' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dpPolicyName' @::@ 'Text'+-- * 'dpAutoScalingGroupName' ---deletePolicy :: Text -- ^ 'dpPolicyName'-             -> DeletePolicy-deletePolicy p1 = DeletePolicy-    { _dpPolicyName           = p1-    , _dpAutoScalingGroupName = Nothing+-- * 'dpPolicyName'+deletePolicy+    :: Text -- ^ 'dpPolicyName'+    -> DeletePolicy+deletePolicy pPolicyName_ =+    DeletePolicy'+    { _dpAutoScalingGroupName = Nothing+    , _dpPolicyName = pPolicyName_     }  -- | The name of the Auto Scaling group. dpAutoScalingGroupName :: Lens' DeletePolicy (Maybe Text)-dpAutoScalingGroupName =-    lens _dpAutoScalingGroupName (\s a -> s { _dpAutoScalingGroupName = a })+dpAutoScalingGroupName = lens _dpAutoScalingGroupName (\ s a -> s{_dpAutoScalingGroupName = a});  -- | The name or Amazon Resource Name (ARN) of the policy. dpPolicyName :: Lens' DeletePolicy Text-dpPolicyName = lens _dpPolicyName (\s a -> s { _dpPolicyName = a })+dpPolicyName = lens _dpPolicyName (\ s a -> s{_dpPolicyName = a}); -data DeletePolicyResponse = DeletePolicyResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeletePolicy where+        type Sv DeletePolicy = AutoScaling+        type Rs DeletePolicy = DeletePolicyResponse+        request = postQuery+        response = receiveNull DeletePolicyResponse' --- | 'DeletePolicyResponse' constructor.-deletePolicyResponse :: DeletePolicyResponse-deletePolicyResponse = DeletePolicyResponse+instance ToHeaders DeletePolicy where+        toHeaders = const mempty  instance ToPath DeletePolicy where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeletePolicy where-    toQuery DeletePolicy{..} = mconcat-        [ "AutoScalingGroupName" =? _dpAutoScalingGroupName-        , "PolicyName"           =? _dpPolicyName-        ]--instance ToHeaders DeletePolicy+        toQuery DeletePolicy'{..}+          = mconcat+              ["Action" =: ("DeletePolicy" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "AutoScalingGroupName" =: _dpAutoScalingGroupName,+               "PolicyName" =: _dpPolicyName] -instance AWSRequest DeletePolicy where-    type Sv DeletePolicy = AutoScaling-    type Rs DeletePolicy = DeletePolicyResponse+-- | /See:/ 'deletePolicyResponse' smart constructor.+data DeletePolicyResponse =+    DeletePolicyResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeletePolicy"-    response = nullResponse DeletePolicyResponse+-- | Creates a value of 'DeletePolicyResponse' with the minimum fields required to make a request.+--+deletePolicyResponse+    :: DeletePolicyResponse+deletePolicyResponse = DeletePolicyResponse'
gen/Network/AWS/AutoScaling/DeleteScheduledAction.hs view
@@ -1,102 +1,104 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DeleteScheduledAction--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified scheduled action.+-- Deletes the specified scheduled action. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeleteScheduledAction.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeleteScheduledAction.html AWS API Reference> for DeleteScheduledAction. module Network.AWS.AutoScaling.DeleteScheduledAction     (-    -- * Request-      DeleteScheduledAction-    -- ** Request constructor-    , deleteScheduledAction-    -- ** Request lenses+    -- * Creating a Request+      deleteScheduledAction+    , DeleteScheduledAction+    -- * Request Lenses     , dsaAutoScalingGroupName     , dsaScheduledActionName -    -- * Response-    , DeleteScheduledActionResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteScheduledActionResponse+    , DeleteScheduledActionResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DeleteScheduledAction = DeleteScheduledAction-    { _dsaAutoScalingGroupName :: Maybe Text-    , _dsaScheduledActionName  :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'deleteScheduledAction' smart constructor.+data DeleteScheduledAction = DeleteScheduledAction'+    { _dsaAutoScalingGroupName :: !(Maybe Text)+    , _dsaScheduledActionName  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteScheduledAction' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteScheduledAction' with the minimum fields required to make a request. ----- * 'dsaAutoScalingGroupName' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dsaScheduledActionName' @::@ 'Text'+-- * 'dsaAutoScalingGroupName' ---deleteScheduledAction :: Text -- ^ 'dsaScheduledActionName'-                      -> DeleteScheduledAction-deleteScheduledAction p1 = DeleteScheduledAction-    { _dsaScheduledActionName  = p1-    , _dsaAutoScalingGroupName = Nothing+-- * 'dsaScheduledActionName'+deleteScheduledAction+    :: Text -- ^ 'dsaScheduledActionName'+    -> DeleteScheduledAction+deleteScheduledAction pScheduledActionName_ =+    DeleteScheduledAction'+    { _dsaAutoScalingGroupName = Nothing+    , _dsaScheduledActionName = pScheduledActionName_     }  -- | The name of the Auto Scaling group. dsaAutoScalingGroupName :: Lens' DeleteScheduledAction (Maybe Text)-dsaAutoScalingGroupName =-    lens _dsaAutoScalingGroupName (\s a -> s { _dsaAutoScalingGroupName = a })+dsaAutoScalingGroupName = lens _dsaAutoScalingGroupName (\ s a -> s{_dsaAutoScalingGroupName = a});  -- | The name of the action to delete. dsaScheduledActionName :: Lens' DeleteScheduledAction Text-dsaScheduledActionName =-    lens _dsaScheduledActionName (\s a -> s { _dsaScheduledActionName = a })+dsaScheduledActionName = lens _dsaScheduledActionName (\ s a -> s{_dsaScheduledActionName = a}); -data DeleteScheduledActionResponse = DeleteScheduledActionResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteScheduledAction where+        type Sv DeleteScheduledAction = AutoScaling+        type Rs DeleteScheduledAction =+             DeleteScheduledActionResponse+        request = postQuery+        response = receiveNull DeleteScheduledActionResponse' --- | 'DeleteScheduledActionResponse' constructor.-deleteScheduledActionResponse :: DeleteScheduledActionResponse-deleteScheduledActionResponse = DeleteScheduledActionResponse+instance ToHeaders DeleteScheduledAction where+        toHeaders = const mempty  instance ToPath DeleteScheduledAction where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteScheduledAction where-    toQuery DeleteScheduledAction{..} = mconcat-        [ "AutoScalingGroupName" =? _dsaAutoScalingGroupName-        , "ScheduledActionName"  =? _dsaScheduledActionName-        ]--instance ToHeaders DeleteScheduledAction+        toQuery DeleteScheduledAction'{..}+          = mconcat+              ["Action" =: ("DeleteScheduledAction" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "AutoScalingGroupName" =: _dsaAutoScalingGroupName,+               "ScheduledActionName" =: _dsaScheduledActionName] -instance AWSRequest DeleteScheduledAction where-    type Sv DeleteScheduledAction = AutoScaling-    type Rs DeleteScheduledAction = DeleteScheduledActionResponse+-- | /See:/ 'deleteScheduledActionResponse' smart constructor.+data DeleteScheduledActionResponse =+    DeleteScheduledActionResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteScheduledAction"-    response = nullResponse DeleteScheduledActionResponse+-- | Creates a value of 'DeleteScheduledActionResponse' with the minimum fields required to make a request.+--+deleteScheduledActionResponse+    :: DeleteScheduledActionResponse+deleteScheduledActionResponse = DeleteScheduledActionResponse'
gen/Network/AWS/AutoScaling/DeleteTags.hs view
@@ -1,97 +1,95 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DeleteTags--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified tags.+-- Deletes the specified tags. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeleteTags.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DeleteTags.html AWS API Reference> for DeleteTags. module Network.AWS.AutoScaling.DeleteTags     (-    -- * Request-      DeleteTags-    -- ** Request constructor-    , deleteTags-    -- ** Request lenses+    -- * Creating a Request+      deleteTags+    , DeleteTags+    -- * Request Lenses     , dtTags -    -- * Response-    , DeleteTagsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteTagsResponse+    , DeleteTagsResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts--newtype DeleteTags = DeleteTags-    { _dtTags :: List "member" Tag-    } deriving (Eq, Read, Show, Monoid, Semigroup)--instance GHC.Exts.IsList DeleteTags where-    type Item DeleteTags = Tag+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -    fromList = DeleteTags . GHC.Exts.fromList-    toList   = GHC.Exts.toList . _dtTags+-- | /See:/ 'deleteTags' smart constructor.+newtype DeleteTags = DeleteTags'+    { _dtTags :: [Tag]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteTags' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteTags' with the minimum fields required to make a request. ----- * 'dtTags' @::@ ['Tag']+-- Use one of the following lenses to modify other fields as desired: ---deleteTags :: DeleteTags-deleteTags = DeleteTags+-- * 'dtTags'+deleteTags+    :: DeleteTags+deleteTags =+    DeleteTags'     { _dtTags = mempty     } --- | Each tag should be defined by its resource type, resource ID, key, value, and--- a propagate flag. Valid values are: Resource type = /auto-scaling-group/,--- Resource ID = /AutoScalingGroupName/, key=/value/, value=/value/, propagate=/true/ or /false/.+-- | Each tag should be defined by its resource type, resource ID, key,+-- value, and a propagate flag. Valid values are: Resource type =+-- /auto-scaling-group/, Resource ID = /AutoScalingGroupName/, key=/value/,+-- value=/value/, propagate=/true/ or /false/. dtTags :: Lens' DeleteTags [Tag]-dtTags = lens _dtTags (\s a -> s { _dtTags = a }) . _List+dtTags = lens _dtTags (\ s a -> s{_dtTags = a}) . _Coerce; -data DeleteTagsResponse = DeleteTagsResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteTags where+        type Sv DeleteTags = AutoScaling+        type Rs DeleteTags = DeleteTagsResponse+        request = postQuery+        response = receiveNull DeleteTagsResponse' --- | 'DeleteTagsResponse' constructor.-deleteTagsResponse :: DeleteTagsResponse-deleteTagsResponse = DeleteTagsResponse+instance ToHeaders DeleteTags where+        toHeaders = const mempty  instance ToPath DeleteTags where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteTags where-    toQuery DeleteTags{..} = mconcat-        [ "Tags" =? _dtTags-        ]--instance ToHeaders DeleteTags+        toQuery DeleteTags'{..}+          = mconcat+              ["Action" =: ("DeleteTags" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "Tags" =: toQueryList "member" _dtTags] -instance AWSRequest DeleteTags where-    type Sv DeleteTags = AutoScaling-    type Rs DeleteTags = DeleteTagsResponse+-- | /See:/ 'deleteTagsResponse' smart constructor.+data DeleteTagsResponse =+    DeleteTagsResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteTags"-    response = nullResponse DeleteTagsResponse+-- | Creates a value of 'DeleteTagsResponse' with the minimum fields required to make a request.+--+deleteTagsResponse+    :: DeleteTagsResponse+deleteTagsResponse = DeleteTagsResponse'
gen/Network/AWS/AutoScaling/DescribeAccountLimits.hs view
@@ -1,109 +1,124 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeAccountLimits--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes the current Auto Scaling resource limits for your AWS account.+-- Describes the current Auto Scaling resource limits for your AWS account. ----- For information about requesting an increase in these limits, see <http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html AWSService Limits>.+-- For information about requesting an increase in these limits, see+-- <http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html AWS Service Limits>+-- in the /Amazon Web Services General Reference/. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeAccountLimits.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeAccountLimits.html AWS API Reference> for DescribeAccountLimits. module Network.AWS.AutoScaling.DescribeAccountLimits     (-    -- * Request-      DescribeAccountLimits-    -- ** Request constructor-    , describeAccountLimits+    -- * Creating a Request+      describeAccountLimits+    , DescribeAccountLimits -    -- * Response-    , DescribeAccountLimitsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeAccountLimitsResponse-    -- ** Response lenses-    , dalrMaxNumberOfAutoScalingGroups-    , dalrMaxNumberOfLaunchConfigurations+    , DescribeAccountLimitsResponse+    -- * Response Lenses+    , dalrsMaxNumberOfLaunchConfigurations+    , dalrsMaxNumberOfAutoScalingGroups+    , dalrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts--data DescribeAccountLimits = DescribeAccountLimits-    deriving (Eq, Ord, Read, Show, Generic)---- | 'DescribeAccountLimits' constructor.-describeAccountLimits :: DescribeAccountLimits-describeAccountLimits = DescribeAccountLimits+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeAccountLimitsResponse = DescribeAccountLimitsResponse-    { _dalrMaxNumberOfAutoScalingGroups    :: Maybe Int-    , _dalrMaxNumberOfLaunchConfigurations :: Maybe Int-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'describeAccountLimits' smart constructor.+data DescribeAccountLimits =+    DescribeAccountLimits'+    deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeAccountLimitsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dalrMaxNumberOfAutoScalingGroups' @::@ 'Maybe' 'Int'------ * 'dalrMaxNumberOfLaunchConfigurations' @::@ 'Maybe' 'Int'+-- | Creates a value of 'DescribeAccountLimits' with the minimum fields required to make a request. ---describeAccountLimitsResponse :: DescribeAccountLimitsResponse-describeAccountLimitsResponse = DescribeAccountLimitsResponse-    { _dalrMaxNumberOfAutoScalingGroups    = Nothing-    , _dalrMaxNumberOfLaunchConfigurations = Nothing-    }+describeAccountLimits+    :: DescribeAccountLimits+describeAccountLimits = DescribeAccountLimits' --- | The maximum number of groups allowed for your AWS account. The default limit--- is 20 per region.-dalrMaxNumberOfAutoScalingGroups :: Lens' DescribeAccountLimitsResponse (Maybe Int)-dalrMaxNumberOfAutoScalingGroups =-    lens _dalrMaxNumberOfAutoScalingGroups-        (\s a -> s { _dalrMaxNumberOfAutoScalingGroups = a })+instance AWSRequest DescribeAccountLimits where+        type Sv DescribeAccountLimits = AutoScaling+        type Rs DescribeAccountLimits =+             DescribeAccountLimitsResponse+        request = postQuery+        response+          = receiveXMLWrapper "DescribeAccountLimitsResult"+              (\ s h x ->+                 DescribeAccountLimitsResponse' <$>+                   (x .@? "MaxNumberOfLaunchConfigurations") <*>+                     (x .@? "MaxNumberOfAutoScalingGroups")+                     <*> (pure (fromEnum s))) --- | The maximum number of launch configurations allowed for your AWS account. The--- default limit is 100 per region.-dalrMaxNumberOfLaunchConfigurations :: Lens' DescribeAccountLimitsResponse (Maybe Int)-dalrMaxNumberOfLaunchConfigurations =-    lens _dalrMaxNumberOfLaunchConfigurations-        (\s a -> s { _dalrMaxNumberOfLaunchConfigurations = a })+instance ToHeaders DescribeAccountLimits where+        toHeaders = const mempty  instance ToPath DescribeAccountLimits where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeAccountLimits where-    toQuery = const mempty+        toQuery+          = const+              (mconcat+                 ["Action" =: ("DescribeAccountLimits" :: ByteString),+                  "Version" =: ("2011-01-01" :: ByteString)]) -instance ToHeaders DescribeAccountLimits+-- | /See:/ 'describeAccountLimitsResponse' smart constructor.+data DescribeAccountLimitsResponse = DescribeAccountLimitsResponse'+    { _dalrsMaxNumberOfLaunchConfigurations :: !(Maybe Int)+    , _dalrsMaxNumberOfAutoScalingGroups    :: !(Maybe Int)+    , _dalrsStatus                          :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeAccountLimits where-    type Sv DescribeAccountLimits = AutoScaling-    type Rs DescribeAccountLimits = DescribeAccountLimitsResponse+-- | Creates a value of 'DescribeAccountLimitsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dalrsMaxNumberOfLaunchConfigurations'+--+-- * 'dalrsMaxNumberOfAutoScalingGroups'+--+-- * 'dalrsStatus'+describeAccountLimitsResponse+    :: Int -- ^ 'dalrsStatus'+    -> DescribeAccountLimitsResponse+describeAccountLimitsResponse pStatus_ =+    DescribeAccountLimitsResponse'+    { _dalrsMaxNumberOfLaunchConfigurations = Nothing+    , _dalrsMaxNumberOfAutoScalingGroups = Nothing+    , _dalrsStatus = pStatus_+    } -    request  = post "DescribeAccountLimits"-    response = xmlResponse+-- | The maximum number of launch configurations allowed for your AWS+-- account. The default limit is 100 per region.+dalrsMaxNumberOfLaunchConfigurations :: Lens' DescribeAccountLimitsResponse (Maybe Int)+dalrsMaxNumberOfLaunchConfigurations = lens _dalrsMaxNumberOfLaunchConfigurations (\ s a -> s{_dalrsMaxNumberOfLaunchConfigurations = a}); -instance FromXML DescribeAccountLimitsResponse where-    parseXML = withElement "DescribeAccountLimitsResult" $ \x -> DescribeAccountLimitsResponse-        <$> x .@? "MaxNumberOfAutoScalingGroups"-        <*> x .@? "MaxNumberOfLaunchConfigurations"+-- | The maximum number of groups allowed for your AWS account. The default+-- limit is 20 per region.+dalrsMaxNumberOfAutoScalingGroups :: Lens' DescribeAccountLimitsResponse (Maybe Int)+dalrsMaxNumberOfAutoScalingGroups = lens _dalrsMaxNumberOfAutoScalingGroups (\ s a -> s{_dalrsMaxNumberOfAutoScalingGroups = a});++-- | The response status code.+dalrsStatus :: Lens' DescribeAccountLimitsResponse Int+dalrsStatus = lens _dalrsStatus (\ s a -> s{_dalrsStatus = a});
gen/Network/AWS/AutoScaling/DescribeAdjustmentTypes.hs view
@@ -1,99 +1,110 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeAdjustmentTypes--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Lists the policy adjustment types for use with 'PutScalingPolicy'.+-- Describes the policy adjustment types for use with PutScalingPolicy. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeAdjustmentTypes.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeAdjustmentTypes.html AWS API Reference> for DescribeAdjustmentTypes. module Network.AWS.AutoScaling.DescribeAdjustmentTypes     (-    -- * Request-      DescribeAdjustmentTypes-    -- ** Request constructor-    , describeAdjustmentTypes+    -- * Creating a Request+      describeAdjustmentTypes+    , DescribeAdjustmentTypes -    -- * Response-    , DescribeAdjustmentTypesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeAdjustmentTypesResponse-    -- ** Response lenses-    , datrAdjustmentTypes+    , DescribeAdjustmentTypesResponse+    -- * Response Lenses+    , datrsAdjustmentTypes+    , datrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeAdjustmentTypes = DescribeAdjustmentTypes-    deriving (Eq, Ord, Read, Show, Generic)+-- | /See:/ 'describeAdjustmentTypes' smart constructor.+data DescribeAdjustmentTypes =+    DescribeAdjustmentTypes'+    deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeAdjustmentTypes' constructor.-describeAdjustmentTypes :: DescribeAdjustmentTypes-describeAdjustmentTypes = DescribeAdjustmentTypes+-- | Creates a value of 'DescribeAdjustmentTypes' with the minimum fields required to make a request.+--+describeAdjustmentTypes+    :: DescribeAdjustmentTypes+describeAdjustmentTypes = DescribeAdjustmentTypes' -newtype DescribeAdjustmentTypesResponse = DescribeAdjustmentTypesResponse-    { _datrAdjustmentTypes :: List "member" AdjustmentType-    } deriving (Eq, Read, Show, Monoid, Semigroup)+instance AWSRequest DescribeAdjustmentTypes where+        type Sv DescribeAdjustmentTypes = AutoScaling+        type Rs DescribeAdjustmentTypes =+             DescribeAdjustmentTypesResponse+        request = postQuery+        response+          = receiveXMLWrapper "DescribeAdjustmentTypesResult"+              (\ s h x ->+                 DescribeAdjustmentTypesResponse' <$>+                   (x .@? "AdjustmentTypes" .!@ mempty >>=+                      may (parseXMLList "member"))+                     <*> (pure (fromEnum s))) -instance GHC.Exts.IsList DescribeAdjustmentTypesResponse where-    type Item DescribeAdjustmentTypesResponse = AdjustmentType+instance ToHeaders DescribeAdjustmentTypes where+        toHeaders = const mempty -    fromList = DescribeAdjustmentTypesResponse . GHC.Exts.fromList-    toList   = GHC.Exts.toList . _datrAdjustmentTypes+instance ToPath DescribeAdjustmentTypes where+        toPath = const "/" --- | 'DescribeAdjustmentTypesResponse' constructor.+instance ToQuery DescribeAdjustmentTypes where+        toQuery+          = const+              (mconcat+                 ["Action" =:+                    ("DescribeAdjustmentTypes" :: ByteString),+                  "Version" =: ("2011-01-01" :: ByteString)])++-- | /See:/ 'describeAdjustmentTypesResponse' smart constructor.+data DescribeAdjustmentTypesResponse = DescribeAdjustmentTypesResponse'+    { _datrsAdjustmentTypes :: !(Maybe [AdjustmentType])+    , _datrsStatus          :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeAdjustmentTypesResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'datrAdjustmentTypes' @::@ ['AdjustmentType']+-- * 'datrsAdjustmentTypes' ---describeAdjustmentTypesResponse :: DescribeAdjustmentTypesResponse-describeAdjustmentTypesResponse = DescribeAdjustmentTypesResponse-    { _datrAdjustmentTypes = mempty+-- * 'datrsStatus'+describeAdjustmentTypesResponse+    :: Int -- ^ 'datrsStatus'+    -> DescribeAdjustmentTypesResponse+describeAdjustmentTypesResponse pStatus_ =+    DescribeAdjustmentTypesResponse'+    { _datrsAdjustmentTypes = Nothing+    , _datrsStatus = pStatus_     }  -- | The policy adjustment types.-datrAdjustmentTypes :: Lens' DescribeAdjustmentTypesResponse [AdjustmentType]-datrAdjustmentTypes =-    lens _datrAdjustmentTypes (\s a -> s { _datrAdjustmentTypes = a })-        . _List--instance ToPath DescribeAdjustmentTypes where-    toPath = const "/"--instance ToQuery DescribeAdjustmentTypes where-    toQuery = const mempty--instance ToHeaders DescribeAdjustmentTypes--instance AWSRequest DescribeAdjustmentTypes where-    type Sv DescribeAdjustmentTypes = AutoScaling-    type Rs DescribeAdjustmentTypes = DescribeAdjustmentTypesResponse--    request  = post "DescribeAdjustmentTypes"-    response = xmlResponse+datrsAdjustmentTypes :: Lens' DescribeAdjustmentTypesResponse [AdjustmentType]+datrsAdjustmentTypes = lens _datrsAdjustmentTypes (\ s a -> s{_datrsAdjustmentTypes = a}) . _Default . _Coerce; -instance FromXML DescribeAdjustmentTypesResponse where-    parseXML = withElement "DescribeAdjustmentTypesResult" $ \x -> DescribeAdjustmentTypesResponse-        <$> x .@? "AdjustmentTypes" .!@ mempty+-- | The response status code.+datrsStatus :: Lens' DescribeAdjustmentTypesResponse Int+datrsStatus = lens _datrsStatus (\ s a -> s{_datrsStatus = a});
gen/Network/AWS/AutoScaling/DescribeAutoScalingGroups.hs view
@@ -1,156 +1,167 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeAutoScalingGroups--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more Auto Scaling groups. If a list of names is not+-- Describes one or more Auto Scaling groups. If a list of names is not -- provided, the call describes all Auto Scaling groups. ----- You can specify a maximum number of items to be returned with a single call.--- If there are more items to return, the call returns a token. To get the next--- set of items, repeat the call with the returned token in the 'NextToken'--- parameter.+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeAutoScalingGroups.html AWS API Reference> for DescribeAutoScalingGroups. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeAutoScalingGroups.html>+-- This operation returns paginated results. module Network.AWS.AutoScaling.DescribeAutoScalingGroups     (-    -- * Request-      DescribeAutoScalingGroups-    -- ** Request constructor-    , describeAutoScalingGroups-    -- ** Request lenses+    -- * Creating a Request+      describeAutoScalingGroups+    , DescribeAutoScalingGroups+    -- * Request Lenses     , dasgAutoScalingGroupNames-    , dasgMaxRecords     , dasgNextToken+    , dasgMaxRecords -    -- * Response-    , DescribeAutoScalingGroupsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeAutoScalingGroupsResponse-    -- ** Response lenses-    , dasgrAutoScalingGroups-    , dasgrNextToken+    , DescribeAutoScalingGroupsResponse+    -- * Response Lenses+    , dasgrsNextToken+    , dasgrsStatus+    , dasgrsAutoScalingGroups     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeAutoScalingGroups = DescribeAutoScalingGroups-    { _dasgAutoScalingGroupNames :: List "member" Text-    , _dasgMaxRecords            :: Maybe Int-    , _dasgNextToken             :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'describeAutoScalingGroups' smart constructor.+data DescribeAutoScalingGroups = DescribeAutoScalingGroups'+    { _dasgAutoScalingGroupNames :: !(Maybe [Text])+    , _dasgNextToken             :: !(Maybe Text)+    , _dasgMaxRecords            :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeAutoScalingGroups' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeAutoScalingGroups' with the minimum fields required to make a request. ----- * 'dasgAutoScalingGroupNames' @::@ ['Text']+-- Use one of the following lenses to modify other fields as desired: ----- * 'dasgMaxRecords' @::@ 'Maybe' 'Int'+-- * 'dasgAutoScalingGroupNames' ----- * 'dasgNextToken' @::@ 'Maybe' 'Text'+-- * 'dasgNextToken' ---describeAutoScalingGroups :: DescribeAutoScalingGroups-describeAutoScalingGroups = DescribeAutoScalingGroups-    { _dasgAutoScalingGroupNames = mempty-    , _dasgNextToken             = Nothing-    , _dasgMaxRecords            = Nothing+-- * 'dasgMaxRecords'+describeAutoScalingGroups+    :: DescribeAutoScalingGroups+describeAutoScalingGroups =+    DescribeAutoScalingGroups'+    { _dasgAutoScalingGroupNames = Nothing+    , _dasgNextToken = Nothing+    , _dasgMaxRecords = Nothing     }  -- | The group names. dasgAutoScalingGroupNames :: Lens' DescribeAutoScalingGroups [Text]-dasgAutoScalingGroupNames =-    lens _dasgAutoScalingGroupNames-        (\s a -> s { _dasgAutoScalingGroupNames = a })-            . _List+dasgAutoScalingGroupNames = lens _dasgAutoScalingGroupNames (\ s a -> s{_dasgAutoScalingGroupNames = a}) . _Default . _Coerce; +-- | The token for the next set of items to return. (You received this token+-- from a previous call.)+dasgNextToken :: Lens' DescribeAutoScalingGroups (Maybe Text)+dasgNextToken = lens _dasgNextToken (\ s a -> s{_dasgNextToken = a});+ -- | The maximum number of items to return with this call. dasgMaxRecords :: Lens' DescribeAutoScalingGroups (Maybe Int)-dasgMaxRecords = lens _dasgMaxRecords (\s a -> s { _dasgMaxRecords = a })+dasgMaxRecords = lens _dasgMaxRecords (\ s a -> s{_dasgMaxRecords = a}); --- | The token for the next set of items to return. (You received this token from--- a previous call.)-dasgNextToken :: Lens' DescribeAutoScalingGroups (Maybe Text)-dasgNextToken = lens _dasgNextToken (\s a -> s { _dasgNextToken = a })+instance AWSPager DescribeAutoScalingGroups where+        page rq rs+          | stop (rs ^. dasgrsNextToken) = Nothing+          | stop (rs ^. dasgrsAutoScalingGroups) = Nothing+          | otherwise =+            Just $ rq & dasgNextToken .~ rs ^. dasgrsNextToken -data DescribeAutoScalingGroupsResponse = DescribeAutoScalingGroupsResponse-    { _dasgrAutoScalingGroups :: List "member" AutoScalingGroup-    , _dasgrNextToken         :: Maybe Text-    } deriving (Eq, Read, Show)+instance AWSRequest DescribeAutoScalingGroups where+        type Sv DescribeAutoScalingGroups = AutoScaling+        type Rs DescribeAutoScalingGroups =+             DescribeAutoScalingGroupsResponse+        request = postQuery+        response+          = receiveXMLWrapper "DescribeAutoScalingGroupsResult"+              (\ s h x ->+                 DescribeAutoScalingGroupsResponse' <$>+                   (x .@? "NextToken") <*> (pure (fromEnum s)) <*>+                     (x .@? "AutoScalingGroups" .!@ mempty >>=+                        parseXMLList "member")) --- | 'DescribeAutoScalingGroupsResponse' constructor.+instance ToHeaders DescribeAutoScalingGroups where+        toHeaders = const mempty++instance ToPath DescribeAutoScalingGroups where+        toPath = const "/"++instance ToQuery DescribeAutoScalingGroups where+        toQuery DescribeAutoScalingGroups'{..}+          = mconcat+              ["Action" =:+                 ("DescribeAutoScalingGroups" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "AutoScalingGroupNames" =:+                 toQuery+                   (toQueryList "member" <$>+                      _dasgAutoScalingGroupNames),+               "NextToken" =: _dasgNextToken,+               "MaxRecords" =: _dasgMaxRecords]++-- | /See:/ 'describeAutoScalingGroupsResponse' smart constructor.+data DescribeAutoScalingGroupsResponse = DescribeAutoScalingGroupsResponse'+    { _dasgrsNextToken         :: !(Maybe Text)+    , _dasgrsStatus            :: !Int+    , _dasgrsAutoScalingGroups :: ![AutoScalingGroup]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeAutoScalingGroupsResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'dasgrAutoScalingGroups' @::@ ['AutoScalingGroup']+-- * 'dasgrsNextToken' ----- * 'dasgrNextToken' @::@ 'Maybe' 'Text'+-- * 'dasgrsStatus' ---describeAutoScalingGroupsResponse :: DescribeAutoScalingGroupsResponse-describeAutoScalingGroupsResponse = DescribeAutoScalingGroupsResponse-    { _dasgrAutoScalingGroups = mempty-    , _dasgrNextToken         = Nothing+-- * 'dasgrsAutoScalingGroups'+describeAutoScalingGroupsResponse+    :: Int -- ^ 'dasgrsStatus'+    -> DescribeAutoScalingGroupsResponse+describeAutoScalingGroupsResponse pStatus_ =+    DescribeAutoScalingGroupsResponse'+    { _dasgrsNextToken = Nothing+    , _dasgrsStatus = pStatus_+    , _dasgrsAutoScalingGroups = mempty     } --- | The groups.-dasgrAutoScalingGroups :: Lens' DescribeAutoScalingGroupsResponse [AutoScalingGroup]-dasgrAutoScalingGroups =-    lens _dasgrAutoScalingGroups (\s a -> s { _dasgrAutoScalingGroups = a })-        . _List- -- | The token to use when requesting the next set of items. If there are no -- additional items to return, the string is empty.-dasgrNextToken :: Lens' DescribeAutoScalingGroupsResponse (Maybe Text)-dasgrNextToken = lens _dasgrNextToken (\s a -> s { _dasgrNextToken = a })--instance ToPath DescribeAutoScalingGroups where-    toPath = const "/"--instance ToQuery DescribeAutoScalingGroups where-    toQuery DescribeAutoScalingGroups{..} = mconcat-        [ "AutoScalingGroupNames" =? _dasgAutoScalingGroupNames-        , "MaxRecords"            =? _dasgMaxRecords-        , "NextToken"             =? _dasgNextToken-        ]--instance ToHeaders DescribeAutoScalingGroups--instance AWSRequest DescribeAutoScalingGroups where-    type Sv DescribeAutoScalingGroups = AutoScaling-    type Rs DescribeAutoScalingGroups = DescribeAutoScalingGroupsResponse--    request  = post "DescribeAutoScalingGroups"-    response = xmlResponse+dasgrsNextToken :: Lens' DescribeAutoScalingGroupsResponse (Maybe Text)+dasgrsNextToken = lens _dasgrsNextToken (\ s a -> s{_dasgrsNextToken = a}); -instance FromXML DescribeAutoScalingGroupsResponse where-    parseXML = withElement "DescribeAutoScalingGroupsResult" $ \x -> DescribeAutoScalingGroupsResponse-        <$> x .@? "AutoScalingGroups" .!@ mempty-        <*> x .@? "NextToken"+-- | The response status code.+dasgrsStatus :: Lens' DescribeAutoScalingGroupsResponse Int+dasgrsStatus = lens _dasgrsStatus (\ s a -> s{_dasgrsStatus = a}); -instance AWSPager DescribeAutoScalingGroups where-    page rq rs-        | stop (rs ^. dasgrNextToken) = Nothing-        | otherwise = (\x -> rq & dasgNextToken ?~ x)-            <$> (rs ^. dasgrNextToken)+-- | The groups.+dasgrsAutoScalingGroups :: Lens' DescribeAutoScalingGroupsResponse [AutoScalingGroup]+dasgrsAutoScalingGroups = lens _dasgrsAutoScalingGroups (\ s a -> s{_dasgrsAutoScalingGroups = a}) . _Coerce;
gen/Network/AWS/AutoScaling/DescribeAutoScalingInstances.hs view
@@ -1,156 +1,170 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeAutoScalingInstances--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more Auto Scaling instances. If a list is not provided, the--- call describes all instances.+-- Describes one or more Auto Scaling instances. If a list is not provided,+-- the call describes all instances. ----- You can describe up to a maximum of 50 instances with a single call. By--- default, a call returns up to 20 instances. If there are more items to--- return, the call returns a token. To get the next set of items, repeat the--- call with the returned token in the 'NextToken' parameter.+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeAutoScalingInstances.html AWS API Reference> for DescribeAutoScalingInstances. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeAutoScalingInstances.html>+-- This operation returns paginated results. module Network.AWS.AutoScaling.DescribeAutoScalingInstances     (-    -- * Request-      DescribeAutoScalingInstances-    -- ** Request constructor-    , describeAutoScalingInstances-    -- ** Request lenses+    -- * Creating a Request+      describeAutoScalingInstances+    , DescribeAutoScalingInstances+    -- * Request Lenses+    , dasiNextToken     , dasiInstanceIds     , dasiMaxRecords-    , dasiNextToken -    -- * Response-    , DescribeAutoScalingInstancesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeAutoScalingInstancesResponse-    -- ** Response lenses-    , dasirAutoScalingInstances-    , dasirNextToken+    , DescribeAutoScalingInstancesResponse+    -- * Response Lenses+    , dasirsNextToken+    , dasirsAutoScalingInstances+    , dasirsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeAutoScalingInstances = DescribeAutoScalingInstances-    { _dasiInstanceIds :: List "member" Text-    , _dasiMaxRecords  :: Maybe Int-    , _dasiNextToken   :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'describeAutoScalingInstances' smart constructor.+data DescribeAutoScalingInstances = DescribeAutoScalingInstances'+    { _dasiNextToken   :: !(Maybe Text)+    , _dasiInstanceIds :: !(Maybe [Text])+    , _dasiMaxRecords  :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeAutoScalingInstances' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeAutoScalingInstances' with the minimum fields required to make a request. ----- * 'dasiInstanceIds' @::@ ['Text']+-- Use one of the following lenses to modify other fields as desired: ----- * 'dasiMaxRecords' @::@ 'Maybe' 'Int'+-- * 'dasiNextToken' ----- * 'dasiNextToken' @::@ 'Maybe' 'Text'+-- * 'dasiInstanceIds' ---describeAutoScalingInstances :: DescribeAutoScalingInstances-describeAutoScalingInstances = DescribeAutoScalingInstances-    { _dasiInstanceIds = mempty-    , _dasiMaxRecords  = Nothing-    , _dasiNextToken   = Nothing+-- * 'dasiMaxRecords'+describeAutoScalingInstances+    :: DescribeAutoScalingInstances+describeAutoScalingInstances =+    DescribeAutoScalingInstances'+    { _dasiNextToken = Nothing+    , _dasiInstanceIds = Nothing+    , _dasiMaxRecords = Nothing     } --- | One or more Auto Scaling instances to describe, up to 50 instances. If you--- omit this parameter, all Auto Scaling instances are described. If you specify--- an ID that does not exist, it is ignored with no error.+-- | The token for the next set of items to return. (You received this token+-- from a previous call.)+dasiNextToken :: Lens' DescribeAutoScalingInstances (Maybe Text)+dasiNextToken = lens _dasiNextToken (\ s a -> s{_dasiNextToken = a});++-- | One or more Auto Scaling instances to describe, up to 50 instances. If+-- you omit this parameter, all Auto Scaling instances are described. If+-- you specify an ID that does not exist, it is ignored with no error. dasiInstanceIds :: Lens' DescribeAutoScalingInstances [Text]-dasiInstanceIds = lens _dasiInstanceIds (\s a -> s { _dasiInstanceIds = a }) . _List+dasiInstanceIds = lens _dasiInstanceIds (\ s a -> s{_dasiInstanceIds = a}) . _Default . _Coerce;  -- | The maximum number of items to return with this call. dasiMaxRecords :: Lens' DescribeAutoScalingInstances (Maybe Int)-dasiMaxRecords = lens _dasiMaxRecords (\s a -> s { _dasiMaxRecords = a })+dasiMaxRecords = lens _dasiMaxRecords (\ s a -> s{_dasiMaxRecords = a}); --- | The token for the next set of items to return. (You received this token from--- a previous call.)-dasiNextToken :: Lens' DescribeAutoScalingInstances (Maybe Text)-dasiNextToken = lens _dasiNextToken (\s a -> s { _dasiNextToken = a })+instance AWSPager DescribeAutoScalingInstances where+        page rq rs+          | stop (rs ^. dasirsNextToken) = Nothing+          | stop (rs ^. dasirsAutoScalingInstances) = Nothing+          | otherwise =+            Just $ rq & dasiNextToken .~ rs ^. dasirsNextToken -data DescribeAutoScalingInstancesResponse = DescribeAutoScalingInstancesResponse-    { _dasirAutoScalingInstances :: List "member" AutoScalingInstanceDetails-    , _dasirNextToken            :: Maybe Text-    } deriving (Eq, Read, Show)+instance AWSRequest DescribeAutoScalingInstances+         where+        type Sv DescribeAutoScalingInstances = AutoScaling+        type Rs DescribeAutoScalingInstances =+             DescribeAutoScalingInstancesResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "DescribeAutoScalingInstancesResult"+              (\ s h x ->+                 DescribeAutoScalingInstancesResponse' <$>+                   (x .@? "NextToken") <*>+                     (x .@? "AutoScalingInstances" .!@ mempty >>=+                        may (parseXMLList "member"))+                     <*> (pure (fromEnum s))) --- | 'DescribeAutoScalingInstancesResponse' constructor.+instance ToHeaders DescribeAutoScalingInstances where+        toHeaders = const mempty++instance ToPath DescribeAutoScalingInstances where+        toPath = const "/"++instance ToQuery DescribeAutoScalingInstances where+        toQuery DescribeAutoScalingInstances'{..}+          = mconcat+              ["Action" =:+                 ("DescribeAutoScalingInstances" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "NextToken" =: _dasiNextToken,+               "InstanceIds" =:+                 toQuery (toQueryList "member" <$> _dasiInstanceIds),+               "MaxRecords" =: _dasiMaxRecords]++-- | /See:/ 'describeAutoScalingInstancesResponse' smart constructor.+data DescribeAutoScalingInstancesResponse = DescribeAutoScalingInstancesResponse'+    { _dasirsNextToken            :: !(Maybe Text)+    , _dasirsAutoScalingInstances :: !(Maybe [AutoScalingInstanceDetails])+    , _dasirsStatus               :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeAutoScalingInstancesResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'dasirAutoScalingInstances' @::@ ['AutoScalingInstanceDetails']+-- * 'dasirsNextToken' ----- * 'dasirNextToken' @::@ 'Maybe' 'Text'+-- * 'dasirsAutoScalingInstances' ---describeAutoScalingInstancesResponse :: DescribeAutoScalingInstancesResponse-describeAutoScalingInstancesResponse = DescribeAutoScalingInstancesResponse-    { _dasirAutoScalingInstances = mempty-    , _dasirNextToken            = Nothing+-- * 'dasirsStatus'+describeAutoScalingInstancesResponse+    :: Int -- ^ 'dasirsStatus'+    -> DescribeAutoScalingInstancesResponse+describeAutoScalingInstancesResponse pStatus_ =+    DescribeAutoScalingInstancesResponse'+    { _dasirsNextToken = Nothing+    , _dasirsAutoScalingInstances = Nothing+    , _dasirsStatus = pStatus_     } --- | The instances.-dasirAutoScalingInstances :: Lens' DescribeAutoScalingInstancesResponse [AutoScalingInstanceDetails]-dasirAutoScalingInstances =-    lens _dasirAutoScalingInstances-        (\s a -> s { _dasirAutoScalingInstances = a })-            . _List- -- | The token to use when requesting the next set of items. If there are no -- additional items to return, the string is empty.-dasirNextToken :: Lens' DescribeAutoScalingInstancesResponse (Maybe Text)-dasirNextToken = lens _dasirNextToken (\s a -> s { _dasirNextToken = a })--instance ToPath DescribeAutoScalingInstances where-    toPath = const "/"--instance ToQuery DescribeAutoScalingInstances where-    toQuery DescribeAutoScalingInstances{..} = mconcat-        [ "InstanceIds" =? _dasiInstanceIds-        , "MaxRecords"  =? _dasiMaxRecords-        , "NextToken"   =? _dasiNextToken-        ]--instance ToHeaders DescribeAutoScalingInstances--instance AWSRequest DescribeAutoScalingInstances where-    type Sv DescribeAutoScalingInstances = AutoScaling-    type Rs DescribeAutoScalingInstances = DescribeAutoScalingInstancesResponse--    request  = post "DescribeAutoScalingInstances"-    response = xmlResponse+dasirsNextToken :: Lens' DescribeAutoScalingInstancesResponse (Maybe Text)+dasirsNextToken = lens _dasirsNextToken (\ s a -> s{_dasirsNextToken = a}); -instance FromXML DescribeAutoScalingInstancesResponse where-    parseXML = withElement "DescribeAutoScalingInstancesResult" $ \x -> DescribeAutoScalingInstancesResponse-        <$> x .@? "AutoScalingInstances" .!@ mempty-        <*> x .@? "NextToken"+-- | The instances.+dasirsAutoScalingInstances :: Lens' DescribeAutoScalingInstancesResponse [AutoScalingInstanceDetails]+dasirsAutoScalingInstances = lens _dasirsAutoScalingInstances (\ s a -> s{_dasirsAutoScalingInstances = a}) . _Default . _Coerce; -instance AWSPager DescribeAutoScalingInstances where-    page rq rs-        | stop (rs ^. dasirNextToken) = Nothing-        | otherwise = (\x -> rq & dasiNextToken ?~ x)-            <$> (rs ^. dasirNextToken)+-- | The response status code.+dasirsStatus :: Lens' DescribeAutoScalingInstancesResponse Int+dasirsStatus = lens _dasirsStatus (\ s a -> s{_dasirsStatus = a});
gen/Network/AWS/AutoScaling/DescribeAutoScalingNotificationTypes.hs view
@@ -1,112 +1,128 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeAutoScalingNotificationTypes--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Lists the notification types that are supported by Auto Scaling.+-- Describes the notification types that are supported by Auto Scaling. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeAutoScalingNotificationTypes.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeAutoScalingNotificationTypes.html AWS API Reference> for DescribeAutoScalingNotificationTypes. module Network.AWS.AutoScaling.DescribeAutoScalingNotificationTypes     (-    -- * Request-      DescribeAutoScalingNotificationTypes-    -- ** Request constructor-    , describeAutoScalingNotificationTypes+    -- * Creating a Request+      describeAutoScalingNotificationTypes+    , DescribeAutoScalingNotificationTypes -    -- * Response-    , DescribeAutoScalingNotificationTypesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeAutoScalingNotificationTypesResponse-    -- ** Response lenses-    , dasntrAutoScalingNotificationTypes+    , DescribeAutoScalingNotificationTypesResponse+    -- * Response Lenses+    , dasntrsAutoScalingNotificationTypes+    , dasntrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeAutoScalingNotificationTypes = DescribeAutoScalingNotificationTypes-    deriving (Eq, Ord, Read, Show, Generic)+-- | /See:/ 'describeAutoScalingNotificationTypes' smart constructor.+data DescribeAutoScalingNotificationTypes =+    DescribeAutoScalingNotificationTypes'+    deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeAutoScalingNotificationTypes' constructor.-describeAutoScalingNotificationTypes :: DescribeAutoScalingNotificationTypes-describeAutoScalingNotificationTypes = DescribeAutoScalingNotificationTypes+-- | Creates a value of 'DescribeAutoScalingNotificationTypes' with the minimum fields required to make a request.+--+describeAutoScalingNotificationTypes+    :: DescribeAutoScalingNotificationTypes+describeAutoScalingNotificationTypes = DescribeAutoScalingNotificationTypes' -newtype DescribeAutoScalingNotificationTypesResponse = DescribeAutoScalingNotificationTypesResponse-    { _dasntrAutoScalingNotificationTypes :: List "member" Text-    } deriving (Eq, Ord, Read, Show, Monoid, Semigroup)+instance AWSRequest+         DescribeAutoScalingNotificationTypes where+        type Sv DescribeAutoScalingNotificationTypes =+             AutoScaling+        type Rs DescribeAutoScalingNotificationTypes =+             DescribeAutoScalingNotificationTypesResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "DescribeAutoScalingNotificationTypesResult"+              (\ s h x ->+                 DescribeAutoScalingNotificationTypesResponse' <$>+                   (x .@? "AutoScalingNotificationTypes" .!@ mempty >>=+                      may (parseXMLList "member"))+                     <*> (pure (fromEnum s))) -instance GHC.Exts.IsList DescribeAutoScalingNotificationTypesResponse where-    type Item DescribeAutoScalingNotificationTypesResponse = Text+instance ToHeaders+         DescribeAutoScalingNotificationTypes where+        toHeaders = const mempty -    fromList = DescribeAutoScalingNotificationTypesResponse . GHC.Exts.fromList-    toList   = GHC.Exts.toList . _dasntrAutoScalingNotificationTypes+instance ToPath DescribeAutoScalingNotificationTypes+         where+        toPath = const "/" --- | 'DescribeAutoScalingNotificationTypesResponse' constructor.+instance ToQuery DescribeAutoScalingNotificationTypes+         where+        toQuery+          = const+              (mconcat+                 ["Action" =:+                    ("DescribeAutoScalingNotificationTypes" ::+                       ByteString),+                  "Version" =: ("2011-01-01" :: ByteString)])++-- | /See:/ 'describeAutoScalingNotificationTypesResponse' smart constructor.+data DescribeAutoScalingNotificationTypesResponse = DescribeAutoScalingNotificationTypesResponse'+    { _dasntrsAutoScalingNotificationTypes :: !(Maybe [Text])+    , _dasntrsStatus                       :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeAutoScalingNotificationTypesResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'dasntrAutoScalingNotificationTypes' @::@ ['Text']+-- * 'dasntrsAutoScalingNotificationTypes' ---describeAutoScalingNotificationTypesResponse :: DescribeAutoScalingNotificationTypesResponse-describeAutoScalingNotificationTypesResponse = DescribeAutoScalingNotificationTypesResponse-    { _dasntrAutoScalingNotificationTypes = mempty+-- * 'dasntrsStatus'+describeAutoScalingNotificationTypesResponse+    :: Int -- ^ 'dasntrsStatus'+    -> DescribeAutoScalingNotificationTypesResponse+describeAutoScalingNotificationTypesResponse pStatus_ =+    DescribeAutoScalingNotificationTypesResponse'+    { _dasntrsAutoScalingNotificationTypes = Nothing+    , _dasntrsStatus = pStatus_     }  -- | One or more of the following notification types: ----- 'autoscaling:EC2_INSTANCE_LAUNCH'------ 'autoscaling:EC2_INSTANCE_LAUNCH_ERROR'+-- -   'autoscaling:EC2_INSTANCE_LAUNCH' ----- 'autoscaling:EC2_INSTANCE_TERMINATE'+-- -   'autoscaling:EC2_INSTANCE_LAUNCH_ERROR' ----- 'autoscaling:EC2_INSTANCE_TERMINATE_ERROR'+-- -   'autoscaling:EC2_INSTANCE_TERMINATE' ----- 'autoscaling:TEST_NOTIFICATION'+-- -   'autoscaling:EC2_INSTANCE_TERMINATE_ERROR' --+-- -   'autoscaling:TEST_NOTIFICATION' ---dasntrAutoScalingNotificationTypes :: Lens' DescribeAutoScalingNotificationTypesResponse [Text]-dasntrAutoScalingNotificationTypes =-    lens _dasntrAutoScalingNotificationTypes-        (\s a -> s { _dasntrAutoScalingNotificationTypes = a })-            . _List--instance ToPath DescribeAutoScalingNotificationTypes where-    toPath = const "/"--instance ToQuery DescribeAutoScalingNotificationTypes where-    toQuery = const mempty--instance ToHeaders DescribeAutoScalingNotificationTypes--instance AWSRequest DescribeAutoScalingNotificationTypes where-    type Sv DescribeAutoScalingNotificationTypes = AutoScaling-    type Rs DescribeAutoScalingNotificationTypes = DescribeAutoScalingNotificationTypesResponse--    request  = post "DescribeAutoScalingNotificationTypes"-    response = xmlResponse+dasntrsAutoScalingNotificationTypes :: Lens' DescribeAutoScalingNotificationTypesResponse [Text]+dasntrsAutoScalingNotificationTypes = lens _dasntrsAutoScalingNotificationTypes (\ s a -> s{_dasntrsAutoScalingNotificationTypes = a}) . _Default . _Coerce; -instance FromXML DescribeAutoScalingNotificationTypesResponse where-    parseXML = withElement "DescribeAutoScalingNotificationTypesResult" $ \x -> DescribeAutoScalingNotificationTypesResponse-        <$> x .@? "AutoScalingNotificationTypes" .!@ mempty+-- | The response status code.+dasntrsStatus :: Lens' DescribeAutoScalingNotificationTypesResponse Int+dasntrsStatus = lens _dasntrsStatus (\ s a -> s{_dasntrsStatus = a});
gen/Network/AWS/AutoScaling/DescribeLaunchConfigurations.hs view
@@ -1,157 +1,170 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeLaunchConfigurations--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more launch configurations. If you omit the list of names,--- then the call describes all launch configurations.+-- Describes one or more launch configurations. If you omit the list of+-- names, then the call describes all launch configurations. ----- You can specify a maximum number of items to be returned with a single call.--- If there are more items to return, the call returns a token. To get the next--- set of items, repeat the call with the returned token in the 'NextToken'--- parameter.+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeLaunchConfigurations.html AWS API Reference> for DescribeLaunchConfigurations. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeLaunchConfigurations.html>+-- This operation returns paginated results. module Network.AWS.AutoScaling.DescribeLaunchConfigurations     (-    -- * Request-      DescribeLaunchConfigurations-    -- ** Request constructor-    , describeLaunchConfigurations-    -- ** Request lenses+    -- * Creating a Request+      describeLaunchConfigurations+    , DescribeLaunchConfigurations+    -- * Request Lenses     , dlcLaunchConfigurationNames-    , dlcMaxRecords     , dlcNextToken+    , dlcMaxRecords -    -- * Response-    , DescribeLaunchConfigurationsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeLaunchConfigurationsResponse-    -- ** Response lenses-    , dlcrLaunchConfigurations-    , dlcrNextToken+    , DescribeLaunchConfigurationsResponse+    -- * Response Lenses+    , dlcrsNextToken+    , dlcrsStatus+    , dlcrsLaunchConfigurations     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeLaunchConfigurations = DescribeLaunchConfigurations-    { _dlcLaunchConfigurationNames :: List "member" Text-    , _dlcMaxRecords               :: Maybe Int-    , _dlcNextToken                :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'describeLaunchConfigurations' smart constructor.+data DescribeLaunchConfigurations = DescribeLaunchConfigurations'+    { _dlcLaunchConfigurationNames :: !(Maybe [Text])+    , _dlcNextToken                :: !(Maybe Text)+    , _dlcMaxRecords               :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeLaunchConfigurations' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeLaunchConfigurations' with the minimum fields required to make a request. ----- * 'dlcLaunchConfigurationNames' @::@ ['Text']+-- Use one of the following lenses to modify other fields as desired: ----- * 'dlcMaxRecords' @::@ 'Maybe' 'Int'+-- * 'dlcLaunchConfigurationNames' ----- * 'dlcNextToken' @::@ 'Maybe' 'Text'+-- * 'dlcNextToken' ---describeLaunchConfigurations :: DescribeLaunchConfigurations-describeLaunchConfigurations = DescribeLaunchConfigurations-    { _dlcLaunchConfigurationNames = mempty-    , _dlcNextToken                = Nothing-    , _dlcMaxRecords               = Nothing+-- * 'dlcMaxRecords'+describeLaunchConfigurations+    :: DescribeLaunchConfigurations+describeLaunchConfigurations =+    DescribeLaunchConfigurations'+    { _dlcLaunchConfigurationNames = Nothing+    , _dlcNextToken = Nothing+    , _dlcMaxRecords = Nothing     }  -- | The launch configuration names. dlcLaunchConfigurationNames :: Lens' DescribeLaunchConfigurations [Text]-dlcLaunchConfigurationNames =-    lens _dlcLaunchConfigurationNames-        (\s a -> s { _dlcLaunchConfigurationNames = a })-            . _List---- | The maximum number of items to return with this call. The default is 100.-dlcMaxRecords :: Lens' DescribeLaunchConfigurations (Maybe Int)-dlcMaxRecords = lens _dlcMaxRecords (\s a -> s { _dlcMaxRecords = a })+dlcLaunchConfigurationNames = lens _dlcLaunchConfigurationNames (\ s a -> s{_dlcLaunchConfigurationNames = a}) . _Default . _Coerce; --- | The token for the next set of items to return. (You received this token from--- a previous call.)+-- | The token for the next set of items to return. (You received this token+-- from a previous call.) dlcNextToken :: Lens' DescribeLaunchConfigurations (Maybe Text)-dlcNextToken = lens _dlcNextToken (\s a -> s { _dlcNextToken = a })+dlcNextToken = lens _dlcNextToken (\ s a -> s{_dlcNextToken = a}); -data DescribeLaunchConfigurationsResponse = DescribeLaunchConfigurationsResponse-    { _dlcrLaunchConfigurations :: List "member" LaunchConfiguration-    , _dlcrNextToken            :: Maybe Text-    } deriving (Eq, Read, Show)+-- | The maximum number of items to return with this call. The default is+-- 100.+dlcMaxRecords :: Lens' DescribeLaunchConfigurations (Maybe Int)+dlcMaxRecords = lens _dlcMaxRecords (\ s a -> s{_dlcMaxRecords = a}); --- | 'DescribeLaunchConfigurationsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dlcrLaunchConfigurations' @::@ ['LaunchConfiguration']------ * 'dlcrNextToken' @::@ 'Maybe' 'Text'----describeLaunchConfigurationsResponse :: DescribeLaunchConfigurationsResponse-describeLaunchConfigurationsResponse = DescribeLaunchConfigurationsResponse-    { _dlcrLaunchConfigurations = mempty-    , _dlcrNextToken            = Nothing-    }+instance AWSPager DescribeLaunchConfigurations where+        page rq rs+          | stop (rs ^. dlcrsNextToken) = Nothing+          | stop (rs ^. dlcrsLaunchConfigurations) = Nothing+          | otherwise =+            Just $ rq & dlcNextToken .~ rs ^. dlcrsNextToken --- | The launch configurations.-dlcrLaunchConfigurations :: Lens' DescribeLaunchConfigurationsResponse [LaunchConfiguration]-dlcrLaunchConfigurations =-    lens _dlcrLaunchConfigurations-        (\s a -> s { _dlcrLaunchConfigurations = a })-            . _List+instance AWSRequest DescribeLaunchConfigurations+         where+        type Sv DescribeLaunchConfigurations = AutoScaling+        type Rs DescribeLaunchConfigurations =+             DescribeLaunchConfigurationsResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "DescribeLaunchConfigurationsResult"+              (\ s h x ->+                 DescribeLaunchConfigurationsResponse' <$>+                   (x .@? "NextToken") <*> (pure (fromEnum s)) <*>+                     (x .@? "LaunchConfigurations" .!@ mempty >>=+                        parseXMLList "member")) --- | The token to use when requesting the next set of items. If there are no--- additional items to return, the string is empty.-dlcrNextToken :: Lens' DescribeLaunchConfigurationsResponse (Maybe Text)-dlcrNextToken = lens _dlcrNextToken (\s a -> s { _dlcrNextToken = a })+instance ToHeaders DescribeLaunchConfigurations where+        toHeaders = const mempty  instance ToPath DescribeLaunchConfigurations where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeLaunchConfigurations where-    toQuery DescribeLaunchConfigurations{..} = mconcat-        [ "LaunchConfigurationNames" =? _dlcLaunchConfigurationNames-        , "MaxRecords"               =? _dlcMaxRecords-        , "NextToken"                =? _dlcNextToken-        ]+        toQuery DescribeLaunchConfigurations'{..}+          = mconcat+              ["Action" =:+                 ("DescribeLaunchConfigurations" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "LaunchConfigurationNames" =:+                 toQuery+                   (toQueryList "member" <$>+                      _dlcLaunchConfigurationNames),+               "NextToken" =: _dlcNextToken,+               "MaxRecords" =: _dlcMaxRecords] -instance ToHeaders DescribeLaunchConfigurations+-- | /See:/ 'describeLaunchConfigurationsResponse' smart constructor.+data DescribeLaunchConfigurationsResponse = DescribeLaunchConfigurationsResponse'+    { _dlcrsNextToken            :: !(Maybe Text)+    , _dlcrsStatus               :: !Int+    , _dlcrsLaunchConfigurations :: ![LaunchConfiguration]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeLaunchConfigurations where-    type Sv DescribeLaunchConfigurations = AutoScaling-    type Rs DescribeLaunchConfigurations = DescribeLaunchConfigurationsResponse+-- | Creates a value of 'DescribeLaunchConfigurationsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlcrsNextToken'+--+-- * 'dlcrsStatus'+--+-- * 'dlcrsLaunchConfigurations'+describeLaunchConfigurationsResponse+    :: Int -- ^ 'dlcrsStatus'+    -> DescribeLaunchConfigurationsResponse+describeLaunchConfigurationsResponse pStatus_ =+    DescribeLaunchConfigurationsResponse'+    { _dlcrsNextToken = Nothing+    , _dlcrsStatus = pStatus_+    , _dlcrsLaunchConfigurations = mempty+    } -    request  = post "DescribeLaunchConfigurations"-    response = xmlResponse+-- | The token to use when requesting the next set of items. If there are no+-- additional items to return, the string is empty.+dlcrsNextToken :: Lens' DescribeLaunchConfigurationsResponse (Maybe Text)+dlcrsNextToken = lens _dlcrsNextToken (\ s a -> s{_dlcrsNextToken = a}); -instance FromXML DescribeLaunchConfigurationsResponse where-    parseXML = withElement "DescribeLaunchConfigurationsResult" $ \x -> DescribeLaunchConfigurationsResponse-        <$> x .@? "LaunchConfigurations" .!@ mempty-        <*> x .@? "NextToken"+-- | The response status code.+dlcrsStatus :: Lens' DescribeLaunchConfigurationsResponse Int+dlcrsStatus = lens _dlcrsStatus (\ s a -> s{_dlcrsStatus = a}); -instance AWSPager DescribeLaunchConfigurations where-    page rq rs-        | stop (rs ^. dlcrNextToken) = Nothing-        | otherwise = (\x -> rq & dlcNextToken ?~ x)-            <$> (rs ^. dlcrNextToken)+-- | The launch configurations.+dlcrsLaunchConfigurations :: Lens' DescribeLaunchConfigurationsResponse [LaunchConfiguration]+dlcrsLaunchConfigurations = lens _dlcrsLaunchConfigurations (\ s a -> s{_dlcrsLaunchConfigurations = a}) . _Coerce;
gen/Network/AWS/AutoScaling/DescribeLifecycleHookTypes.hs view
@@ -1,105 +1,116 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeLifecycleHookTypes--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes the available types of lifecycle hooks.+-- Describes the available types of lifecycle hooks. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeLifecycleHookTypes.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeLifecycleHookTypes.html AWS API Reference> for DescribeLifecycleHookTypes. module Network.AWS.AutoScaling.DescribeLifecycleHookTypes     (-    -- * Request-      DescribeLifecycleHookTypes-    -- ** Request constructor-    , describeLifecycleHookTypes+    -- * Creating a Request+      describeLifecycleHookTypes+    , DescribeLifecycleHookTypes -    -- * Response-    , DescribeLifecycleHookTypesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeLifecycleHookTypesResponse-    -- ** Response lenses-    , dlhtrLifecycleHookTypes+    , DescribeLifecycleHookTypesResponse+    -- * Response Lenses+    , dlhtrsLifecycleHookTypes+    , dlhtrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeLifecycleHookTypes = DescribeLifecycleHookTypes-    deriving (Eq, Ord, Read, Show, Generic)+-- | /See:/ 'describeLifecycleHookTypes' smart constructor.+data DescribeLifecycleHookTypes =+    DescribeLifecycleHookTypes'+    deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeLifecycleHookTypes' constructor.-describeLifecycleHookTypes :: DescribeLifecycleHookTypes-describeLifecycleHookTypes = DescribeLifecycleHookTypes+-- | Creates a value of 'DescribeLifecycleHookTypes' with the minimum fields required to make a request.+--+describeLifecycleHookTypes+    :: DescribeLifecycleHookTypes+describeLifecycleHookTypes = DescribeLifecycleHookTypes' -newtype DescribeLifecycleHookTypesResponse = DescribeLifecycleHookTypesResponse-    { _dlhtrLifecycleHookTypes :: List "member" Text-    } deriving (Eq, Ord, Read, Show, Monoid, Semigroup)+instance AWSRequest DescribeLifecycleHookTypes where+        type Sv DescribeLifecycleHookTypes = AutoScaling+        type Rs DescribeLifecycleHookTypes =+             DescribeLifecycleHookTypesResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "DescribeLifecycleHookTypesResult"+              (\ s h x ->+                 DescribeLifecycleHookTypesResponse' <$>+                   (x .@? "LifecycleHookTypes" .!@ mempty >>=+                      may (parseXMLList "member"))+                     <*> (pure (fromEnum s))) -instance GHC.Exts.IsList DescribeLifecycleHookTypesResponse where-    type Item DescribeLifecycleHookTypesResponse = Text+instance ToHeaders DescribeLifecycleHookTypes where+        toHeaders = const mempty -    fromList = DescribeLifecycleHookTypesResponse . GHC.Exts.fromList-    toList   = GHC.Exts.toList . _dlhtrLifecycleHookTypes+instance ToPath DescribeLifecycleHookTypes where+        toPath = const "/" --- | 'DescribeLifecycleHookTypesResponse' constructor.+instance ToQuery DescribeLifecycleHookTypes where+        toQuery+          = const+              (mconcat+                 ["Action" =:+                    ("DescribeLifecycleHookTypes" :: ByteString),+                  "Version" =: ("2011-01-01" :: ByteString)])++-- | /See:/ 'describeLifecycleHookTypesResponse' smart constructor.+data DescribeLifecycleHookTypesResponse = DescribeLifecycleHookTypesResponse'+    { _dlhtrsLifecycleHookTypes :: !(Maybe [Text])+    , _dlhtrsStatus             :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeLifecycleHookTypesResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'dlhtrLifecycleHookTypes' @::@ ['Text']+-- * 'dlhtrsLifecycleHookTypes' ---describeLifecycleHookTypesResponse :: DescribeLifecycleHookTypesResponse-describeLifecycleHookTypesResponse = DescribeLifecycleHookTypesResponse-    { _dlhtrLifecycleHookTypes = mempty+-- * 'dlhtrsStatus'+describeLifecycleHookTypesResponse+    :: Int -- ^ 'dlhtrsStatus'+    -> DescribeLifecycleHookTypesResponse+describeLifecycleHookTypesResponse pStatus_ =+    DescribeLifecycleHookTypesResponse'+    { _dlhtrsLifecycleHookTypes = Nothing+    , _dlhtrsStatus = pStatus_     }  -- | One or more of the following notification types: ----- 'autoscaling:EC2_INSTANCE_LAUNCHING'------ 'autoscaling:EC2_INSTANCE_TERMINATING'+-- -   'autoscaling:EC2_INSTANCE_LAUNCHING' --+-- -   'autoscaling:EC2_INSTANCE_TERMINATING' ---dlhtrLifecycleHookTypes :: Lens' DescribeLifecycleHookTypesResponse [Text]-dlhtrLifecycleHookTypes =-    lens _dlhtrLifecycleHookTypes (\s a -> s { _dlhtrLifecycleHookTypes = a })-        . _List--instance ToPath DescribeLifecycleHookTypes where-    toPath = const "/"--instance ToQuery DescribeLifecycleHookTypes where-    toQuery = const mempty--instance ToHeaders DescribeLifecycleHookTypes--instance AWSRequest DescribeLifecycleHookTypes where-    type Sv DescribeLifecycleHookTypes = AutoScaling-    type Rs DescribeLifecycleHookTypes = DescribeLifecycleHookTypesResponse--    request  = post "DescribeLifecycleHookTypes"-    response = xmlResponse+dlhtrsLifecycleHookTypes :: Lens' DescribeLifecycleHookTypesResponse [Text]+dlhtrsLifecycleHookTypes = lens _dlhtrsLifecycleHookTypes (\ s a -> s{_dlhtrsLifecycleHookTypes = a}) . _Default . _Coerce; -instance FromXML DescribeLifecycleHookTypesResponse where-    parseXML = withElement "DescribeLifecycleHookTypesResult" $ \x -> DescribeLifecycleHookTypesResponse-        <$> x .@? "LifecycleHookTypes" .!@ mempty+-- | The response status code.+dlhtrsStatus :: Lens' DescribeLifecycleHookTypesResponse Int+dlhtrsStatus = lens _dlhtrsStatus (\ s a -> s{_dlhtrsStatus = a});
gen/Network/AWS/AutoScaling/DescribeLifecycleHooks.hs view
@@ -1,129 +1,135 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeLifecycleHooks--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes the lifecycle hooks for the specified Auto Scaling group.+-- Describes the lifecycle hooks for the specified Auto Scaling group. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeLifecycleHooks.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeLifecycleHooks.html AWS API Reference> for DescribeLifecycleHooks. module Network.AWS.AutoScaling.DescribeLifecycleHooks     (-    -- * Request-      DescribeLifecycleHooks-    -- ** Request constructor-    , describeLifecycleHooks-    -- ** Request lenses-    , dlhAutoScalingGroupName+    -- * Creating a Request+      describeLifecycleHooks+    , DescribeLifecycleHooks+    -- * Request Lenses     , dlhLifecycleHookNames+    , dlhAutoScalingGroupName -    -- * Response-    , DescribeLifecycleHooksResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeLifecycleHooksResponse-    -- ** Response lenses-    , dlhrLifecycleHooks+    , DescribeLifecycleHooksResponse+    -- * Response Lenses+    , dlhrsLifecycleHooks+    , dlhrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeLifecycleHooks = DescribeLifecycleHooks-    { _dlhAutoScalingGroupName :: Text-    , _dlhLifecycleHookNames   :: List "member" Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'describeLifecycleHooks' smart constructor.+data DescribeLifecycleHooks = DescribeLifecycleHooks'+    { _dlhLifecycleHookNames   :: !(Maybe [Text])+    , _dlhAutoScalingGroupName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeLifecycleHooks' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeLifecycleHooks' with the minimum fields required to make a request. ----- * 'dlhAutoScalingGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dlhLifecycleHookNames' @::@ ['Text']+-- * 'dlhLifecycleHookNames' ---describeLifecycleHooks :: Text -- ^ 'dlhAutoScalingGroupName'-                       -> DescribeLifecycleHooks-describeLifecycleHooks p1 = DescribeLifecycleHooks-    { _dlhAutoScalingGroupName = p1-    , _dlhLifecycleHookNames   = mempty+-- * 'dlhAutoScalingGroupName'+describeLifecycleHooks+    :: Text -- ^ 'dlhAutoScalingGroupName'+    -> DescribeLifecycleHooks+describeLifecycleHooks pAutoScalingGroupName_ =+    DescribeLifecycleHooks'+    { _dlhLifecycleHookNames = Nothing+    , _dlhAutoScalingGroupName = pAutoScalingGroupName_     } +-- | The names of one or more lifecycle hooks.+dlhLifecycleHookNames :: Lens' DescribeLifecycleHooks [Text]+dlhLifecycleHookNames = lens _dlhLifecycleHookNames (\ s a -> s{_dlhLifecycleHookNames = a}) . _Default . _Coerce;+ -- | The name of the group. dlhAutoScalingGroupName :: Lens' DescribeLifecycleHooks Text-dlhAutoScalingGroupName =-    lens _dlhAutoScalingGroupName (\s a -> s { _dlhAutoScalingGroupName = a })+dlhAutoScalingGroupName = lens _dlhAutoScalingGroupName (\ s a -> s{_dlhAutoScalingGroupName = a}); --- | The names of one or more lifecycle hooks.-dlhLifecycleHookNames :: Lens' DescribeLifecycleHooks [Text]-dlhLifecycleHookNames =-    lens _dlhLifecycleHookNames (\s a -> s { _dlhLifecycleHookNames = a })-        . _List+instance AWSRequest DescribeLifecycleHooks where+        type Sv DescribeLifecycleHooks = AutoScaling+        type Rs DescribeLifecycleHooks =+             DescribeLifecycleHooksResponse+        request = postQuery+        response+          = receiveXMLWrapper "DescribeLifecycleHooksResult"+              (\ s h x ->+                 DescribeLifecycleHooksResponse' <$>+                   (x .@? "LifecycleHooks" .!@ mempty >>=+                      may (parseXMLList "member"))+                     <*> (pure (fromEnum s))) -newtype DescribeLifecycleHooksResponse = DescribeLifecycleHooksResponse-    { _dlhrLifecycleHooks :: List "member" LifecycleHook-    } deriving (Eq, Read, Show, Monoid, Semigroup)+instance ToHeaders DescribeLifecycleHooks where+        toHeaders = const mempty -instance GHC.Exts.IsList DescribeLifecycleHooksResponse where-    type Item DescribeLifecycleHooksResponse = LifecycleHook+instance ToPath DescribeLifecycleHooks where+        toPath = const "/" -    fromList = DescribeLifecycleHooksResponse . GHC.Exts.fromList-    toList   = GHC.Exts.toList . _dlhrLifecycleHooks+instance ToQuery DescribeLifecycleHooks where+        toQuery DescribeLifecycleHooks'{..}+          = mconcat+              ["Action" =:+                 ("DescribeLifecycleHooks" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "LifecycleHookNames" =:+                 toQuery+                   (toQueryList "member" <$> _dlhLifecycleHookNames),+               "AutoScalingGroupName" =: _dlhAutoScalingGroupName] --- | 'DescribeLifecycleHooksResponse' constructor.+-- | /See:/ 'describeLifecycleHooksResponse' smart constructor.+data DescribeLifecycleHooksResponse = DescribeLifecycleHooksResponse'+    { _dlhrsLifecycleHooks :: !(Maybe [LifecycleHook])+    , _dlhrsStatus         :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeLifecycleHooksResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'dlhrLifecycleHooks' @::@ ['LifecycleHook']+-- * 'dlhrsLifecycleHooks' ---describeLifecycleHooksResponse :: DescribeLifecycleHooksResponse-describeLifecycleHooksResponse = DescribeLifecycleHooksResponse-    { _dlhrLifecycleHooks = mempty+-- * 'dlhrsStatus'+describeLifecycleHooksResponse+    :: Int -- ^ 'dlhrsStatus'+    -> DescribeLifecycleHooksResponse+describeLifecycleHooksResponse pStatus_ =+    DescribeLifecycleHooksResponse'+    { _dlhrsLifecycleHooks = Nothing+    , _dlhrsStatus = pStatus_     }  -- | The lifecycle hooks for the specified group.-dlhrLifecycleHooks :: Lens' DescribeLifecycleHooksResponse [LifecycleHook]-dlhrLifecycleHooks =-    lens _dlhrLifecycleHooks (\s a -> s { _dlhrLifecycleHooks = a })-        . _List--instance ToPath DescribeLifecycleHooks where-    toPath = const "/"--instance ToQuery DescribeLifecycleHooks where-    toQuery DescribeLifecycleHooks{..} = mconcat-        [ "AutoScalingGroupName" =? _dlhAutoScalingGroupName-        , "LifecycleHookNames"   =? _dlhLifecycleHookNames-        ]--instance ToHeaders DescribeLifecycleHooks--instance AWSRequest DescribeLifecycleHooks where-    type Sv DescribeLifecycleHooks = AutoScaling-    type Rs DescribeLifecycleHooks = DescribeLifecycleHooksResponse--    request  = post "DescribeLifecycleHooks"-    response = xmlResponse+dlhrsLifecycleHooks :: Lens' DescribeLifecycleHooksResponse [LifecycleHook]+dlhrsLifecycleHooks = lens _dlhrsLifecycleHooks (\ s a -> s{_dlhrsLifecycleHooks = a}) . _Default . _Coerce; -instance FromXML DescribeLifecycleHooksResponse where-    parseXML = withElement "DescribeLifecycleHooksResult" $ \x -> DescribeLifecycleHooksResponse-        <$> x .@? "LifecycleHooks" .!@ mempty+-- | The response status code.+dlhrsStatus :: Lens' DescribeLifecycleHooksResponse Int+dlhrsStatus = lens _dlhrsStatus (\ s a -> s{_dlhrsStatus = a});
+ gen/Network/AWS/AutoScaling/DescribeLoadBalancers.hs view
@@ -0,0 +1,154 @@+{-# 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.DescribeLoadBalancers+-- 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)+--+-- Describes the load balancers for the specified Auto Scaling group.+--+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeLoadBalancers.html AWS API Reference> for DescribeLoadBalancers.+module Network.AWS.AutoScaling.DescribeLoadBalancers+    (+    -- * Creating a Request+      describeLoadBalancers+    , DescribeLoadBalancers+    -- * Request Lenses+    , dlbNextToken+    , dlbMaxRecords+    , dlbAutoScalingGroupName++    -- * Destructuring the Response+    , describeLoadBalancersResponse+    , DescribeLoadBalancersResponse+    -- * Response Lenses+    , dlbrsLoadBalancers+    , dlbrsNextToken+    , dlbrsStatus+    ) where++import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'describeLoadBalancers' smart constructor.+data DescribeLoadBalancers = DescribeLoadBalancers'+    { _dlbNextToken            :: !(Maybe Text)+    , _dlbMaxRecords           :: !(Maybe Int)+    , _dlbAutoScalingGroupName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeLoadBalancers' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlbNextToken'+--+-- * 'dlbMaxRecords'+--+-- * 'dlbAutoScalingGroupName'+describeLoadBalancers+    :: Text -- ^ 'dlbAutoScalingGroupName'+    -> DescribeLoadBalancers+describeLoadBalancers pAutoScalingGroupName_ =+    DescribeLoadBalancers'+    { _dlbNextToken = Nothing+    , _dlbMaxRecords = Nothing+    , _dlbAutoScalingGroupName = pAutoScalingGroupName_+    }++-- | The token for the next set of items to return. (You received this token+-- from a previous call.)+dlbNextToken :: Lens' DescribeLoadBalancers (Maybe Text)+dlbNextToken = lens _dlbNextToken (\ s a -> s{_dlbNextToken = a});++-- | The maximum number of items to return with this call.+dlbMaxRecords :: Lens' DescribeLoadBalancers (Maybe Int)+dlbMaxRecords = lens _dlbMaxRecords (\ s a -> s{_dlbMaxRecords = a});++-- | The name of the group.+dlbAutoScalingGroupName :: Lens' DescribeLoadBalancers Text+dlbAutoScalingGroupName = lens _dlbAutoScalingGroupName (\ s a -> s{_dlbAutoScalingGroupName = a});++instance AWSRequest DescribeLoadBalancers where+        type Sv DescribeLoadBalancers = AutoScaling+        type Rs DescribeLoadBalancers =+             DescribeLoadBalancersResponse+        request = postQuery+        response+          = receiveXMLWrapper "DescribeLoadBalancersResult"+              (\ s h x ->+                 DescribeLoadBalancersResponse' <$>+                   (x .@? "LoadBalancers" .!@ mempty >>=+                      may (parseXMLList "member"))+                     <*> (x .@? "NextToken")+                     <*> (pure (fromEnum s)))++instance ToHeaders DescribeLoadBalancers where+        toHeaders = const mempty++instance ToPath DescribeLoadBalancers where+        toPath = const "/"++instance ToQuery DescribeLoadBalancers where+        toQuery DescribeLoadBalancers'{..}+          = mconcat+              ["Action" =: ("DescribeLoadBalancers" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "NextToken" =: _dlbNextToken,+               "MaxRecords" =: _dlbMaxRecords,+               "AutoScalingGroupName" =: _dlbAutoScalingGroupName]++-- | /See:/ 'describeLoadBalancersResponse' smart constructor.+data DescribeLoadBalancersResponse = DescribeLoadBalancersResponse'+    { _dlbrsLoadBalancers :: !(Maybe [LoadBalancerState])+    , _dlbrsNextToken     :: !(Maybe Text)+    , _dlbrsStatus        :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeLoadBalancersResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlbrsLoadBalancers'+--+-- * 'dlbrsNextToken'+--+-- * 'dlbrsStatus'+describeLoadBalancersResponse+    :: Int -- ^ 'dlbrsStatus'+    -> DescribeLoadBalancersResponse+describeLoadBalancersResponse pStatus_ =+    DescribeLoadBalancersResponse'+    { _dlbrsLoadBalancers = Nothing+    , _dlbrsNextToken = Nothing+    , _dlbrsStatus = pStatus_+    }++-- | The load balancers.+dlbrsLoadBalancers :: Lens' DescribeLoadBalancersResponse [LoadBalancerState]+dlbrsLoadBalancers = lens _dlbrsLoadBalancers (\ s a -> s{_dlbrsLoadBalancers = a}) . _Default . _Coerce;++-- | The token to use when requesting the next set of items. If there are no+-- additional items to return, the string is empty.+dlbrsNextToken :: Lens' DescribeLoadBalancersResponse (Maybe Text)+dlbrsNextToken = lens _dlbrsNextToken (\ s a -> s{_dlbrsNextToken = a});++-- | The response status code.+dlbrsStatus :: Lens' DescribeLoadBalancersResponse Int+dlbrsStatus = lens _dlbrsStatus (\ s a -> s{_dlbrsStatus = a});
gen/Network/AWS/AutoScaling/DescribeMetricCollectionTypes.hs view
@@ -1,130 +1,129 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeMetricCollectionTypes--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns a list of metrics and a corresponding list of granularities for each--- metric.------ The 'GroupStandbyInstances' metric is not returned by default. You must--- explicitly request it when calling 'EnableMetricsCollection'.---+-- Describes the available CloudWatch metrics for Auto Scaling. --+-- Note that the 'GroupStandbyInstances' metric is not returned by default.+-- You must explicitly request this metric when calling+-- EnableMetricsCollection. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeMetricCollectionTypes.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeMetricCollectionTypes.html AWS API Reference> for DescribeMetricCollectionTypes. module Network.AWS.AutoScaling.DescribeMetricCollectionTypes     (-    -- * Request-      DescribeMetricCollectionTypes-    -- ** Request constructor-    , describeMetricCollectionTypes+    -- * Creating a Request+      describeMetricCollectionTypes+    , DescribeMetricCollectionTypes -    -- * Response-    , DescribeMetricCollectionTypesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeMetricCollectionTypesResponse-    -- ** Response lenses-    , dmctrGranularities-    , dmctrMetrics+    , DescribeMetricCollectionTypesResponse+    -- * Response Lenses+    , dmctrsMetrics+    , dmctrsGranularities+    , dmctrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts--data DescribeMetricCollectionTypes = DescribeMetricCollectionTypes-    deriving (Eq, Ord, Read, Show, Generic)---- | 'DescribeMetricCollectionTypes' constructor.-describeMetricCollectionTypes :: DescribeMetricCollectionTypes-describeMetricCollectionTypes = DescribeMetricCollectionTypes+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeMetricCollectionTypesResponse = DescribeMetricCollectionTypesResponse-    { _dmctrGranularities :: List "member" MetricGranularityType-    , _dmctrMetrics       :: List "member" MetricCollectionType-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeMetricCollectionTypes' smart constructor.+data DescribeMetricCollectionTypes =+    DescribeMetricCollectionTypes'+    deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeMetricCollectionTypesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dmctrGranularities' @::@ ['MetricGranularityType']------ * 'dmctrMetrics' @::@ ['MetricCollectionType']+-- | Creates a value of 'DescribeMetricCollectionTypes' with the minimum fields required to make a request. ---describeMetricCollectionTypesResponse :: DescribeMetricCollectionTypesResponse-describeMetricCollectionTypesResponse = DescribeMetricCollectionTypesResponse-    { _dmctrMetrics       = mempty-    , _dmctrGranularities = mempty-    }+describeMetricCollectionTypes+    :: DescribeMetricCollectionTypes+describeMetricCollectionTypes = DescribeMetricCollectionTypes' --- | The granularities for the listed metrics.-dmctrGranularities :: Lens' DescribeMetricCollectionTypesResponse [MetricGranularityType]-dmctrGranularities =-    lens _dmctrGranularities (\s a -> s { _dmctrGranularities = a })-        . _List+instance AWSRequest DescribeMetricCollectionTypes+         where+        type Sv DescribeMetricCollectionTypes = AutoScaling+        type Rs DescribeMetricCollectionTypes =+             DescribeMetricCollectionTypesResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "DescribeMetricCollectionTypesResult"+              (\ s h x ->+                 DescribeMetricCollectionTypesResponse' <$>+                   (x .@? "Metrics" .!@ mempty >>=+                      may (parseXMLList "member"))+                     <*>+                     (x .@? "Granularities" .!@ mempty >>=+                        may (parseXMLList "member"))+                     <*> (pure (fromEnum s))) --- | One or more of the following metrics:------ GroupMinSize------ GroupMaxSize------ GroupDesiredCapacity------ GroupInServiceInstances------ GroupPendingInstances------ GroupStandbyInstances------ GroupTerminatingInstances------ GroupTotalInstances------ The 'GroupStandbyInstances' metric is not returned by default. You must--- explicitly request it when calling 'EnableMetricsCollection'.-------dmctrMetrics :: Lens' DescribeMetricCollectionTypesResponse [MetricCollectionType]-dmctrMetrics = lens _dmctrMetrics (\s a -> s { _dmctrMetrics = a }) . _List+instance ToHeaders DescribeMetricCollectionTypes+         where+        toHeaders = const mempty  instance ToPath DescribeMetricCollectionTypes where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeMetricCollectionTypes where-    toQuery = const mempty+        toQuery+          = const+              (mconcat+                 ["Action" =:+                    ("DescribeMetricCollectionTypes" :: ByteString),+                  "Version" =: ("2011-01-01" :: ByteString)]) -instance ToHeaders DescribeMetricCollectionTypes+-- | /See:/ 'describeMetricCollectionTypesResponse' smart constructor.+data DescribeMetricCollectionTypesResponse = DescribeMetricCollectionTypesResponse'+    { _dmctrsMetrics       :: !(Maybe [MetricCollectionType])+    , _dmctrsGranularities :: !(Maybe [MetricGranularityType])+    , _dmctrsStatus        :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeMetricCollectionTypes where-    type Sv DescribeMetricCollectionTypes = AutoScaling-    type Rs DescribeMetricCollectionTypes = DescribeMetricCollectionTypesResponse+-- | Creates a value of 'DescribeMetricCollectionTypesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dmctrsMetrics'+--+-- * 'dmctrsGranularities'+--+-- * 'dmctrsStatus'+describeMetricCollectionTypesResponse+    :: Int -- ^ 'dmctrsStatus'+    -> DescribeMetricCollectionTypesResponse+describeMetricCollectionTypesResponse pStatus_ =+    DescribeMetricCollectionTypesResponse'+    { _dmctrsMetrics = Nothing+    , _dmctrsGranularities = Nothing+    , _dmctrsStatus = pStatus_+    } -    request  = post "DescribeMetricCollectionTypes"-    response = xmlResponse+-- | One or more metrics.+dmctrsMetrics :: Lens' DescribeMetricCollectionTypesResponse [MetricCollectionType]+dmctrsMetrics = lens _dmctrsMetrics (\ s a -> s{_dmctrsMetrics = a}) . _Default . _Coerce; -instance FromXML DescribeMetricCollectionTypesResponse where-    parseXML = withElement "DescribeMetricCollectionTypesResult" $ \x -> DescribeMetricCollectionTypesResponse-        <$> x .@? "Granularities" .!@ mempty-        <*> x .@? "Metrics" .!@ mempty+-- | The granularities for the metrics.+dmctrsGranularities :: Lens' DescribeMetricCollectionTypesResponse [MetricGranularityType]+dmctrsGranularities = lens _dmctrsGranularities (\ s a -> s{_dmctrsGranularities = a}) . _Default . _Coerce;++-- | The response status code.+dmctrsStatus :: Lens' DescribeMetricCollectionTypesResponse Int+dmctrsStatus = lens _dmctrsStatus (\ s a -> s{_dmctrsStatus = a});
gen/Network/AWS/AutoScaling/DescribeNotificationConfigurations.hs view
@@ -1,152 +1,174 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeNotificationConfigurations--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes the notification actions associated with the specified Auto Scaling--- group.+-- Describes the notification actions associated with the specified Auto+-- Scaling group. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeNotificationConfigurations.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeNotificationConfigurations.html AWS API Reference> for DescribeNotificationConfigurations.+--+-- This operation returns paginated results. module Network.AWS.AutoScaling.DescribeNotificationConfigurations     (-    -- * Request-      DescribeNotificationConfigurations-    -- ** Request constructor-    , describeNotificationConfigurations-    -- ** Request lenses+    -- * Creating a Request+      describeNotificationConfigurations+    , DescribeNotificationConfigurations+    -- * Request Lenses     , dncAutoScalingGroupNames-    , dncMaxRecords     , dncNextToken+    , dncMaxRecords -    -- * Response-    , DescribeNotificationConfigurationsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeNotificationConfigurationsResponse-    -- ** Response lenses-    , dncrNextToken-    , dncrNotificationConfigurations+    , DescribeNotificationConfigurationsResponse+    -- * Response Lenses+    , dncrsNextToken+    , dncrsStatus+    , dncrsNotificationConfigurations     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeNotificationConfigurations = DescribeNotificationConfigurations-    { _dncAutoScalingGroupNames :: List "member" Text-    , _dncMaxRecords            :: Maybe Int-    , _dncNextToken             :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'describeNotificationConfigurations' smart constructor.+data DescribeNotificationConfigurations = DescribeNotificationConfigurations'+    { _dncAutoScalingGroupNames :: !(Maybe [Text])+    , _dncNextToken             :: !(Maybe Text)+    , _dncMaxRecords            :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeNotificationConfigurations' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeNotificationConfigurations' with the minimum fields required to make a request. ----- * 'dncAutoScalingGroupNames' @::@ ['Text']+-- Use one of the following lenses to modify other fields as desired: ----- * 'dncMaxRecords' @::@ 'Maybe' 'Int'+-- * 'dncAutoScalingGroupNames' ----- * 'dncNextToken' @::@ 'Maybe' 'Text'+-- * 'dncNextToken' ---describeNotificationConfigurations :: DescribeNotificationConfigurations-describeNotificationConfigurations = DescribeNotificationConfigurations-    { _dncAutoScalingGroupNames = mempty-    , _dncNextToken             = Nothing-    , _dncMaxRecords            = Nothing+-- * 'dncMaxRecords'+describeNotificationConfigurations+    :: DescribeNotificationConfigurations+describeNotificationConfigurations =+    DescribeNotificationConfigurations'+    { _dncAutoScalingGroupNames = Nothing+    , _dncNextToken = Nothing+    , _dncMaxRecords = Nothing     }  -- | The name of the group. dncAutoScalingGroupNames :: Lens' DescribeNotificationConfigurations [Text]-dncAutoScalingGroupNames =-    lens _dncAutoScalingGroupNames-        (\s a -> s { _dncAutoScalingGroupNames = a })-            . _List+dncAutoScalingGroupNames = lens _dncAutoScalingGroupNames (\ s a -> s{_dncAutoScalingGroupNames = a}) . _Default . _Coerce; +-- | The token for the next set of items to return. (You received this token+-- from a previous call.)+dncNextToken :: Lens' DescribeNotificationConfigurations (Maybe Text)+dncNextToken = lens _dncNextToken (\ s a -> s{_dncNextToken = a});+ -- | The maximum number of items to return with this call. dncMaxRecords :: Lens' DescribeNotificationConfigurations (Maybe Int)-dncMaxRecords = lens _dncMaxRecords (\s a -> s { _dncMaxRecords = a })+dncMaxRecords = lens _dncMaxRecords (\ s a -> s{_dncMaxRecords = a}); --- | The token for the next set of items to return. (You received this token from--- a previous call.)-dncNextToken :: Lens' DescribeNotificationConfigurations (Maybe Text)-dncNextToken = lens _dncNextToken (\s a -> s { _dncNextToken = a })+instance AWSPager DescribeNotificationConfigurations+         where+        page rq rs+          | stop (rs ^. dncrsNextToken) = Nothing+          | stop (rs ^. dncrsNotificationConfigurations) =+            Nothing+          | otherwise =+            Just $ rq & dncNextToken .~ rs ^. dncrsNextToken -data DescribeNotificationConfigurationsResponse = DescribeNotificationConfigurationsResponse-    { _dncrNextToken                  :: Maybe Text-    , _dncrNotificationConfigurations :: List "member" NotificationConfiguration-    } deriving (Eq, Read, Show)+instance AWSRequest+         DescribeNotificationConfigurations where+        type Sv DescribeNotificationConfigurations =+             AutoScaling+        type Rs DescribeNotificationConfigurations =+             DescribeNotificationConfigurationsResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "DescribeNotificationConfigurationsResult"+              (\ s h x ->+                 DescribeNotificationConfigurationsResponse' <$>+                   (x .@? "NextToken") <*> (pure (fromEnum s)) <*>+                     (x .@? "NotificationConfigurations" .!@ mempty >>=+                        parseXMLList "member")) --- | 'DescribeNotificationConfigurationsResponse' constructor.+instance ToHeaders DescribeNotificationConfigurations+         where+        toHeaders = const mempty++instance ToPath DescribeNotificationConfigurations+         where+        toPath = const "/"++instance ToQuery DescribeNotificationConfigurations+         where+        toQuery DescribeNotificationConfigurations'{..}+          = mconcat+              ["Action" =:+                 ("DescribeNotificationConfigurations" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "AutoScalingGroupNames" =:+                 toQuery+                   (toQueryList "member" <$> _dncAutoScalingGroupNames),+               "NextToken" =: _dncNextToken,+               "MaxRecords" =: _dncMaxRecords]++-- | /See:/ 'describeNotificationConfigurationsResponse' smart constructor.+data DescribeNotificationConfigurationsResponse = DescribeNotificationConfigurationsResponse'+    { _dncrsNextToken                  :: !(Maybe Text)+    , _dncrsStatus                     :: !Int+    , _dncrsNotificationConfigurations :: ![NotificationConfiguration]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeNotificationConfigurationsResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'dncrNextToken' @::@ 'Maybe' 'Text'+-- * 'dncrsNextToken' ----- * 'dncrNotificationConfigurations' @::@ ['NotificationConfiguration']+-- * 'dncrsStatus' ---describeNotificationConfigurationsResponse :: DescribeNotificationConfigurationsResponse-describeNotificationConfigurationsResponse = DescribeNotificationConfigurationsResponse-    { _dncrNotificationConfigurations = mempty-    , _dncrNextToken                  = Nothing+-- * 'dncrsNotificationConfigurations'+describeNotificationConfigurationsResponse+    :: Int -- ^ 'dncrsStatus'+    -> DescribeNotificationConfigurationsResponse+describeNotificationConfigurationsResponse pStatus_ =+    DescribeNotificationConfigurationsResponse'+    { _dncrsNextToken = Nothing+    , _dncrsStatus = pStatus_+    , _dncrsNotificationConfigurations = mempty     }  -- | The token to use when requesting the next set of items. If there are no -- additional items to return, the string is empty.-dncrNextToken :: Lens' DescribeNotificationConfigurationsResponse (Maybe Text)-dncrNextToken = lens _dncrNextToken (\s a -> s { _dncrNextToken = a })---- | The notification configurations.-dncrNotificationConfigurations :: Lens' DescribeNotificationConfigurationsResponse [NotificationConfiguration]-dncrNotificationConfigurations =-    lens _dncrNotificationConfigurations-        (\s a -> s { _dncrNotificationConfigurations = a })-            . _List--instance ToPath DescribeNotificationConfigurations where-    toPath = const "/"--instance ToQuery DescribeNotificationConfigurations where-    toQuery DescribeNotificationConfigurations{..} = mconcat-        [ "AutoScalingGroupNames" =? _dncAutoScalingGroupNames-        , "MaxRecords"            =? _dncMaxRecords-        , "NextToken"             =? _dncNextToken-        ]--instance ToHeaders DescribeNotificationConfigurations--instance AWSRequest DescribeNotificationConfigurations where-    type Sv DescribeNotificationConfigurations = AutoScaling-    type Rs DescribeNotificationConfigurations = DescribeNotificationConfigurationsResponse--    request  = post "DescribeNotificationConfigurations"-    response = xmlResponse+dncrsNextToken :: Lens' DescribeNotificationConfigurationsResponse (Maybe Text)+dncrsNextToken = lens _dncrsNextToken (\ s a -> s{_dncrsNextToken = a}); -instance FromXML DescribeNotificationConfigurationsResponse where-    parseXML = withElement "DescribeNotificationConfigurationsResult" $ \x -> DescribeNotificationConfigurationsResponse-        <$> x .@? "NextToken"-        <*> x .@? "NotificationConfigurations" .!@ mempty+-- | The response status code.+dncrsStatus :: Lens' DescribeNotificationConfigurationsResponse Int+dncrsStatus = lens _dncrsStatus (\ s a -> s{_dncrsStatus = a}); -instance AWSPager DescribeNotificationConfigurations where-    page rq rs-        | stop (rs ^. dncrNextToken) = Nothing-        | otherwise = (\x -> rq & dncNextToken ?~ x)-            <$> (rs ^. dncrNextToken)+-- | The notification configurations.+dncrsNotificationConfigurations :: Lens' DescribeNotificationConfigurationsResponse [NotificationConfiguration]+dncrsNotificationConfigurations = lens _dncrsNotificationConfigurations (\ s a -> s{_dncrsNotificationConfigurations = a}) . _Coerce;
gen/Network/AWS/AutoScaling/DescribePolicies.hs view
@@ -1,166 +1,188 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribePolicies--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes the policies for the specified Auto Scaling group.+-- Describes the policies for the specified Auto Scaling group. ----- You can specify a maximum number of items to be returned with a single call.--- If there are more items to return, the call returns a token. To get the next--- set of items, repeat the call with the returned token in the 'NextToken'--- parameter.+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribePolicies.html AWS API Reference> for DescribePolicies. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribePolicies.html>+-- This operation returns paginated results. module Network.AWS.AutoScaling.DescribePolicies     (-    -- * Request-      DescribePolicies-    -- ** Request constructor-    , describePolicies-    -- ** Request lenses-    , dp1AutoScalingGroupName-    , dp1MaxRecords-    , dp1NextToken-    , dp1PolicyNames+    -- * Creating a Request+      describePolicies+    , DescribePolicies+    -- * Request Lenses+    , dpsPolicyNames+    , dpsNextToken+    , dpsMaxRecords+    , dpsAutoScalingGroupName+    , dpsPolicyTypes -    -- * Response-    , DescribePoliciesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describePoliciesResponse-    -- ** Response lenses-    , dprNextToken-    , dprScalingPolicies+    , DescribePoliciesResponse+    -- * Response Lenses+    , dprsNextToken+    , dprsScalingPolicies+    , dprsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribePolicies = DescribePolicies-    { _dp1AutoScalingGroupName :: Maybe Text-    , _dp1MaxRecords           :: Maybe Int-    , _dp1NextToken            :: Maybe Text-    , _dp1PolicyNames          :: List "member" Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'describePolicies' smart constructor.+data DescribePolicies = DescribePolicies'+    { _dpsPolicyNames          :: !(Maybe [Text])+    , _dpsNextToken            :: !(Maybe Text)+    , _dpsMaxRecords           :: !(Maybe Int)+    , _dpsAutoScalingGroupName :: !(Maybe Text)+    , _dpsPolicyTypes          :: !(Maybe [Text])+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribePolicies' constructor.+-- | Creates a value of 'DescribePolicies' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'dp1AutoScalingGroupName' @::@ 'Maybe' 'Text'+-- * 'dpsPolicyNames' ----- * 'dp1MaxRecords' @::@ 'Maybe' 'Int'+-- * 'dpsNextToken' ----- * 'dp1NextToken' @::@ 'Maybe' 'Text'+-- * 'dpsMaxRecords' ----- * 'dp1PolicyNames' @::@ ['Text']+-- * 'dpsAutoScalingGroupName' ---describePolicies :: DescribePolicies-describePolicies = DescribePolicies-    { _dp1AutoScalingGroupName = Nothing-    , _dp1PolicyNames          = mempty-    , _dp1NextToken            = Nothing-    , _dp1MaxRecords           = Nothing+-- * 'dpsPolicyTypes'+describePolicies+    :: DescribePolicies+describePolicies =+    DescribePolicies'+    { _dpsPolicyNames = Nothing+    , _dpsNextToken = Nothing+    , _dpsMaxRecords = Nothing+    , _dpsAutoScalingGroupName = Nothing+    , _dpsPolicyTypes = Nothing     } --- | The name of the group.-dp1AutoScalingGroupName :: Lens' DescribePolicies (Maybe Text)-dp1AutoScalingGroupName =-    lens _dp1AutoScalingGroupName (\s a -> s { _dp1AutoScalingGroupName = a })+-- | One or more policy names or policy ARNs to be described. If you omit+-- this list, all policy names are described. If an group name is provided,+-- the results are limited to that group. This list is limited to 50 items.+-- If you specify an unknown policy name, it is ignored with no error.+dpsPolicyNames :: Lens' DescribePolicies [Text]+dpsPolicyNames = lens _dpsPolicyNames (\ s a -> s{_dpsPolicyNames = a}) . _Default . _Coerce; +-- | The token for the next set of items to return. (You received this token+-- from a previous call.)+dpsNextToken :: Lens' DescribePolicies (Maybe Text)+dpsNextToken = lens _dpsNextToken (\ s a -> s{_dpsNextToken = a});+ -- | The maximum number of items to be returned with each call.-dp1MaxRecords :: Lens' DescribePolicies (Maybe Int)-dp1MaxRecords = lens _dp1MaxRecords (\s a -> s { _dp1MaxRecords = a })+dpsMaxRecords :: Lens' DescribePolicies (Maybe Int)+dpsMaxRecords = lens _dpsMaxRecords (\ s a -> s{_dpsMaxRecords = a}); --- | The token for the next set of items to return. (You received this token from--- a previous call.)-dp1NextToken :: Lens' DescribePolicies (Maybe Text)-dp1NextToken = lens _dp1NextToken (\s a -> s { _dp1NextToken = a })+-- | The name of the group.+dpsAutoScalingGroupName :: Lens' DescribePolicies (Maybe Text)+dpsAutoScalingGroupName = lens _dpsAutoScalingGroupName (\ s a -> s{_dpsAutoScalingGroupName = a}); --- | One or more policy names or policy ARNs to be described. If you omit this--- list, all policy names are described. If an group name is provided, the--- results are limited to that group. This list is limited to 50 items. If you--- specify an unknown policy name, it is ignored with no error.-dp1PolicyNames :: Lens' DescribePolicies [Text]-dp1PolicyNames = lens _dp1PolicyNames (\s a -> s { _dp1PolicyNames = a }) . _List+-- | One or more policy types. Valid values are 'SimpleScaling' and+-- 'StepScaling'.+dpsPolicyTypes :: Lens' DescribePolicies [Text]+dpsPolicyTypes = lens _dpsPolicyTypes (\ s a -> s{_dpsPolicyTypes = a}) . _Default . _Coerce; -data DescribePoliciesResponse = DescribePoliciesResponse-    { _dprNextToken       :: Maybe Text-    , _dprScalingPolicies :: List "member" ScalingPolicy-    } deriving (Eq, Read, Show)+instance AWSPager DescribePolicies where+        page rq rs+          | stop (rs ^. dprsNextToken) = Nothing+          | stop (rs ^. dprsScalingPolicies) = Nothing+          | otherwise =+            Just $ rq & dpsNextToken .~ rs ^. dprsNextToken --- | 'DescribePoliciesResponse' constructor.+instance AWSRequest DescribePolicies where+        type Sv DescribePolicies = AutoScaling+        type Rs DescribePolicies = DescribePoliciesResponse+        request = postQuery+        response+          = receiveXMLWrapper "DescribePoliciesResult"+              (\ s h x ->+                 DescribePoliciesResponse' <$>+                   (x .@? "NextToken") <*>+                     (x .@? "ScalingPolicies" .!@ mempty >>=+                        may (parseXMLList "member"))+                     <*> (pure (fromEnum s)))++instance ToHeaders DescribePolicies where+        toHeaders = const mempty++instance ToPath DescribePolicies where+        toPath = const "/"++instance ToQuery DescribePolicies where+        toQuery DescribePolicies'{..}+          = mconcat+              ["Action" =: ("DescribePolicies" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "PolicyNames" =:+                 toQuery (toQueryList "member" <$> _dpsPolicyNames),+               "NextToken" =: _dpsNextToken,+               "MaxRecords" =: _dpsMaxRecords,+               "AutoScalingGroupName" =: _dpsAutoScalingGroupName,+               "PolicyTypes" =:+                 toQuery (toQueryList "member" <$> _dpsPolicyTypes)]++-- | /See:/ 'describePoliciesResponse' smart constructor.+data DescribePoliciesResponse = DescribePoliciesResponse'+    { _dprsNextToken       :: !(Maybe Text)+    , _dprsScalingPolicies :: !(Maybe [ScalingPolicy])+    , _dprsStatus          :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribePoliciesResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'dprNextToken' @::@ 'Maybe' 'Text'+-- * 'dprsNextToken' ----- * 'dprScalingPolicies' @::@ ['ScalingPolicy']+-- * 'dprsScalingPolicies' ---describePoliciesResponse :: DescribePoliciesResponse-describePoliciesResponse = DescribePoliciesResponse-    { _dprScalingPolicies = mempty-    , _dprNextToken       = Nothing+-- * 'dprsStatus'+describePoliciesResponse+    :: Int -- ^ 'dprsStatus'+    -> DescribePoliciesResponse+describePoliciesResponse pStatus_ =+    DescribePoliciesResponse'+    { _dprsNextToken = Nothing+    , _dprsScalingPolicies = Nothing+    , _dprsStatus = pStatus_     }  -- | The token to use when requesting the next set of items. If there are no -- additional items to return, the string is empty.-dprNextToken :: Lens' DescribePoliciesResponse (Maybe Text)-dprNextToken = lens _dprNextToken (\s a -> s { _dprNextToken = a })+dprsNextToken :: Lens' DescribePoliciesResponse (Maybe Text)+dprsNextToken = lens _dprsNextToken (\ s a -> s{_dprsNextToken = a});  -- | The scaling policies.-dprScalingPolicies :: Lens' DescribePoliciesResponse [ScalingPolicy]-dprScalingPolicies =-    lens _dprScalingPolicies (\s a -> s { _dprScalingPolicies = a })-        . _List--instance ToPath DescribePolicies where-    toPath = const "/"--instance ToQuery DescribePolicies where-    toQuery DescribePolicies{..} = mconcat-        [ "AutoScalingGroupName" =? _dp1AutoScalingGroupName-        , "MaxRecords"           =? _dp1MaxRecords-        , "NextToken"            =? _dp1NextToken-        , "PolicyNames"          =? _dp1PolicyNames-        ]--instance ToHeaders DescribePolicies--instance AWSRequest DescribePolicies where-    type Sv DescribePolicies = AutoScaling-    type Rs DescribePolicies = DescribePoliciesResponse--    request  = post "DescribePolicies"-    response = xmlResponse--instance FromXML DescribePoliciesResponse where-    parseXML = withElement "DescribePoliciesResult" $ \x -> DescribePoliciesResponse-        <$> x .@? "NextToken"-        <*> x .@? "ScalingPolicies" .!@ mempty+dprsScalingPolicies :: Lens' DescribePoliciesResponse [ScalingPolicy]+dprsScalingPolicies = lens _dprsScalingPolicies (\ s a -> s{_dprsScalingPolicies = a}) . _Default . _Coerce; -instance AWSPager DescribePolicies where-    page rq rs-        | stop (rs ^. dprNextToken) = Nothing-        | otherwise = (\x -> rq & dp1NextToken ?~ x)-            <$> (rs ^. dprNextToken)+-- | The response status code.+dprsStatus :: Lens' DescribePoliciesResponse Int+dprsStatus = lens _dprsStatus (\ s a -> s{_dprsStatus = a});
gen/Network/AWS/AutoScaling/DescribeScalingActivities.hs view
@@ -1,169 +1,181 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeScalingActivities--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes one or more scaling activities for the specified Auto Scaling--- group. If you omit the 'ActivityIds', the call returns all activities from the--- past six weeks. Activities are sorted by the start time. Activities still in--- progress appear first on the list.+-- Describes one or more scaling activities for the specified Auto Scaling+-- group. If you omit the 'ActivityIds', the call returns all activities+-- from the past six weeks. Activities are sorted by the start time.+-- Activities still in progress appear first on the list. ----- You can specify a maximum number of items to be returned with a single call.--- If there are more items to return, the call returns a token. To get the next--- set of items, repeat the call with the returned token in the 'NextToken'--- parameter.+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeScalingActivities.html AWS API Reference> for DescribeScalingActivities. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeScalingActivities.html>+-- This operation returns paginated results. module Network.AWS.AutoScaling.DescribeScalingActivities     (-    -- * Request-      DescribeScalingActivities-    -- ** Request constructor-    , describeScalingActivities-    -- ** Request lenses-    , dsa2ActivityIds-    , dsa2AutoScalingGroupName-    , dsa2MaxRecords-    , dsa2NextToken+    -- * Creating a Request+      describeScalingActivities+    , DescribeScalingActivities+    -- * Request Lenses+    , desNextToken+    , desMaxRecords+    , desAutoScalingGroupName+    , desActivityIds -    -- * Response-    , DescribeScalingActivitiesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeScalingActivitiesResponse-    -- ** Response lenses-    , dsar1Activities-    , dsar1NextToken+    , DescribeScalingActivitiesResponse+    -- * Response Lenses+    , dsasrsNextToken+    , dsasrsStatus+    , dsasrsActivities     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeScalingActivities = DescribeScalingActivities-    { _dsa2ActivityIds          :: List "member" Text-    , _dsa2AutoScalingGroupName :: Maybe Text-    , _dsa2MaxRecords           :: Maybe Int-    , _dsa2NextToken            :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'describeScalingActivities' smart constructor.+data DescribeScalingActivities = DescribeScalingActivities'+    { _desNextToken            :: !(Maybe Text)+    , _desMaxRecords           :: !(Maybe Int)+    , _desAutoScalingGroupName :: !(Maybe Text)+    , _desActivityIds          :: !(Maybe [Text])+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeScalingActivities' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeScalingActivities' with the minimum fields required to make a request. ----- * 'dsa2ActivityIds' @::@ ['Text']+-- Use one of the following lenses to modify other fields as desired: ----- * 'dsa2AutoScalingGroupName' @::@ 'Maybe' 'Text'+-- * 'desNextToken' ----- * 'dsa2MaxRecords' @::@ 'Maybe' 'Int'+-- * 'desMaxRecords' ----- * 'dsa2NextToken' @::@ 'Maybe' 'Text'+-- * 'desAutoScalingGroupName' ---describeScalingActivities :: DescribeScalingActivities-describeScalingActivities = DescribeScalingActivities-    { _dsa2ActivityIds          = mempty-    , _dsa2AutoScalingGroupName = Nothing-    , _dsa2MaxRecords           = Nothing-    , _dsa2NextToken            = Nothing+-- * 'desActivityIds'+describeScalingActivities+    :: DescribeScalingActivities+describeScalingActivities =+    DescribeScalingActivities'+    { _desNextToken = Nothing+    , _desMaxRecords = Nothing+    , _desAutoScalingGroupName = Nothing+    , _desActivityIds = Nothing     } --- | A list containing the activity IDs of the desired scaling activities. If--- this list is omitted, all activities are described. If an 'AutoScalingGroupName'--- is provided, the results are limited to that group. The list of requested--- activities cannot contain more than 50 items. If unknown activities are--- requested, they are ignored with no error.-dsa2ActivityIds :: Lens' DescribeScalingActivities [Text]-dsa2ActivityIds = lens _dsa2ActivityIds (\s a -> s { _dsa2ActivityIds = a }) . _List---- | The name of the group.-dsa2AutoScalingGroupName :: Lens' DescribeScalingActivities (Maybe Text)-dsa2AutoScalingGroupName =-    lens _dsa2AutoScalingGroupName-        (\s a -> s { _dsa2AutoScalingGroupName = a })+-- | The token for the next set of items to return. (You received this token+-- from a previous call.)+desNextToken :: Lens' DescribeScalingActivities (Maybe Text)+desNextToken = lens _desNextToken (\ s a -> s{_desNextToken = a});  -- | The maximum number of items to return with this call.-dsa2MaxRecords :: Lens' DescribeScalingActivities (Maybe Int)-dsa2MaxRecords = lens _dsa2MaxRecords (\s a -> s { _dsa2MaxRecords = a })+desMaxRecords :: Lens' DescribeScalingActivities (Maybe Int)+desMaxRecords = lens _desMaxRecords (\ s a -> s{_desMaxRecords = a}); --- | The token for the next set of items to return. (You received this token from--- a previous call.)-dsa2NextToken :: Lens' DescribeScalingActivities (Maybe Text)-dsa2NextToken = lens _dsa2NextToken (\s a -> s { _dsa2NextToken = a })+-- | The name of the group.+desAutoScalingGroupName :: Lens' DescribeScalingActivities (Maybe Text)+desAutoScalingGroupName = lens _desAutoScalingGroupName (\ s a -> s{_desAutoScalingGroupName = a}); -data DescribeScalingActivitiesResponse = DescribeScalingActivitiesResponse-    { _dsar1Activities :: List "member" Activity-    , _dsar1NextToken  :: Maybe Text-    } deriving (Eq, Read, Show)+-- | The activity IDs of the desired scaling activities. If this list is+-- omitted, all activities are described. If the 'AutoScalingGroupName'+-- parameter is provided, the results are limited to that group. The list+-- of requested activities cannot contain more than 50 items. If unknown+-- activities are requested, they are ignored with no error.+desActivityIds :: Lens' DescribeScalingActivities [Text]+desActivityIds = lens _desActivityIds (\ s a -> s{_desActivityIds = a}) . _Default . _Coerce; --- | 'DescribeScalingActivitiesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dsar1Activities' @::@ ['Activity']------ * 'dsar1NextToken' @::@ 'Maybe' 'Text'----describeScalingActivitiesResponse :: DescribeScalingActivitiesResponse-describeScalingActivitiesResponse = DescribeScalingActivitiesResponse-    { _dsar1Activities = mempty-    , _dsar1NextToken  = Nothing-    }+instance AWSPager DescribeScalingActivities where+        page rq rs+          | stop (rs ^. dsasrsNextToken) = Nothing+          | stop (rs ^. dsasrsActivities) = Nothing+          | otherwise =+            Just $ rq & desNextToken .~ rs ^. dsasrsNextToken --- | The scaling activities.-dsar1Activities :: Lens' DescribeScalingActivitiesResponse [Activity]-dsar1Activities = lens _dsar1Activities (\s a -> s { _dsar1Activities = a }) . _List+instance AWSRequest DescribeScalingActivities where+        type Sv DescribeScalingActivities = AutoScaling+        type Rs DescribeScalingActivities =+             DescribeScalingActivitiesResponse+        request = postQuery+        response+          = receiveXMLWrapper "DescribeScalingActivitiesResult"+              (\ s h x ->+                 DescribeScalingActivitiesResponse' <$>+                   (x .@? "NextToken") <*> (pure (fromEnum s)) <*>+                     (x .@? "Activities" .!@ mempty >>=+                        parseXMLList "member")) --- | The token to use when requesting the next set of items. If there are no--- additional items to return, the string is empty.-dsar1NextToken :: Lens' DescribeScalingActivitiesResponse (Maybe Text)-dsar1NextToken = lens _dsar1NextToken (\s a -> s { _dsar1NextToken = a })+instance ToHeaders DescribeScalingActivities where+        toHeaders = const mempty  instance ToPath DescribeScalingActivities where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeScalingActivities where-    toQuery DescribeScalingActivities{..} = mconcat-        [ "ActivityIds"          =? _dsa2ActivityIds-        , "AutoScalingGroupName" =? _dsa2AutoScalingGroupName-        , "MaxRecords"           =? _dsa2MaxRecords-        , "NextToken"            =? _dsa2NextToken-        ]+        toQuery DescribeScalingActivities'{..}+          = mconcat+              ["Action" =:+                 ("DescribeScalingActivities" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "NextToken" =: _desNextToken,+               "MaxRecords" =: _desMaxRecords,+               "AutoScalingGroupName" =: _desAutoScalingGroupName,+               "ActivityIds" =:+                 toQuery (toQueryList "member" <$> _desActivityIds)] -instance ToHeaders DescribeScalingActivities+-- | /See:/ 'describeScalingActivitiesResponse' smart constructor.+data DescribeScalingActivitiesResponse = DescribeScalingActivitiesResponse'+    { _dsasrsNextToken  :: !(Maybe Text)+    , _dsasrsStatus     :: !Int+    , _dsasrsActivities :: ![Activity]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeScalingActivities where-    type Sv DescribeScalingActivities = AutoScaling-    type Rs DescribeScalingActivities = DescribeScalingActivitiesResponse+-- | Creates a value of 'DescribeScalingActivitiesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsasrsNextToken'+--+-- * 'dsasrsStatus'+--+-- * 'dsasrsActivities'+describeScalingActivitiesResponse+    :: Int -- ^ 'dsasrsStatus'+    -> DescribeScalingActivitiesResponse+describeScalingActivitiesResponse pStatus_ =+    DescribeScalingActivitiesResponse'+    { _dsasrsNextToken = Nothing+    , _dsasrsStatus = pStatus_+    , _dsasrsActivities = mempty+    } -    request  = post "DescribeScalingActivities"-    response = xmlResponse+-- | The token to use when requesting the next set of items. If there are no+-- additional items to return, the string is empty.+dsasrsNextToken :: Lens' DescribeScalingActivitiesResponse (Maybe Text)+dsasrsNextToken = lens _dsasrsNextToken (\ s a -> s{_dsasrsNextToken = a}); -instance FromXML DescribeScalingActivitiesResponse where-    parseXML = withElement "DescribeScalingActivitiesResult" $ \x -> DescribeScalingActivitiesResponse-        <$> x .@? "Activities" .!@ mempty-        <*> x .@? "NextToken"+-- | The response status code.+dsasrsStatus :: Lens' DescribeScalingActivitiesResponse Int+dsasrsStatus = lens _dsasrsStatus (\ s a -> s{_dsasrsStatus = a}); -instance AWSPager DescribeScalingActivities where-    page rq rs-        | stop (rs ^. dsar1NextToken) = Nothing-        | otherwise = (\x -> rq & dsa2NextToken ?~ x)-            <$> (rs ^. dsar1NextToken)+-- | The scaling activities.+dsasrsActivities :: Lens' DescribeScalingActivitiesResponse [Activity]+dsasrsActivities = lens _dsasrsActivities (\ s a -> s{_dsasrsActivities = a}) . _Coerce;
gen/Network/AWS/AutoScaling/DescribeScalingProcessTypes.hs view
@@ -1,97 +1,112 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeScalingProcessTypes--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns scaling process types for use in the 'ResumeProcesses' and 'SuspendProcesses' actions.+-- Describes the scaling process types for use with ResumeProcesses and+-- SuspendProcesses. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeScalingProcessTypes.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeScalingProcessTypes.html AWS API Reference> for DescribeScalingProcessTypes. module Network.AWS.AutoScaling.DescribeScalingProcessTypes     (-    -- * Request-      DescribeScalingProcessTypes-    -- ** Request constructor-    , describeScalingProcessTypes+    -- * Creating a Request+      describeScalingProcessTypes+    , DescribeScalingProcessTypes -    -- * Response-    , DescribeScalingProcessTypesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeScalingProcessTypesResponse-    -- ** Response lenses-    , dsptrProcesses+    , DescribeScalingProcessTypesResponse+    -- * Response Lenses+    , dsptrsProcesses+    , dsptrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeScalingProcessTypes = DescribeScalingProcessTypes-    deriving (Eq, Ord, Read, Show, Generic)+-- | /See:/ 'describeScalingProcessTypes' smart constructor.+data DescribeScalingProcessTypes =+    DescribeScalingProcessTypes'+    deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeScalingProcessTypes' constructor.-describeScalingProcessTypes :: DescribeScalingProcessTypes-describeScalingProcessTypes = DescribeScalingProcessTypes+-- | Creates a value of 'DescribeScalingProcessTypes' with the minimum fields required to make a request.+--+describeScalingProcessTypes+    :: DescribeScalingProcessTypes+describeScalingProcessTypes = DescribeScalingProcessTypes' -newtype DescribeScalingProcessTypesResponse = DescribeScalingProcessTypesResponse-    { _dsptrProcesses :: List "member" ProcessType-    } deriving (Eq, Read, Show, Monoid, Semigroup)+instance AWSRequest DescribeScalingProcessTypes where+        type Sv DescribeScalingProcessTypes = AutoScaling+        type Rs DescribeScalingProcessTypes =+             DescribeScalingProcessTypesResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "DescribeScalingProcessTypesResult"+              (\ s h x ->+                 DescribeScalingProcessTypesResponse' <$>+                   (x .@? "Processes" .!@ mempty >>=+                      may (parseXMLList "member"))+                     <*> (pure (fromEnum s))) -instance GHC.Exts.IsList DescribeScalingProcessTypesResponse where-    type Item DescribeScalingProcessTypesResponse = ProcessType+instance ToHeaders DescribeScalingProcessTypes where+        toHeaders = const mempty -    fromList = DescribeScalingProcessTypesResponse . GHC.Exts.fromList-    toList   = GHC.Exts.toList . _dsptrProcesses+instance ToPath DescribeScalingProcessTypes where+        toPath = const "/" --- | 'DescribeScalingProcessTypesResponse' constructor.+instance ToQuery DescribeScalingProcessTypes where+        toQuery+          = const+              (mconcat+                 ["Action" =:+                    ("DescribeScalingProcessTypes" :: ByteString),+                  "Version" =: ("2011-01-01" :: ByteString)])++-- | /See:/ 'describeScalingProcessTypesResponse' smart constructor.+data DescribeScalingProcessTypesResponse = DescribeScalingProcessTypesResponse'+    { _dsptrsProcesses :: !(Maybe [ProcessType])+    , _dsptrsStatus    :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeScalingProcessTypesResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'dsptrProcesses' @::@ ['ProcessType']+-- * 'dsptrsProcesses' ---describeScalingProcessTypesResponse :: DescribeScalingProcessTypesResponse-describeScalingProcessTypesResponse = DescribeScalingProcessTypesResponse-    { _dsptrProcesses = mempty+-- * 'dsptrsStatus'+describeScalingProcessTypesResponse+    :: Int -- ^ 'dsptrsStatus'+    -> DescribeScalingProcessTypesResponse+describeScalingProcessTypesResponse pStatus_ =+    DescribeScalingProcessTypesResponse'+    { _dsptrsProcesses = Nothing+    , _dsptrsStatus = pStatus_     }  -- | The names of the process types.-dsptrProcesses :: Lens' DescribeScalingProcessTypesResponse [ProcessType]-dsptrProcesses = lens _dsptrProcesses (\s a -> s { _dsptrProcesses = a }) . _List--instance ToPath DescribeScalingProcessTypes where-    toPath = const "/"--instance ToQuery DescribeScalingProcessTypes where-    toQuery = const mempty--instance ToHeaders DescribeScalingProcessTypes--instance AWSRequest DescribeScalingProcessTypes where-    type Sv DescribeScalingProcessTypes = AutoScaling-    type Rs DescribeScalingProcessTypes = DescribeScalingProcessTypesResponse--    request  = post "DescribeScalingProcessTypes"-    response = xmlResponse+dsptrsProcesses :: Lens' DescribeScalingProcessTypesResponse [ProcessType]+dsptrsProcesses = lens _dsptrsProcesses (\ s a -> s{_dsptrsProcesses = a}) . _Default . _Coerce; -instance FromXML DescribeScalingProcessTypesResponse where-    parseXML = withElement "DescribeScalingProcessTypesResult" $ \x -> DescribeScalingProcessTypesResponse-        <$> x .@? "Processes" .!@ mempty+-- | The response status code.+dsptrsStatus :: Lens' DescribeScalingProcessTypesResponse Int+dsptrsStatus = lens _dsptrsStatus (\ s a -> s{_dsptrsStatus = a});
gen/Network/AWS/AutoScaling/DescribeScheduledActions.hs view
@@ -1,192 +1,208 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeScheduledActions--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Lists the actions scheduled for your Auto Scaling group that haven't been--- executed. To list the actions that were already executed, use 'DescribeScalingActivities'.+-- Describes the actions scheduled for your Auto Scaling group that+-- haven\'t run. To describe the actions that have already run, use+-- DescribeScalingActivities. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeScheduledActions.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeScheduledActions.html AWS API Reference> for DescribeScheduledActions.+--+-- This operation returns paginated results. module Network.AWS.AutoScaling.DescribeScheduledActions     (-    -- * Request-      DescribeScheduledActions-    -- ** Request constructor-    , describeScheduledActions-    -- ** Request lenses-    , dsa1AutoScalingGroupName-    , dsa1EndTime-    , dsa1MaxRecords-    , dsa1NextToken-    , dsa1ScheduledActionNames-    , dsa1StartTime+    -- * Creating a Request+      describeScheduledActions+    , DescribeScheduledActions+    -- * Request Lenses+    , dsasStartTime+    , dsasNextToken+    , dsasMaxRecords+    , dsasEndTime+    , dsasAutoScalingGroupName+    , dsasScheduledActionNames -    -- * Response-    , DescribeScheduledActionsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeScheduledActionsResponse-    -- ** Response lenses-    , dsarNextToken-    , dsarScheduledUpdateGroupActions+    , DescribeScheduledActionsResponse+    -- * Response Lenses+    , dsarsScheduledUpdateGroupActions+    , dsarsNextToken+    , dsarsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeScheduledActions = DescribeScheduledActions-    { _dsa1AutoScalingGroupName :: Maybe Text-    , _dsa1EndTime              :: Maybe ISO8601-    , _dsa1MaxRecords           :: Maybe Int-    , _dsa1NextToken            :: Maybe Text-    , _dsa1ScheduledActionNames :: List "member" Text-    , _dsa1StartTime            :: Maybe ISO8601-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'describeScheduledActions' smart constructor.+data DescribeScheduledActions = DescribeScheduledActions'+    { _dsasStartTime            :: !(Maybe ISO8601)+    , _dsasNextToken            :: !(Maybe Text)+    , _dsasMaxRecords           :: !(Maybe Int)+    , _dsasEndTime              :: !(Maybe ISO8601)+    , _dsasAutoScalingGroupName :: !(Maybe Text)+    , _dsasScheduledActionNames :: !(Maybe [Text])+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeScheduledActions' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeScheduledActions' with the minimum fields required to make a request. ----- * 'dsa1AutoScalingGroupName' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dsa1EndTime' @::@ 'Maybe' 'UTCTime'+-- * 'dsasStartTime' ----- * 'dsa1MaxRecords' @::@ 'Maybe' 'Int'+-- * 'dsasNextToken' ----- * 'dsa1NextToken' @::@ 'Maybe' 'Text'+-- * 'dsasMaxRecords' ----- * 'dsa1ScheduledActionNames' @::@ ['Text']+-- * 'dsasEndTime' ----- * 'dsa1StartTime' @::@ 'Maybe' 'UTCTime'+-- * 'dsasAutoScalingGroupName' ---describeScheduledActions :: DescribeScheduledActions-describeScheduledActions = DescribeScheduledActions-    { _dsa1AutoScalingGroupName = Nothing-    , _dsa1ScheduledActionNames = mempty-    , _dsa1StartTime            = Nothing-    , _dsa1EndTime              = Nothing-    , _dsa1NextToken            = Nothing-    , _dsa1MaxRecords           = Nothing+-- * 'dsasScheduledActionNames'+describeScheduledActions+    :: DescribeScheduledActions+describeScheduledActions =+    DescribeScheduledActions'+    { _dsasStartTime = Nothing+    , _dsasNextToken = Nothing+    , _dsasMaxRecords = Nothing+    , _dsasEndTime = Nothing+    , _dsasAutoScalingGroupName = Nothing+    , _dsasScheduledActionNames = Nothing     } --- | The name of the group.-dsa1AutoScalingGroupName :: Lens' DescribeScheduledActions (Maybe Text)-dsa1AutoScalingGroupName =-    lens _dsa1AutoScalingGroupName-        (\s a -> s { _dsa1AutoScalingGroupName = a })+-- | The earliest scheduled start time to return. If scheduled action names+-- are provided, this parameter is ignored.+dsasStartTime :: Lens' DescribeScheduledActions (Maybe UTCTime)+dsasStartTime = lens _dsasStartTime (\ s a -> s{_dsasStartTime = a}) . mapping _Time; --- | The latest scheduled start time to return. If scheduled action names are--- provided, this parameter is ignored.-dsa1EndTime :: Lens' DescribeScheduledActions (Maybe UTCTime)-dsa1EndTime = lens _dsa1EndTime (\s a -> s { _dsa1EndTime = a }) . mapping _Time+-- | The token for the next set of items to return. (You received this token+-- from a previous call.)+dsasNextToken :: Lens' DescribeScheduledActions (Maybe Text)+dsasNextToken = lens _dsasNextToken (\ s a -> s{_dsasNextToken = a});  -- | The maximum number of items to return with this call.-dsa1MaxRecords :: Lens' DescribeScheduledActions (Maybe Int)-dsa1MaxRecords = lens _dsa1MaxRecords (\s a -> s { _dsa1MaxRecords = a })+dsasMaxRecords :: Lens' DescribeScheduledActions (Maybe Int)+dsasMaxRecords = lens _dsasMaxRecords (\ s a -> s{_dsasMaxRecords = a}); --- | The token for the next set of items to return. (You received this token from--- a previous call.)-dsa1NextToken :: Lens' DescribeScheduledActions (Maybe Text)-dsa1NextToken = lens _dsa1NextToken (\s a -> s { _dsa1NextToken = a })+-- | The latest scheduled start time to return. If scheduled action names are+-- provided, this parameter is ignored.+dsasEndTime :: Lens' DescribeScheduledActions (Maybe UTCTime)+dsasEndTime = lens _dsasEndTime (\ s a -> s{_dsasEndTime = a}) . mapping _Time; +-- | The name of the group.+dsasAutoScalingGroupName :: Lens' DescribeScheduledActions (Maybe Text)+dsasAutoScalingGroupName = lens _dsasAutoScalingGroupName (\ s a -> s{_dsasAutoScalingGroupName = a});+ -- | Describes one or more scheduled actions. If you omit this list, the call--- describes all scheduled actions. If you specify an unknown scheduled action--- it is ignored with no error.+-- describes all scheduled actions. If you specify an unknown scheduled+-- action it is ignored with no error. -- -- You can describe up to a maximum of 50 instances with a single call. If--- there are more items to return, the call returns a token. To get the next set--- of items, repeat the call with the returned token in the 'NextToken' parameter.-dsa1ScheduledActionNames :: Lens' DescribeScheduledActions [Text]-dsa1ScheduledActionNames =-    lens _dsa1ScheduledActionNames-        (\s a -> s { _dsa1ScheduledActionNames = a })-            . _List---- | The earliest scheduled start time to return. If scheduled action names are--- provided, this parameter is ignored.-dsa1StartTime :: Lens' DescribeScheduledActions (Maybe UTCTime)-dsa1StartTime = lens _dsa1StartTime (\s a -> s { _dsa1StartTime = a }) . mapping _Time--data DescribeScheduledActionsResponse = DescribeScheduledActionsResponse-    { _dsarNextToken                   :: Maybe Text-    , _dsarScheduledUpdateGroupActions :: List "member" ScheduledUpdateGroupAction-    } deriving (Eq, Read, Show)+-- there are more items to return, the call returns a token. To get the+-- next set of items, repeat the call with the returned token in the+-- 'NextToken' parameter.+dsasScheduledActionNames :: Lens' DescribeScheduledActions [Text]+dsasScheduledActionNames = lens _dsasScheduledActionNames (\ s a -> s{_dsasScheduledActionNames = a}) . _Default . _Coerce; --- | 'DescribeScheduledActionsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dsarNextToken' @::@ 'Maybe' 'Text'------ * 'dsarScheduledUpdateGroupActions' @::@ ['ScheduledUpdateGroupAction']----describeScheduledActionsResponse :: DescribeScheduledActionsResponse-describeScheduledActionsResponse = DescribeScheduledActionsResponse-    { _dsarScheduledUpdateGroupActions = mempty-    , _dsarNextToken                   = Nothing-    }+instance AWSPager DescribeScheduledActions where+        page rq rs+          | stop (rs ^. dsarsNextToken) = Nothing+          | stop (rs ^. dsarsScheduledUpdateGroupActions) =+            Nothing+          | otherwise =+            Just $ rq & dsasNextToken .~ rs ^. dsarsNextToken --- | The token to use when requesting the next set of items. If there are no--- additional items to return, the string is empty.-dsarNextToken :: Lens' DescribeScheduledActionsResponse (Maybe Text)-dsarNextToken = lens _dsarNextToken (\s a -> s { _dsarNextToken = a })+instance AWSRequest DescribeScheduledActions where+        type Sv DescribeScheduledActions = AutoScaling+        type Rs DescribeScheduledActions =+             DescribeScheduledActionsResponse+        request = postQuery+        response+          = receiveXMLWrapper "DescribeScheduledActionsResult"+              (\ s h x ->+                 DescribeScheduledActionsResponse' <$>+                   (x .@? "ScheduledUpdateGroupActions" .!@ mempty >>=+                      may (parseXMLList "member"))+                     <*> (x .@? "NextToken")+                     <*> (pure (fromEnum s))) --- | The scheduled actions.-dsarScheduledUpdateGroupActions :: Lens' DescribeScheduledActionsResponse [ScheduledUpdateGroupAction]-dsarScheduledUpdateGroupActions =-    lens _dsarScheduledUpdateGroupActions-        (\s a -> s { _dsarScheduledUpdateGroupActions = a })-            . _List+instance ToHeaders DescribeScheduledActions where+        toHeaders = const mempty  instance ToPath DescribeScheduledActions where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeScheduledActions where-    toQuery DescribeScheduledActions{..} = mconcat-        [ "AutoScalingGroupName" =? _dsa1AutoScalingGroupName-        , "EndTime"              =? _dsa1EndTime-        , "MaxRecords"           =? _dsa1MaxRecords-        , "NextToken"            =? _dsa1NextToken-        , "ScheduledActionNames" =? _dsa1ScheduledActionNames-        , "StartTime"            =? _dsa1StartTime-        ]+        toQuery DescribeScheduledActions'{..}+          = mconcat+              ["Action" =:+                 ("DescribeScheduledActions" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "StartTime" =: _dsasStartTime,+               "NextToken" =: _dsasNextToken,+               "MaxRecords" =: _dsasMaxRecords,+               "EndTime" =: _dsasEndTime,+               "AutoScalingGroupName" =: _dsasAutoScalingGroupName,+               "ScheduledActionNames" =:+                 toQuery+                   (toQueryList "member" <$> _dsasScheduledActionNames)] -instance ToHeaders DescribeScheduledActions+-- | /See:/ 'describeScheduledActionsResponse' smart constructor.+data DescribeScheduledActionsResponse = DescribeScheduledActionsResponse'+    { _dsarsScheduledUpdateGroupActions :: !(Maybe [ScheduledUpdateGroupAction])+    , _dsarsNextToken                   :: !(Maybe Text)+    , _dsarsStatus                      :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeScheduledActions where-    type Sv DescribeScheduledActions = AutoScaling-    type Rs DescribeScheduledActions = DescribeScheduledActionsResponse+-- | Creates a value of 'DescribeScheduledActionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsarsScheduledUpdateGroupActions'+--+-- * 'dsarsNextToken'+--+-- * 'dsarsStatus'+describeScheduledActionsResponse+    :: Int -- ^ 'dsarsStatus'+    -> DescribeScheduledActionsResponse+describeScheduledActionsResponse pStatus_ =+    DescribeScheduledActionsResponse'+    { _dsarsScheduledUpdateGroupActions = Nothing+    , _dsarsNextToken = Nothing+    , _dsarsStatus = pStatus_+    } -    request  = post "DescribeScheduledActions"-    response = xmlResponse+-- | The scheduled actions.+dsarsScheduledUpdateGroupActions :: Lens' DescribeScheduledActionsResponse [ScheduledUpdateGroupAction]+dsarsScheduledUpdateGroupActions = lens _dsarsScheduledUpdateGroupActions (\ s a -> s{_dsarsScheduledUpdateGroupActions = a}) . _Default . _Coerce; -instance FromXML DescribeScheduledActionsResponse where-    parseXML = withElement "DescribeScheduledActionsResult" $ \x -> DescribeScheduledActionsResponse-        <$> x .@? "NextToken"-        <*> x .@? "ScheduledUpdateGroupActions" .!@ mempty+-- | The token to use when requesting the next set of items. If there are no+-- additional items to return, the string is empty.+dsarsNextToken :: Lens' DescribeScheduledActionsResponse (Maybe Text)+dsarsNextToken = lens _dsarsNextToken (\ s a -> s{_dsarsNextToken = a}); -instance AWSPager DescribeScheduledActions where-    page rq rs-        | stop (rs ^. dsarNextToken) = Nothing-        | otherwise = (\x -> rq & dsa1NextToken ?~ x)-            <$> (rs ^. dsarNextToken)+-- | The response status code.+dsarsStatus :: Lens' DescribeScheduledActionsResponse Int+dsarsStatus = lens _dsarsStatus (\ s a -> s{_dsarsStatus = a});
gen/Network/AWS/AutoScaling/DescribeTags.hs view
@@ -1,157 +1,172 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeTags--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes the specified tags.+-- Describes the specified tags. ----- You can use filters to limit the results. For example, you can query for the--- tags for a specific Auto Scaling group. You can specify multiple values for a--- filter. A tag must match at least one of the specified values for it to be--- included in the results.+-- You can use filters to limit the results. For example, you can query for+-- the tags for a specific Auto Scaling group. You can specify multiple+-- values for a filter. A tag must match at least one of the specified+-- values for it to be included in the results. ----- You can also specify multiple filters. The result includes information for a--- particular tag only if it matches all the filters. If there's no match, no--- special message is returned.+-- You can also specify multiple filters. The result includes information+-- for a particular tag only if it matches all the filters. If there\'s no+-- match, no special message is returned. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeTags.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeTags.html AWS API Reference> for DescribeTags.+--+-- This operation returns paginated results. module Network.AWS.AutoScaling.DescribeTags     (-    -- * Request-      DescribeTags-    -- ** Request constructor-    , describeTags-    -- ** Request lenses+    -- * Creating a Request+      describeTags+    , DescribeTags+    -- * Request Lenses     , dtFilters-    , dtMaxRecords     , dtNextToken+    , dtMaxRecords -    -- * Response-    , DescribeTagsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeTagsResponse-    -- ** Response lenses-    , dtrNextToken-    , dtrTags+    , DescribeTagsResponse+    -- * Response Lenses+    , dtrsNextToken+    , dtrsTags+    , dtrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeTags = DescribeTags-    { _dtFilters    :: List "member" Filter-    , _dtMaxRecords :: Maybe Int-    , _dtNextToken  :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'describeTags' smart constructor.+data DescribeTags = DescribeTags'+    { _dtFilters    :: !(Maybe [Filter])+    , _dtNextToken  :: !(Maybe Text)+    , _dtMaxRecords :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeTags' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeTags' with the minimum fields required to make a request. ----- * 'dtFilters' @::@ ['Filter']+-- Use one of the following lenses to modify other fields as desired: ----- * 'dtMaxRecords' @::@ 'Maybe' 'Int'+-- * 'dtFilters' ----- * 'dtNextToken' @::@ 'Maybe' 'Text'+-- * 'dtNextToken' ---describeTags :: DescribeTags-describeTags = DescribeTags-    { _dtFilters    = mempty-    , _dtNextToken  = Nothing+-- * 'dtMaxRecords'+describeTags+    :: DescribeTags+describeTags =+    DescribeTags'+    { _dtFilters = Nothing+    , _dtNextToken = Nothing     , _dtMaxRecords = Nothing     } --- | The value of the filter type used to identify the tags to be returned. For--- example, you can filter so that tags are returned according to Auto Scaling--- group, the key and value, or whether the new tag will be applied to instances--- launched after the tag is created (PropagateAtLaunch).+-- | A filter used to scope the tags to return. dtFilters :: Lens' DescribeTags [Filter]-dtFilters = lens _dtFilters (\s a -> s { _dtFilters = a }) . _List+dtFilters = lens _dtFilters (\ s a -> s{_dtFilters = a}) . _Default . _Coerce; +-- | The token for the next set of items to return. (You received this token+-- from a previous call.)+dtNextToken :: Lens' DescribeTags (Maybe Text)+dtNextToken = lens _dtNextToken (\ s a -> s{_dtNextToken = a});+ -- | The maximum number of items to return with this call. dtMaxRecords :: Lens' DescribeTags (Maybe Int)-dtMaxRecords = lens _dtMaxRecords (\s a -> s { _dtMaxRecords = a })+dtMaxRecords = lens _dtMaxRecords (\ s a -> s{_dtMaxRecords = a}); --- | The token for the next set of items to return. (You received this token from--- a previous call.)-dtNextToken :: Lens' DescribeTags (Maybe Text)-dtNextToken = lens _dtNextToken (\s a -> s { _dtNextToken = a })+instance AWSPager DescribeTags where+        page rq rs+          | stop (rs ^. dtrsNextToken) = Nothing+          | stop (rs ^. dtrsTags) = Nothing+          | otherwise =+            Just $ rq & dtNextToken .~ rs ^. dtrsNextToken -data DescribeTagsResponse = DescribeTagsResponse-    { _dtrNextToken :: Maybe Text-    , _dtrTags      :: List "member" TagDescription-    } deriving (Eq, Read, Show)+instance AWSRequest DescribeTags where+        type Sv DescribeTags = AutoScaling+        type Rs DescribeTags = DescribeTagsResponse+        request = postQuery+        response+          = receiveXMLWrapper "DescribeTagsResult"+              (\ s h x ->+                 DescribeTagsResponse' <$>+                   (x .@? "NextToken") <*>+                     (x .@? "Tags" .!@ mempty >>=+                        may (parseXMLList "member"))+                     <*> (pure (fromEnum s))) --- | 'DescribeTagsResponse' constructor.+instance ToHeaders DescribeTags where+        toHeaders = const mempty++instance ToPath DescribeTags where+        toPath = const "/"++instance ToQuery DescribeTags where+        toQuery DescribeTags'{..}+          = mconcat+              ["Action" =: ("DescribeTags" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "Filters" =:+                 toQuery (toQueryList "member" <$> _dtFilters),+               "NextToken" =: _dtNextToken,+               "MaxRecords" =: _dtMaxRecords]++-- | /See:/ 'describeTagsResponse' smart constructor.+data DescribeTagsResponse = DescribeTagsResponse'+    { _dtrsNextToken :: !(Maybe Text)+    , _dtrsTags      :: !(Maybe [TagDescription])+    , _dtrsStatus    :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeTagsResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'dtrNextToken' @::@ 'Maybe' 'Text'+-- * 'dtrsNextToken' ----- * 'dtrTags' @::@ ['TagDescription']+-- * 'dtrsTags' ---describeTagsResponse :: DescribeTagsResponse-describeTagsResponse = DescribeTagsResponse-    { _dtrTags      = mempty-    , _dtrNextToken = Nothing+-- * 'dtrsStatus'+describeTagsResponse+    :: Int -- ^ 'dtrsStatus'+    -> DescribeTagsResponse+describeTagsResponse pStatus_ =+    DescribeTagsResponse'+    { _dtrsNextToken = Nothing+    , _dtrsTags = Nothing+    , _dtrsStatus = pStatus_     }  -- | The token to use when requesting the next set of items. If there are no -- additional items to return, the string is empty.-dtrNextToken :: Lens' DescribeTagsResponse (Maybe Text)-dtrNextToken = lens _dtrNextToken (\s a -> s { _dtrNextToken = a })+dtrsNextToken :: Lens' DescribeTagsResponse (Maybe Text)+dtrsNextToken = lens _dtrsNextToken (\ s a -> s{_dtrsNextToken = a});  -- | The tags.-dtrTags :: Lens' DescribeTagsResponse [TagDescription]-dtrTags = lens _dtrTags (\s a -> s { _dtrTags = a }) . _List--instance ToPath DescribeTags where-    toPath = const "/"--instance ToQuery DescribeTags where-    toQuery DescribeTags{..} = mconcat-        [ "Filters"    =? _dtFilters-        , "MaxRecords" =? _dtMaxRecords-        , "NextToken"  =? _dtNextToken-        ]--instance ToHeaders DescribeTags--instance AWSRequest DescribeTags where-    type Sv DescribeTags = AutoScaling-    type Rs DescribeTags = DescribeTagsResponse--    request  = post "DescribeTags"-    response = xmlResponse--instance FromXML DescribeTagsResponse where-    parseXML = withElement "DescribeTagsResult" $ \x -> DescribeTagsResponse-        <$> x .@? "NextToken"-        <*> x .@? "Tags" .!@ mempty+dtrsTags :: Lens' DescribeTagsResponse [TagDescription]+dtrsTags = lens _dtrsTags (\ s a -> s{_dtrsTags = a}) . _Default . _Coerce; -instance AWSPager DescribeTags where-    page rq rs-        | stop (rs ^. dtrNextToken) = Nothing-        | otherwise = (\x -> rq & dtNextToken ?~ x)-            <$> (rs ^. dtrNextToken)+-- | The response status code.+dtrsStatus :: Lens' DescribeTagsResponse Int+dtrsStatus = lens _dtrsStatus (\ s a -> s{_dtrsStatus = a});
gen/Network/AWS/AutoScaling/DescribeTerminationPolicyTypes.hs view
@@ -1,100 +1,115 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DescribeTerminationPolicyTypes--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Lists the termination policies supported by Auto Scaling.+-- Describes the termination policies supported by Auto Scaling. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeTerminationPolicyTypes.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeTerminationPolicyTypes.html AWS API Reference> for DescribeTerminationPolicyTypes. module Network.AWS.AutoScaling.DescribeTerminationPolicyTypes     (-    -- * Request-      DescribeTerminationPolicyTypes-    -- ** Request constructor-    , describeTerminationPolicyTypes+    -- * Creating a Request+      describeTerminationPolicyTypes+    , DescribeTerminationPolicyTypes -    -- * Response-    , DescribeTerminationPolicyTypesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeTerminationPolicyTypesResponse-    -- ** Response lenses-    , dtptrTerminationPolicyTypes+    , DescribeTerminationPolicyTypesResponse+    -- * Response Lenses+    , dtptrsTerminationPolicyTypes+    , dtptrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts--data DescribeTerminationPolicyTypes = DescribeTerminationPolicyTypes-    deriving (Eq, Ord, Read, Show, Generic)---- | 'DescribeTerminationPolicyTypes' constructor.-describeTerminationPolicyTypes :: DescribeTerminationPolicyTypes-describeTerminationPolicyTypes = DescribeTerminationPolicyTypes--newtype DescribeTerminationPolicyTypesResponse = DescribeTerminationPolicyTypesResponse-    { _dtptrTerminationPolicyTypes :: List "member" Text-    } deriving (Eq, Ord, Read, Show, Monoid, Semigroup)--instance GHC.Exts.IsList DescribeTerminationPolicyTypesResponse where-    type Item DescribeTerminationPolicyTypesResponse = Text+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -    fromList = DescribeTerminationPolicyTypesResponse . GHC.Exts.fromList-    toList   = GHC.Exts.toList . _dtptrTerminationPolicyTypes+-- | /See:/ 'describeTerminationPolicyTypes' smart constructor.+data DescribeTerminationPolicyTypes =+    DescribeTerminationPolicyTypes'+    deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeTerminationPolicyTypesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dtptrTerminationPolicyTypes' @::@ ['Text']+-- | Creates a value of 'DescribeTerminationPolicyTypes' with the minimum fields required to make a request. ---describeTerminationPolicyTypesResponse :: DescribeTerminationPolicyTypesResponse-describeTerminationPolicyTypesResponse = DescribeTerminationPolicyTypesResponse-    { _dtptrTerminationPolicyTypes = mempty-    }+describeTerminationPolicyTypes+    :: DescribeTerminationPolicyTypes+describeTerminationPolicyTypes = DescribeTerminationPolicyTypes' --- | The Termination policies supported by Auto Scaling. They are: 'OldestInstance', 'OldestLaunchConfiguration', 'NewestInstance', 'ClosestToNextInstanceHour', and 'Default'.-dtptrTerminationPolicyTypes :: Lens' DescribeTerminationPolicyTypesResponse [Text]-dtptrTerminationPolicyTypes =-    lens _dtptrTerminationPolicyTypes-        (\s a -> s { _dtptrTerminationPolicyTypes = a })-            . _List+instance AWSRequest DescribeTerminationPolicyTypes+         where+        type Sv DescribeTerminationPolicyTypes = AutoScaling+        type Rs DescribeTerminationPolicyTypes =+             DescribeTerminationPolicyTypesResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "DescribeTerminationPolicyTypesResult"+              (\ s h x ->+                 DescribeTerminationPolicyTypesResponse' <$>+                   (x .@? "TerminationPolicyTypes" .!@ mempty >>=+                      may (parseXMLList "member"))+                     <*> (pure (fromEnum s))) +instance ToHeaders DescribeTerminationPolicyTypes+         where+        toHeaders = const mempty+ instance ToPath DescribeTerminationPolicyTypes where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeTerminationPolicyTypes where-    toQuery = const mempty+        toQuery+          = const+              (mconcat+                 ["Action" =:+                    ("DescribeTerminationPolicyTypes" :: ByteString),+                  "Version" =: ("2011-01-01" :: ByteString)]) -instance ToHeaders DescribeTerminationPolicyTypes+-- | /See:/ 'describeTerminationPolicyTypesResponse' smart constructor.+data DescribeTerminationPolicyTypesResponse = DescribeTerminationPolicyTypesResponse'+    { _dtptrsTerminationPolicyTypes :: !(Maybe [Text])+    , _dtptrsStatus                 :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeTerminationPolicyTypes where-    type Sv DescribeTerminationPolicyTypes = AutoScaling-    type Rs DescribeTerminationPolicyTypes = DescribeTerminationPolicyTypesResponse+-- | Creates a value of 'DescribeTerminationPolicyTypesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtptrsTerminationPolicyTypes'+--+-- * 'dtptrsStatus'+describeTerminationPolicyTypesResponse+    :: Int -- ^ 'dtptrsStatus'+    -> DescribeTerminationPolicyTypesResponse+describeTerminationPolicyTypesResponse pStatus_ =+    DescribeTerminationPolicyTypesResponse'+    { _dtptrsTerminationPolicyTypes = Nothing+    , _dtptrsStatus = pStatus_+    } -    request  = post "DescribeTerminationPolicyTypes"-    response = xmlResponse+-- | The termination policies supported by Auto Scaling ('OldestInstance',+-- 'OldestLaunchConfiguration', 'NewestInstance',+-- 'ClosestToNextInstanceHour', and 'Default').+dtptrsTerminationPolicyTypes :: Lens' DescribeTerminationPolicyTypesResponse [Text]+dtptrsTerminationPolicyTypes = lens _dtptrsTerminationPolicyTypes (\ s a -> s{_dtptrsTerminationPolicyTypes = a}) . _Default . _Coerce; -instance FromXML DescribeTerminationPolicyTypesResponse where-    parseXML = withElement "DescribeTerminationPolicyTypesResult" $ \x -> DescribeTerminationPolicyTypesResponse-        <$> x .@? "TerminationPolicyTypes" .!@ mempty+-- | The response status code.+dtptrsStatus :: Lens' DescribeTerminationPolicyTypesResponse Int+dtptrsStatus = lens _dtptrsStatus (\ s a -> s{_dtptrsStatus = a});
gen/Network/AWS/AutoScaling/DetachInstances.hs view
@@ -1,144 +1,152 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DetachInstances--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | 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.+-- 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. ----- For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/detach-instance-asg.html Detach EC2 Instances from Your Auto Scaling Group>+-- 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/. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DetachInstances.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DetachInstances.html AWS API Reference> for DetachInstances. module Network.AWS.AutoScaling.DetachInstances     (-    -- * Request-      DetachInstances-    -- ** Request constructor-    , detachInstances-    -- ** Request lenses-    , diAutoScalingGroupName+    -- * Creating a Request+      detachInstances+    , DetachInstances+    -- * Request Lenses     , diInstanceIds+    , diAutoScalingGroupName     , diShouldDecrementDesiredCapacity -    -- * Response-    , DetachInstancesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , detachInstancesResponse-    -- ** Response lenses-    , dirActivities+    , DetachInstancesResponse+    -- * Response Lenses+    , dirsActivities+    , dirsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DetachInstances = DetachInstances-    { _diAutoScalingGroupName           :: Text-    , _diInstanceIds                    :: List "member" Text-    , _diShouldDecrementDesiredCapacity :: Bool-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'detachInstances' smart constructor.+data DetachInstances = DetachInstances'+    { _diInstanceIds                    :: !(Maybe [Text])+    , _diAutoScalingGroupName           :: !Text+    , _diShouldDecrementDesiredCapacity :: !Bool+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DetachInstances' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DetachInstances' with the minimum fields required to make a request. ----- * 'diAutoScalingGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'diInstanceIds' @::@ ['Text']+-- * 'diInstanceIds' ----- * 'diShouldDecrementDesiredCapacity' @::@ 'Bool'+-- * 'diAutoScalingGroupName' ---detachInstances :: Text -- ^ 'diAutoScalingGroupName'-                -> Bool -- ^ 'diShouldDecrementDesiredCapacity'-                -> DetachInstances-detachInstances p1 p2 = DetachInstances-    { _diAutoScalingGroupName           = p1-    , _diShouldDecrementDesiredCapacity = p2-    , _diInstanceIds                    = mempty+-- * 'diShouldDecrementDesiredCapacity'+detachInstances+    :: Text -- ^ 'diAutoScalingGroupName'+    -> Bool -- ^ 'diShouldDecrementDesiredCapacity'+    -> DetachInstances+detachInstances pAutoScalingGroupName_ pShouldDecrementDesiredCapacity_ =+    DetachInstances'+    { _diInstanceIds = Nothing+    , _diAutoScalingGroupName = pAutoScalingGroupName_+    , _diShouldDecrementDesiredCapacity = pShouldDecrementDesiredCapacity_     } --- | The name of the group.-diAutoScalingGroupName :: Lens' DetachInstances Text-diAutoScalingGroupName =-    lens _diAutoScalingGroupName (\s a -> s { _diAutoScalingGroupName = a })- -- | One or more instance IDs. diInstanceIds :: Lens' DetachInstances [Text]-diInstanceIds = lens _diInstanceIds (\s a -> s { _diInstanceIds = a }) . _List---- | If 'True', the Auto Scaling group decrements the desired capacity value by the--- number of instances detached.-diShouldDecrementDesiredCapacity :: Lens' DetachInstances Bool-diShouldDecrementDesiredCapacity =-    lens _diShouldDecrementDesiredCapacity-        (\s a -> s { _diShouldDecrementDesiredCapacity = a })--newtype DetachInstancesResponse = DetachInstancesResponse-    { _dirActivities :: List "member" Activity-    } deriving (Eq, Read, Show, Monoid, Semigroup)+diInstanceIds = lens _diInstanceIds (\ s a -> s{_diInstanceIds = a}) . _Default . _Coerce; -instance GHC.Exts.IsList DetachInstancesResponse where-    type Item DetachInstancesResponse = Activity+-- | The name of the group.+diAutoScalingGroupName :: Lens' DetachInstances Text+diAutoScalingGroupName = lens _diAutoScalingGroupName (\ s a -> s{_diAutoScalingGroupName = a}); -    fromList = DetachInstancesResponse . GHC.Exts.fromList-    toList   = GHC.Exts.toList . _dirActivities+-- | If 'True', the Auto Scaling group decrements the desired capacity value+-- by the number of instances detached.+diShouldDecrementDesiredCapacity :: Lens' DetachInstances Bool+diShouldDecrementDesiredCapacity = lens _diShouldDecrementDesiredCapacity (\ s a -> s{_diShouldDecrementDesiredCapacity = a}); --- | 'DetachInstancesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dirActivities' @::@ ['Activity']----detachInstancesResponse :: DetachInstancesResponse-detachInstancesResponse = DetachInstancesResponse-    { _dirActivities = mempty-    }+instance AWSRequest DetachInstances where+        type Sv DetachInstances = AutoScaling+        type Rs DetachInstances = DetachInstancesResponse+        request = postQuery+        response+          = receiveXMLWrapper "DetachInstancesResult"+              (\ s h x ->+                 DetachInstancesResponse' <$>+                   (x .@? "Activities" .!@ mempty >>=+                      may (parseXMLList "member"))+                     <*> (pure (fromEnum s))) --- | The activities related to detaching the instances from the Auto Scaling group.-dirActivities :: Lens' DetachInstancesResponse [Activity]-dirActivities = lens _dirActivities (\s a -> s { _dirActivities = a }) . _List+instance ToHeaders DetachInstances where+        toHeaders = const mempty  instance ToPath DetachInstances where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DetachInstances where-    toQuery DetachInstances{..} = mconcat-        [ "AutoScalingGroupName"           =? _diAutoScalingGroupName-        , "InstanceIds"                    =? _diInstanceIds-        , "ShouldDecrementDesiredCapacity" =? _diShouldDecrementDesiredCapacity-        ]+        toQuery DetachInstances'{..}+          = mconcat+              ["Action" =: ("DetachInstances" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "InstanceIds" =:+                 toQuery (toQueryList "member" <$> _diInstanceIds),+               "AutoScalingGroupName" =: _diAutoScalingGroupName,+               "ShouldDecrementDesiredCapacity" =:+                 _diShouldDecrementDesiredCapacity] -instance ToHeaders DetachInstances+-- | /See:/ 'detachInstancesResponse' smart constructor.+data DetachInstancesResponse = DetachInstancesResponse'+    { _dirsActivities :: !(Maybe [Activity])+    , _dirsStatus     :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DetachInstances where-    type Sv DetachInstances = AutoScaling-    type Rs DetachInstances = DetachInstancesResponse+-- | Creates a value of 'DetachInstancesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dirsActivities'+--+-- * 'dirsStatus'+detachInstancesResponse+    :: Int -- ^ 'dirsStatus'+    -> DetachInstancesResponse+detachInstancesResponse pStatus_ =+    DetachInstancesResponse'+    { _dirsActivities = Nothing+    , _dirsStatus = pStatus_+    } -    request  = post "DetachInstances"-    response = xmlResponse+-- | The activities related to detaching the instances from the Auto Scaling+-- group.+dirsActivities :: Lens' DetachInstancesResponse [Activity]+dirsActivities = lens _dirsActivities (\ s a -> s{_dirsActivities = a}) . _Default . _Coerce; -instance FromXML DetachInstancesResponse where-    parseXML = withElement "DetachInstancesResult" $ \x -> DetachInstancesResponse-        <$> x .@? "Activities" .!@ mempty+-- | The response status code.+dirsStatus :: Lens' DetachInstancesResponse Int+dirsStatus = lens _dirsStatus (\ s a -> s{_dirsStatus = a});
+ gen/Network/AWS/AutoScaling/DetachLoadBalancers.hs view
@@ -0,0 +1,127 @@+{-# 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.DetachLoadBalancers+-- 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)+--+-- Removes one or more load balancers from the specified Auto Scaling+-- group.+--+-- When you detach a load balancer, it enters the 'Removing' state while+-- deregistering the instances in the group. When all instances are+-- deregistered, then you can no longer describe the load balancer using+-- DescribeLoadBalancers. Note that the instances remain running.+--+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DetachLoadBalancers.html AWS API Reference> for DetachLoadBalancers.+module Network.AWS.AutoScaling.DetachLoadBalancers+    (+    -- * Creating a Request+      detachLoadBalancers+    , DetachLoadBalancers+    -- * Request Lenses+    , dAutoScalingGroupName+    , dLoadBalancerNames++    -- * Destructuring the Response+    , detachLoadBalancersResponse+    , DetachLoadBalancersResponse+    -- * Response Lenses+    , dlbsrsStatus+    ) where++import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | /See:/ 'detachLoadBalancers' smart constructor.+data DetachLoadBalancers = DetachLoadBalancers'+    { _dAutoScalingGroupName :: !(Maybe Text)+    , _dLoadBalancerNames    :: !(Maybe [Text])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DetachLoadBalancers' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dAutoScalingGroupName'+--+-- * 'dLoadBalancerNames'+detachLoadBalancers+    :: DetachLoadBalancers+detachLoadBalancers =+    DetachLoadBalancers'+    { _dAutoScalingGroupName = Nothing+    , _dLoadBalancerNames = Nothing+    }++-- | The name of the group.+dAutoScalingGroupName :: Lens' DetachLoadBalancers (Maybe Text)+dAutoScalingGroupName = lens _dAutoScalingGroupName (\ s a -> s{_dAutoScalingGroupName = a});++-- | One or more load balancer names.+dLoadBalancerNames :: Lens' DetachLoadBalancers [Text]+dLoadBalancerNames = lens _dLoadBalancerNames (\ s a -> s{_dLoadBalancerNames = a}) . _Default . _Coerce;++instance AWSRequest DetachLoadBalancers where+        type Sv DetachLoadBalancers = AutoScaling+        type Rs DetachLoadBalancers =+             DetachLoadBalancersResponse+        request = postQuery+        response+          = receiveXMLWrapper "DetachLoadBalancersResult"+              (\ s h x ->+                 DetachLoadBalancersResponse' <$> (pure (fromEnum s)))++instance ToHeaders DetachLoadBalancers where+        toHeaders = const mempty++instance ToPath DetachLoadBalancers where+        toPath = const "/"++instance ToQuery DetachLoadBalancers where+        toQuery DetachLoadBalancers'{..}+          = mconcat+              ["Action" =: ("DetachLoadBalancers" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "AutoScalingGroupName" =: _dAutoScalingGroupName,+               "LoadBalancerNames" =:+                 toQuery+                   (toQueryList "member" <$> _dLoadBalancerNames)]++-- | /See:/ 'detachLoadBalancersResponse' smart constructor.+newtype DetachLoadBalancersResponse = DetachLoadBalancersResponse'+    { _dlbsrsStatus :: Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DetachLoadBalancersResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlbsrsStatus'+detachLoadBalancersResponse+    :: Int -- ^ 'dlbsrsStatus'+    -> DetachLoadBalancersResponse+detachLoadBalancersResponse pStatus_ =+    DetachLoadBalancersResponse'+    { _dlbsrsStatus = pStatus_+    }++-- | The response status code.+dlbsrsStatus :: Lens' DetachLoadBalancersResponse Int+dlbsrsStatus = lens _dlbsrsStatus (\ s a -> s{_dlbsrsStatus = a});
gen/Network/AWS/AutoScaling/DisableMetricsCollection.hs view
@@ -1,120 +1,126 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.DisableMetricsCollection--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Disables monitoring of the specified metrics for the specified Auto Scaling--- group.+-- Disables monitoring of the specified metrics for the specified Auto+-- Scaling group. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DisableMetricsCollection.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DisableMetricsCollection.html AWS API Reference> for DisableMetricsCollection. module Network.AWS.AutoScaling.DisableMetricsCollection     (-    -- * Request-      DisableMetricsCollection-    -- ** Request constructor-    , disableMetricsCollection-    -- ** Request lenses-    , dmcAutoScalingGroupName+    -- * Creating a Request+      disableMetricsCollection+    , DisableMetricsCollection+    -- * Request Lenses     , dmcMetrics+    , dmcAutoScalingGroupName -    -- * Response-    , DisableMetricsCollectionResponse-    -- ** Response constructor+    -- * Destructuring the Response     , disableMetricsCollectionResponse+    , DisableMetricsCollectionResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data DisableMetricsCollection = DisableMetricsCollection-    { _dmcAutoScalingGroupName :: Text-    , _dmcMetrics              :: List "member" Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'disableMetricsCollection' smart constructor.+data DisableMetricsCollection = DisableMetricsCollection'+    { _dmcMetrics              :: !(Maybe [Text])+    , _dmcAutoScalingGroupName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DisableMetricsCollection' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DisableMetricsCollection' with the minimum fields required to make a request. ----- * 'dmcAutoScalingGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dmcMetrics' @::@ ['Text']+-- * 'dmcMetrics' ---disableMetricsCollection :: Text -- ^ 'dmcAutoScalingGroupName'-                         -> DisableMetricsCollection-disableMetricsCollection p1 = DisableMetricsCollection-    { _dmcAutoScalingGroupName = p1-    , _dmcMetrics              = mempty+-- * 'dmcAutoScalingGroupName'+disableMetricsCollection+    :: Text -- ^ 'dmcAutoScalingGroupName'+    -> DisableMetricsCollection+disableMetricsCollection pAutoScalingGroupName_ =+    DisableMetricsCollection'+    { _dmcMetrics = Nothing+    , _dmcAutoScalingGroupName = pAutoScalingGroupName_     } --- | The name or Amazon Resource Name (ARN) of the group.-dmcAutoScalingGroupName :: Lens' DisableMetricsCollection Text-dmcAutoScalingGroupName =-    lens _dmcAutoScalingGroupName (\s a -> s { _dmcAutoScalingGroupName = a })---- | One or more of the following metrics:+-- | One or more metrics. If you omit this parameter, all metrics are+-- disabled. ----- GroupMinSize+-- -   'GroupMinSize' ----- GroupMaxSize+-- -   'GroupMaxSize' ----- GroupDesiredCapacity+-- -   'GroupDesiredCapacity' ----- GroupInServiceInstances+-- -   'GroupInServiceInstances' ----- GroupPendingInstances+-- -   'GroupPendingInstances' ----- GroupStandbyInstances+-- -   'GroupStandbyInstances' ----- GroupTerminatingInstances+-- -   'GroupTerminatingInstances' ----- GroupTotalInstances+-- -   'GroupTotalInstances' ----- If you omit this parameter, all metrics are disabled. dmcMetrics :: Lens' DisableMetricsCollection [Text]-dmcMetrics = lens _dmcMetrics (\s a -> s { _dmcMetrics = a }) . _List+dmcMetrics = lens _dmcMetrics (\ s a -> s{_dmcMetrics = a}) . _Default . _Coerce; -data DisableMetricsCollectionResponse = DisableMetricsCollectionResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | The name or Amazon Resource Name (ARN) of the group.+dmcAutoScalingGroupName :: Lens' DisableMetricsCollection Text+dmcAutoScalingGroupName = lens _dmcAutoScalingGroupName (\ s a -> s{_dmcAutoScalingGroupName = a}); --- | 'DisableMetricsCollectionResponse' constructor.-disableMetricsCollectionResponse :: DisableMetricsCollectionResponse-disableMetricsCollectionResponse = DisableMetricsCollectionResponse+instance AWSRequest DisableMetricsCollection where+        type Sv DisableMetricsCollection = AutoScaling+        type Rs DisableMetricsCollection =+             DisableMetricsCollectionResponse+        request = postQuery+        response+          = receiveNull DisableMetricsCollectionResponse' +instance ToHeaders DisableMetricsCollection where+        toHeaders = const mempty+ instance ToPath DisableMetricsCollection where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DisableMetricsCollection where-    toQuery DisableMetricsCollection{..} = mconcat-        [ "AutoScalingGroupName" =? _dmcAutoScalingGroupName-        , "Metrics"              =? _dmcMetrics-        ]--instance ToHeaders DisableMetricsCollection+        toQuery DisableMetricsCollection'{..}+          = mconcat+              ["Action" =:+                 ("DisableMetricsCollection" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "Metrics" =:+                 toQuery (toQueryList "member" <$> _dmcMetrics),+               "AutoScalingGroupName" =: _dmcAutoScalingGroupName] -instance AWSRequest DisableMetricsCollection where-    type Sv DisableMetricsCollection = AutoScaling-    type Rs DisableMetricsCollection = DisableMetricsCollectionResponse+-- | /See:/ 'disableMetricsCollectionResponse' smart constructor.+data DisableMetricsCollectionResponse =+    DisableMetricsCollectionResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DisableMetricsCollection"-    response = nullResponse DisableMetricsCollectionResponse+-- | Creates a value of 'DisableMetricsCollectionResponse' with the minimum fields required to make a request.+--+disableMetricsCollectionResponse+    :: DisableMetricsCollectionResponse+disableMetricsCollectionResponse = DisableMetricsCollectionResponse'
gen/Network/AWS/AutoScaling/EnableMetricsCollection.hs view
@@ -1,140 +1,143 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.EnableMetricsCollection--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Enables monitoring of the specified metrics for the specified Auto Scaling--- group.+-- Enables monitoring of the specified metrics for the specified Auto+-- Scaling group. ----- You can only enable metrics collection if 'InstanceMonitoring' in the launch--- configuration for the group is set to 'True'.+-- You can only enable metrics collection if 'InstanceMonitoring' in the+-- launch configuration for the group is set to 'True'. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_EnableMetricsCollection.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_EnableMetricsCollection.html AWS API Reference> for EnableMetricsCollection. module Network.AWS.AutoScaling.EnableMetricsCollection     (-    -- * Request-      EnableMetricsCollection-    -- ** Request constructor-    , enableMetricsCollection-    -- ** Request lenses+    -- * Creating a Request+      enableMetricsCollection+    , EnableMetricsCollection+    -- * Request Lenses+    , emcMetrics     , emcAutoScalingGroupName     , emcGranularity-    , emcMetrics -    -- * Response-    , EnableMetricsCollectionResponse-    -- ** Response constructor+    -- * Destructuring the Response     , enableMetricsCollectionResponse+    , EnableMetricsCollectionResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data EnableMetricsCollection = EnableMetricsCollection-    { _emcAutoScalingGroupName :: Text-    , _emcGranularity          :: Text-    , _emcMetrics              :: List "member" Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'enableMetricsCollection' smart constructor.+data EnableMetricsCollection = EnableMetricsCollection'+    { _emcMetrics              :: !(Maybe [Text])+    , _emcAutoScalingGroupName :: !Text+    , _emcGranularity          :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'EnableMetricsCollection' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'EnableMetricsCollection' with the minimum fields required to make a request. ----- * 'emcAutoScalingGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'emcGranularity' @::@ 'Text'+-- * 'emcMetrics' ----- * 'emcMetrics' @::@ ['Text']+-- * 'emcAutoScalingGroupName' ---enableMetricsCollection :: Text -- ^ 'emcAutoScalingGroupName'-                        -> Text -- ^ 'emcGranularity'-                        -> EnableMetricsCollection-enableMetricsCollection p1 p2 = EnableMetricsCollection-    { _emcAutoScalingGroupName = p1-    , _emcGranularity          = p2-    , _emcMetrics              = mempty+-- * 'emcGranularity'+enableMetricsCollection+    :: Text -- ^ 'emcAutoScalingGroupName'+    -> Text -- ^ 'emcGranularity'+    -> EnableMetricsCollection+enableMetricsCollection pAutoScalingGroupName_ pGranularity_ =+    EnableMetricsCollection'+    { _emcMetrics = Nothing+    , _emcAutoScalingGroupName = pAutoScalingGroupName_+    , _emcGranularity = pGranularity_     } --- | The name or ARN of the Auto Scaling group.-emcAutoScalingGroupName :: Lens' EnableMetricsCollection Text-emcAutoScalingGroupName =-    lens _emcAutoScalingGroupName (\s a -> s { _emcAutoScalingGroupName = a })---- | The granularity to associate with the metrics to collect. Currently, the only--- valid value is "1Minute".-emcGranularity :: Lens' EnableMetricsCollection Text-emcGranularity = lens _emcGranularity (\s a -> s { _emcGranularity = a })---- | One or more of the following metrics:------ GroupMinSize------ GroupMaxSize------ GroupDesiredCapacity+-- | One or more metrics. If you omit this parameter, all metrics are+-- enabled. ----- GroupInServiceInstances+-- -   'GroupMinSize' ----- GroupPendingInstances+-- -   'GroupMaxSize' ----- GroupStandbyInstances+-- -   'GroupDesiredCapacity' ----- GroupTerminatingInstances+-- -   'GroupInServiceInstances' ----- GroupTotalInstances+-- -   'GroupPendingInstances' ----- If you omit this parameter, all metrics are enabled.+-- -   'GroupStandbyInstances' ----- The 'GroupStandbyInstances' metric is not returned by default. You must--- explicitly request it when calling 'EnableMetricsCollection'.+-- -   'GroupTerminatingInstances' --+-- -   'GroupTotalInstances' --+-- Note that the 'GroupStandbyInstances' metric is not enabled by default.+-- You must explicitly request this metric. emcMetrics :: Lens' EnableMetricsCollection [Text]-emcMetrics = lens _emcMetrics (\s a -> s { _emcMetrics = a }) . _List+emcMetrics = lens _emcMetrics (\ s a -> s{_emcMetrics = a}) . _Default . _Coerce; -data EnableMetricsCollectionResponse = EnableMetricsCollectionResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | The name or ARN of the Auto Scaling group.+emcAutoScalingGroupName :: Lens' EnableMetricsCollection Text+emcAutoScalingGroupName = lens _emcAutoScalingGroupName (\ s a -> s{_emcAutoScalingGroupName = a}); --- | 'EnableMetricsCollectionResponse' constructor.-enableMetricsCollectionResponse :: EnableMetricsCollectionResponse-enableMetricsCollectionResponse = EnableMetricsCollectionResponse+-- | The granularity to associate with the metrics to collect. The only valid+-- value is '1Minute'.+emcGranularity :: Lens' EnableMetricsCollection Text+emcGranularity = lens _emcGranularity (\ s a -> s{_emcGranularity = a}); +instance AWSRequest EnableMetricsCollection where+        type Sv EnableMetricsCollection = AutoScaling+        type Rs EnableMetricsCollection =+             EnableMetricsCollectionResponse+        request = postQuery+        response+          = receiveNull EnableMetricsCollectionResponse'++instance ToHeaders EnableMetricsCollection where+        toHeaders = const mempty+ instance ToPath EnableMetricsCollection where-    toPath = const "/"+        toPath = const "/"  instance ToQuery EnableMetricsCollection where-    toQuery EnableMetricsCollection{..} = mconcat-        [ "AutoScalingGroupName" =? _emcAutoScalingGroupName-        , "Granularity"          =? _emcGranularity-        , "Metrics"              =? _emcMetrics-        ]--instance ToHeaders EnableMetricsCollection+        toQuery EnableMetricsCollection'{..}+          = mconcat+              ["Action" =:+                 ("EnableMetricsCollection" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "Metrics" =:+                 toQuery (toQueryList "member" <$> _emcMetrics),+               "AutoScalingGroupName" =: _emcAutoScalingGroupName,+               "Granularity" =: _emcGranularity] -instance AWSRequest EnableMetricsCollection where-    type Sv EnableMetricsCollection = AutoScaling-    type Rs EnableMetricsCollection = EnableMetricsCollectionResponse+-- | /See:/ 'enableMetricsCollectionResponse' smart constructor.+data EnableMetricsCollectionResponse =+    EnableMetricsCollectionResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "EnableMetricsCollection"-    response = nullResponse EnableMetricsCollectionResponse+-- | Creates a value of 'EnableMetricsCollectionResponse' with the minimum fields required to make a request.+--+enableMetricsCollectionResponse+    :: EnableMetricsCollectionResponse+enableMetricsCollectionResponse = EnableMetricsCollectionResponse'
gen/Network/AWS/AutoScaling/EnterStandby.hs view
@@ -1,144 +1,152 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.EnterStandby--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Moves the specified instances into 'Standby' mode.+-- Moves the specified instances into 'Standby' mode. ----- For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingInServiceState.html Auto Scaling InService State> in the /Auto ScalingDeveloper Guide/.+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingInServiceState.html Auto Scaling InService State>+-- in the /Auto Scaling Developer Guide/. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_EnterStandby.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_EnterStandby.html AWS API Reference> for EnterStandby. module Network.AWS.AutoScaling.EnterStandby     (-    -- * Request-      EnterStandby-    -- ** Request constructor-    , enterStandby-    -- ** Request lenses-    , esAutoScalingGroupName+    -- * Creating a Request+      enterStandby+    , EnterStandby+    -- * Request Lenses     , esInstanceIds+    , esAutoScalingGroupName     , esShouldDecrementDesiredCapacity -    -- * Response-    , EnterStandbyResponse-    -- ** Response constructor+    -- * Destructuring the Response     , enterStandbyResponse-    -- ** Response lenses-    , esr1Activities+    , EnterStandbyResponse+    -- * Response Lenses+    , esrsActivities+    , esrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data EnterStandby = EnterStandby-    { _esAutoScalingGroupName           :: Text-    , _esInstanceIds                    :: List "member" Text-    , _esShouldDecrementDesiredCapacity :: Bool-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'enterStandby' smart constructor.+data EnterStandby = EnterStandby'+    { _esInstanceIds                    :: !(Maybe [Text])+    , _esAutoScalingGroupName           :: !Text+    , _esShouldDecrementDesiredCapacity :: !Bool+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'EnterStandby' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'EnterStandby' with the minimum fields required to make a request. ----- * 'esAutoScalingGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'esInstanceIds' @::@ ['Text']+-- * 'esInstanceIds' ----- * 'esShouldDecrementDesiredCapacity' @::@ 'Bool'+-- * 'esAutoScalingGroupName' ---enterStandby :: Text -- ^ 'esAutoScalingGroupName'-             -> Bool -- ^ 'esShouldDecrementDesiredCapacity'-             -> EnterStandby-enterStandby p1 p2 = EnterStandby-    { _esAutoScalingGroupName           = p1-    , _esShouldDecrementDesiredCapacity = p2-    , _esInstanceIds                    = mempty+-- * 'esShouldDecrementDesiredCapacity'+enterStandby+    :: Text -- ^ 'esAutoScalingGroupName'+    -> Bool -- ^ 'esShouldDecrementDesiredCapacity'+    -> EnterStandby+enterStandby pAutoScalingGroupName_ pShouldDecrementDesiredCapacity_ =+    EnterStandby'+    { _esInstanceIds = Nothing+    , _esAutoScalingGroupName = pAutoScalingGroupName_+    , _esShouldDecrementDesiredCapacity = pShouldDecrementDesiredCapacity_     } +-- | One or more instances to move into 'Standby' mode. You must specify at+-- least one instance ID.+esInstanceIds :: Lens' EnterStandby [Text]+esInstanceIds = lens _esInstanceIds (\ s a -> s{_esInstanceIds = a}) . _Default . _Coerce;+ -- | The name of the Auto Scaling group. esAutoScalingGroupName :: Lens' EnterStandby Text-esAutoScalingGroupName =-    lens _esAutoScalingGroupName (\s a -> s { _esAutoScalingGroupName = a })---- | One or more instances to move into 'Standby' mode. You must specify at least--- one instance ID.-esInstanceIds :: Lens' EnterStandby [Text]-esInstanceIds = lens _esInstanceIds (\s a -> s { _esInstanceIds = a }) . _List+esAutoScalingGroupName = lens _esAutoScalingGroupName (\ s a -> s{_esAutoScalingGroupName = a}); --- | Specifies whether the instances moved to 'Standby' mode count as part of the--- Auto Scaling group's desired capacity. If set, the desired capacity for the--- Auto Scaling group decrements by the number of instances moved to 'Standby'--- mode.+-- | Specifies whether the instances moved to 'Standby' mode count as part of+-- the Auto Scaling group\'s desired capacity. If set, the desired capacity+-- for the Auto Scaling group decrements by the number of instances moved+-- to 'Standby' mode. esShouldDecrementDesiredCapacity :: Lens' EnterStandby Bool-esShouldDecrementDesiredCapacity =-    lens _esShouldDecrementDesiredCapacity-        (\s a -> s { _esShouldDecrementDesiredCapacity = a })+esShouldDecrementDesiredCapacity = lens _esShouldDecrementDesiredCapacity (\ s a -> s{_esShouldDecrementDesiredCapacity = a}); -newtype EnterStandbyResponse = EnterStandbyResponse-    { _esr1Activities :: List "member" Activity-    } deriving (Eq, Read, Show, Monoid, Semigroup)+instance AWSRequest EnterStandby where+        type Sv EnterStandby = AutoScaling+        type Rs EnterStandby = EnterStandbyResponse+        request = postQuery+        response+          = receiveXMLWrapper "EnterStandbyResult"+              (\ s h x ->+                 EnterStandbyResponse' <$>+                   (x .@? "Activities" .!@ mempty >>=+                      may (parseXMLList "member"))+                     <*> (pure (fromEnum s))) -instance GHC.Exts.IsList EnterStandbyResponse where-    type Item EnterStandbyResponse = Activity+instance ToHeaders EnterStandby where+        toHeaders = const mempty -    fromList = EnterStandbyResponse . GHC.Exts.fromList-    toList   = GHC.Exts.toList . _esr1Activities+instance ToPath EnterStandby where+        toPath = const "/" --- | 'EnterStandbyResponse' constructor.+instance ToQuery EnterStandby where+        toQuery EnterStandby'{..}+          = mconcat+              ["Action" =: ("EnterStandby" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "InstanceIds" =:+                 toQuery (toQueryList "member" <$> _esInstanceIds),+               "AutoScalingGroupName" =: _esAutoScalingGroupName,+               "ShouldDecrementDesiredCapacity" =:+                 _esShouldDecrementDesiredCapacity]++-- | /See:/ 'enterStandbyResponse' smart constructor.+data EnterStandbyResponse = EnterStandbyResponse'+    { _esrsActivities :: !(Maybe [Activity])+    , _esrsStatus     :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnterStandbyResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'esr1Activities' @::@ ['Activity']+-- * 'esrsActivities' ---enterStandbyResponse :: EnterStandbyResponse-enterStandbyResponse = EnterStandbyResponse-    { _esr1Activities = mempty+-- * 'esrsStatus'+enterStandbyResponse+    :: Int -- ^ 'esrsStatus'+    -> EnterStandbyResponse+enterStandbyResponse pStatus_ =+    EnterStandbyResponse'+    { _esrsActivities = Nothing+    , _esrsStatus = pStatus_     }  -- | The activities related to moving instances into 'Standby' mode.-esr1Activities :: Lens' EnterStandbyResponse [Activity]-esr1Activities = lens _esr1Activities (\s a -> s { _esr1Activities = a }) . _List--instance ToPath EnterStandby where-    toPath = const "/"--instance ToQuery EnterStandby where-    toQuery EnterStandby{..} = mconcat-        [ "AutoScalingGroupName"           =? _esAutoScalingGroupName-        , "InstanceIds"                    =? _esInstanceIds-        , "ShouldDecrementDesiredCapacity" =? _esShouldDecrementDesiredCapacity-        ]--instance ToHeaders EnterStandby--instance AWSRequest EnterStandby where-    type Sv EnterStandby = AutoScaling-    type Rs EnterStandby = EnterStandbyResponse--    request  = post "EnterStandby"-    response = xmlResponse+esrsActivities :: Lens' EnterStandbyResponse [Activity]+esrsActivities = lens _esrsActivities (\ s a -> s{_esrsActivities = a}) . _Default . _Coerce; -instance FromXML EnterStandbyResponse where-    parseXML = withElement "EnterStandbyResult" $ \x -> EnterStandbyResponse-        <$> x .@? "Activities" .!@ mempty+-- | The response status code.+esrsStatus :: Lens' EnterStandbyResponse Int+esrsStatus = lens _esrsStatus (\ s a -> s{_esrsStatus = a});
gen/Network/AWS/AutoScaling/ExecutePolicy.hs view
@@ -1,119 +1,154 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ExecutePolicy--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Executes the specified policy.+-- Executes the specified policy. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_ExecutePolicy.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_ExecutePolicy.html AWS API Reference> for ExecutePolicy. module Network.AWS.AutoScaling.ExecutePolicy     (-    -- * Request-      ExecutePolicy-    -- ** Request constructor-    , executePolicy-    -- ** Request lenses-    , epAutoScalingGroupName+    -- * Creating a Request+      executePolicy+    , ExecutePolicy+    -- * Request Lenses     , epHonorCooldown+    , epMetricValue+    , epAutoScalingGroupName+    , epBreachThreshold     , epPolicyName -    -- * Response-    , ExecutePolicyResponse-    -- ** Response constructor+    -- * Destructuring the Response     , executePolicyResponse+    , ExecutePolicyResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ExecutePolicy = ExecutePolicy-    { _epAutoScalingGroupName :: Maybe Text-    , _epHonorCooldown        :: Maybe Bool-    , _epPolicyName           :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'executePolicy' smart constructor.+data ExecutePolicy = ExecutePolicy'+    { _epHonorCooldown        :: !(Maybe Bool)+    , _epMetricValue          :: !(Maybe Double)+    , _epAutoScalingGroupName :: !(Maybe Text)+    , _epBreachThreshold      :: !(Maybe Double)+    , _epPolicyName           :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ExecutePolicy' constructor.+-- | Creates a value of 'ExecutePolicy' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'epAutoScalingGroupName' @::@ 'Maybe' 'Text'+-- * 'epHonorCooldown' ----- * 'epHonorCooldown' @::@ 'Maybe' 'Bool'+-- * 'epMetricValue' ----- * 'epPolicyName' @::@ 'Text'+-- * 'epAutoScalingGroupName' ---executePolicy :: Text -- ^ 'epPolicyName'-              -> ExecutePolicy-executePolicy p1 = ExecutePolicy-    { _epPolicyName           = p1+-- * 'epBreachThreshold'+--+-- * 'epPolicyName'+executePolicy+    :: Text -- ^ 'epPolicyName'+    -> ExecutePolicy+executePolicy pPolicyName_ =+    ExecutePolicy'+    { _epHonorCooldown = Nothing+    , _epMetricValue = Nothing     , _epAutoScalingGroupName = Nothing-    , _epHonorCooldown        = Nothing+    , _epBreachThreshold = Nothing+    , _epPolicyName = pPolicyName_     } +-- | If this parameter is true, Auto Scaling waits for the cooldown period to+-- complete before executing the policy. Otherwise, Auto Scaling executes+-- the policy without waiting for the cooldown period to complete.+--+-- This parameter is not supported if the policy type is 'StepScaling'.+--+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/Cooldown.html Understanding Auto Scaling Cooldowns>+-- in the /Auto Scaling Developer Guide/.+epHonorCooldown :: Lens' ExecutePolicy (Maybe Bool)+epHonorCooldown = lens _epHonorCooldown (\ s a -> s{_epHonorCooldown = a});++-- | The metric value to compare to 'BreachThreshold'. This enables you to+-- execute a policy of type 'StepScaling' and determine which step+-- adjustment to use. For example, if the breach threshold is 50 and you+-- want to use a step adjustment with a lower bound of 0 and an upper bound+-- of 10, you can set the metric value to 59.+--+-- If you specify a metric value that doesn\'t correspond to a step+-- adjustment for the policy, the call returns an error.+--+-- This parameter is required if the policy type is 'StepScaling' and not+-- supported otherwise.+epMetricValue :: Lens' ExecutePolicy (Maybe Double)+epMetricValue = lens _epMetricValue (\ s a -> s{_epMetricValue = a});+ -- | The name or Amazon Resource Name (ARN) of the Auto Scaling group. epAutoScalingGroupName :: Lens' ExecutePolicy (Maybe Text)-epAutoScalingGroupName =-    lens _epAutoScalingGroupName (\s a -> s { _epAutoScalingGroupName = a })+epAutoScalingGroupName = lens _epAutoScalingGroupName (\ s a -> s{_epAutoScalingGroupName = a}); --- | Set to 'True' if you want Auto Scaling to wait for the cooldown period--- associated with the Auto Scaling group to complete before executing the--- policy.------ Set to 'False' if you want Auto Scaling to circumvent the cooldown period--- associated with the Auto Scaling group and execute the policy before the--- cooldown period ends.+-- | The breach threshold for the alarm. ----- For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/Cooldown.html Understanding Auto Scaling Cooldowns> in the /AutoScaling Developer Guide/.-epHonorCooldown :: Lens' ExecutePolicy (Maybe Bool)-epHonorCooldown = lens _epHonorCooldown (\s a -> s { _epHonorCooldown = a })+-- This parameter is required if the policy type is 'StepScaling' and not+-- supported otherwise.+epBreachThreshold :: Lens' ExecutePolicy (Maybe Double)+epBreachThreshold = lens _epBreachThreshold (\ s a -> s{_epBreachThreshold = a});  -- | The name or ARN of the policy. epPolicyName :: Lens' ExecutePolicy Text-epPolicyName = lens _epPolicyName (\s a -> s { _epPolicyName = a })+epPolicyName = lens _epPolicyName (\ s a -> s{_epPolicyName = a}); -data ExecutePolicyResponse = ExecutePolicyResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest ExecutePolicy where+        type Sv ExecutePolicy = AutoScaling+        type Rs ExecutePolicy = ExecutePolicyResponse+        request = postQuery+        response = receiveNull ExecutePolicyResponse' --- | 'ExecutePolicyResponse' constructor.-executePolicyResponse :: ExecutePolicyResponse-executePolicyResponse = ExecutePolicyResponse+instance ToHeaders ExecutePolicy where+        toHeaders = const mempty  instance ToPath ExecutePolicy where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ExecutePolicy where-    toQuery ExecutePolicy{..} = mconcat-        [ "AutoScalingGroupName" =? _epAutoScalingGroupName-        , "HonorCooldown"        =? _epHonorCooldown-        , "PolicyName"           =? _epPolicyName-        ]--instance ToHeaders ExecutePolicy+        toQuery ExecutePolicy'{..}+          = mconcat+              ["Action" =: ("ExecutePolicy" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "HonorCooldown" =: _epHonorCooldown,+               "MetricValue" =: _epMetricValue,+               "AutoScalingGroupName" =: _epAutoScalingGroupName,+               "BreachThreshold" =: _epBreachThreshold,+               "PolicyName" =: _epPolicyName] -instance AWSRequest ExecutePolicy where-    type Sv ExecutePolicy = AutoScaling-    type Rs ExecutePolicy = ExecutePolicyResponse+-- | /See:/ 'executePolicyResponse' smart constructor.+data ExecutePolicyResponse =+    ExecutePolicyResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "ExecutePolicy"-    response = nullResponse ExecutePolicyResponse+-- | Creates a value of 'ExecutePolicyResponse' with the minimum fields required to make a request.+--+executePolicyResponse+    :: ExecutePolicyResponse+executePolicyResponse = ExecutePolicyResponse'
gen/Network/AWS/AutoScaling/ExitStandby.hs view
@@ -1,127 +1,136 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ExitStandby--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Moves the specified instances out of 'Standby' mode.+-- Moves the specified instances out of 'Standby' mode. ----- For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingInServiceState.html Auto Scaling InService State> in the /Auto ScalingDeveloper Guide/.+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingInServiceState.html Auto Scaling InService State>+-- in the /Auto Scaling Developer Guide/. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_ExitStandby.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_ExitStandby.html AWS API Reference> for ExitStandby. module Network.AWS.AutoScaling.ExitStandby     (-    -- * Request-      ExitStandby-    -- ** Request constructor-    , exitStandby-    -- ** Request lenses-    , es1AutoScalingGroupName-    , es1InstanceIds+    -- * Creating a Request+      exitStandby+    , ExitStandby+    -- * Request Lenses+    , eInstanceIds+    , eAutoScalingGroupName -    -- * Response-    , ExitStandbyResponse-    -- ** Response constructor+    -- * Destructuring the Response     , exitStandbyResponse-    -- ** Response lenses-    , esrActivities+    , ExitStandbyResponse+    -- * Response Lenses+    , ersActivities+    , ersStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ExitStandby = ExitStandby-    { _es1AutoScalingGroupName :: Text-    , _es1InstanceIds          :: List "member" Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'exitStandby' smart constructor.+data ExitStandby = ExitStandby'+    { _eInstanceIds          :: !(Maybe [Text])+    , _eAutoScalingGroupName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ExitStandby' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ExitStandby' with the minimum fields required to make a request. ----- * 'es1AutoScalingGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'es1InstanceIds' @::@ ['Text']+-- * 'eInstanceIds' ---exitStandby :: Text -- ^ 'es1AutoScalingGroupName'-            -> ExitStandby-exitStandby p1 = ExitStandby-    { _es1AutoScalingGroupName = p1-    , _es1InstanceIds          = mempty+-- * 'eAutoScalingGroupName'+exitStandby+    :: Text -- ^ 'eAutoScalingGroupName'+    -> ExitStandby+exitStandby pAutoScalingGroupName_ =+    ExitStandby'+    { _eInstanceIds = Nothing+    , _eAutoScalingGroupName = pAutoScalingGroupName_     } +-- | One or more instance IDs. You must specify at least one instance ID.+eInstanceIds :: Lens' ExitStandby [Text]+eInstanceIds = lens _eInstanceIds (\ s a -> s{_eInstanceIds = a}) . _Default . _Coerce;+ -- | The name of the Auto Scaling group.-es1AutoScalingGroupName :: Lens' ExitStandby Text-es1AutoScalingGroupName =-    lens _es1AutoScalingGroupName (\s a -> s { _es1AutoScalingGroupName = a })+eAutoScalingGroupName :: Lens' ExitStandby Text+eAutoScalingGroupName = lens _eAutoScalingGroupName (\ s a -> s{_eAutoScalingGroupName = a}); --- | One or more instance IDs. You must specify at least one instance ID.-es1InstanceIds :: Lens' ExitStandby [Text]-es1InstanceIds = lens _es1InstanceIds (\s a -> s { _es1InstanceIds = a }) . _List+instance AWSRequest ExitStandby where+        type Sv ExitStandby = AutoScaling+        type Rs ExitStandby = ExitStandbyResponse+        request = postQuery+        response+          = receiveXMLWrapper "ExitStandbyResult"+              (\ s h x ->+                 ExitStandbyResponse' <$>+                   (x .@? "Activities" .!@ mempty >>=+                      may (parseXMLList "member"))+                     <*> (pure (fromEnum s))) -newtype ExitStandbyResponse = ExitStandbyResponse-    { _esrActivities :: List "member" Activity-    } deriving (Eq, Read, Show, Monoid, Semigroup)+instance ToHeaders ExitStandby where+        toHeaders = const mempty -instance GHC.Exts.IsList ExitStandbyResponse where-    type Item ExitStandbyResponse = Activity+instance ToPath ExitStandby where+        toPath = const "/" -    fromList = ExitStandbyResponse . GHC.Exts.fromList-    toList   = GHC.Exts.toList . _esrActivities+instance ToQuery ExitStandby where+        toQuery ExitStandby'{..}+          = mconcat+              ["Action" =: ("ExitStandby" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "InstanceIds" =:+                 toQuery (toQueryList "member" <$> _eInstanceIds),+               "AutoScalingGroupName" =: _eAutoScalingGroupName] --- | 'ExitStandbyResponse' constructor.+-- | /See:/ 'exitStandbyResponse' smart constructor.+data ExitStandbyResponse = ExitStandbyResponse'+    { _ersActivities :: !(Maybe [Activity])+    , _ersStatus     :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ExitStandbyResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'esrActivities' @::@ ['Activity']+-- * 'ersActivities' ---exitStandbyResponse :: ExitStandbyResponse-exitStandbyResponse = ExitStandbyResponse-    { _esrActivities = mempty+-- * 'ersStatus'+exitStandbyResponse+    :: Int -- ^ 'ersStatus'+    -> ExitStandbyResponse+exitStandbyResponse pStatus_ =+    ExitStandbyResponse'+    { _ersActivities = Nothing+    , _ersStatus = pStatus_     }  -- | The activities related to moving instances out of 'Standby' mode.-esrActivities :: Lens' ExitStandbyResponse [Activity]-esrActivities = lens _esrActivities (\s a -> s { _esrActivities = a }) . _List--instance ToPath ExitStandby where-    toPath = const "/"--instance ToQuery ExitStandby where-    toQuery ExitStandby{..} = mconcat-        [ "AutoScalingGroupName" =? _es1AutoScalingGroupName-        , "InstanceIds"          =? _es1InstanceIds-        ]--instance ToHeaders ExitStandby--instance AWSRequest ExitStandby where-    type Sv ExitStandby = AutoScaling-    type Rs ExitStandby = ExitStandbyResponse--    request  = post "ExitStandby"-    response = xmlResponse+ersActivities :: Lens' ExitStandbyResponse [Activity]+ersActivities = lens _ersActivities (\ s a -> s{_ersActivities = a}) . _Default . _Coerce; -instance FromXML ExitStandbyResponse where-    parseXML = withElement "ExitStandbyResult" $ \x -> ExitStandbyResponse-        <$> x .@? "Activities" .!@ mempty+-- | The response status code.+ersStatus :: Lens' ExitStandbyResponse Int+ersStatus = lens _ersStatus (\ s a -> s{_ersStatus = a});
gen/Network/AWS/AutoScaling/PutLifecycleHook.hs view
@@ -1,220 +1,251 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.PutLifecycleHook--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates or updates a lifecycle hook for the specified Auto Scaling Group.+-- Creates or updates a lifecycle hook for the specified Auto Scaling+-- Group. ----- A lifecycle hook tells Auto Scaling that you want to perform an action on an--- instance that is not actively in service; for example, either when the--- instance launches or before the instance terminates.+-- A lifecycle hook tells Auto Scaling that you want to perform an action+-- on an instance that is not actively in service; for example, either when+-- the instance launches or before the instance terminates. ----- This operation is a part of the basic sequence for adding a lifecycle hook--- to an Auto Scaling group:+-- This operation is a part of the basic sequence for adding a lifecycle+-- hook to an Auto Scaling group: ----- Create a notification target. A target can be either an Amazon SQS queue or--- an Amazon SNS topic. Create an IAM role. This role allows Auto Scaling to--- publish lifecycle notifications to the designated SQS queue or SNS topic. Create the lifecycle hook. You can create a hook that acts when instances launch or when instances terminate.--- If necessary, record the lifecycle action heartbeat to keep the instance in--- a pending state. Complete the lifecycle action.  For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingPendingState.html Auto Scaling Pending State> and <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingTerminatingState.html Auto Scaling Terminating State> in the /Auto Scaling Developer Guide/.+-- 1.  Create a notification target. A target can be either an Amazon SQS+--     queue or an Amazon SNS topic.+-- 2.  Create an IAM role. This role allows Auto Scaling to publish+--     lifecycle notifications to the designated SQS queue or SNS topic.+-- 3.  __Create the lifecycle hook. You can create a hook that acts when+--     instances launch or when instances terminate.__+-- 4.  If necessary, record the lifecycle action heartbeat to keep the+--     instance in a pending state.+-- 5.  Complete the lifecycle action. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_PutLifecycleHook.html>+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingPendingState.html Auto Scaling Pending State>+-- and+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingTerminatingState.html Auto Scaling Terminating State>+-- in the /Auto Scaling Developer Guide/.+--+-- If you exceed your maximum limit of lifecycle hooks, which by default is+-- 50 per region, the call fails. For information about updating this+-- limit, see+-- <http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html AWS Service Limits>+-- in the /Amazon Web Services General Reference/.+--+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_PutLifecycleHook.html AWS API Reference> for PutLifecycleHook. module Network.AWS.AutoScaling.PutLifecycleHook     (-    -- * Request-      PutLifecycleHook-    -- ** Request constructor-    , putLifecycleHook-    -- ** Request lenses-    , plhAutoScalingGroupName+    -- * Creating a Request+      putLifecycleHook+    , PutLifecycleHook+    -- * Request Lenses     , plhDefaultResult     , plhHeartbeatTimeout-    , plhLifecycleHookName-    , plhLifecycleTransition     , plhNotificationMetadata-    , plhNotificationTargetARN     , plhRoleARN+    , plhLifecycleTransition+    , plhNotificationTargetARN+    , plhLifecycleHookName+    , plhAutoScalingGroupName -    -- * Response-    , PutLifecycleHookResponse-    -- ** Response constructor+    -- * Destructuring the Response     , putLifecycleHookResponse+    , PutLifecycleHookResponse+    -- * Response Lenses+    , plhrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data PutLifecycleHook = PutLifecycleHook-    { _plhAutoScalingGroupName  :: Text-    , _plhDefaultResult         :: Maybe Text-    , _plhHeartbeatTimeout      :: Maybe Int-    , _plhLifecycleHookName     :: Text-    , _plhLifecycleTransition   :: Maybe Text-    , _plhNotificationMetadata  :: Maybe Text-    , _plhNotificationTargetARN :: Maybe Text-    , _plhRoleARN               :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'putLifecycleHook' smart constructor.+data PutLifecycleHook = PutLifecycleHook'+    { _plhDefaultResult         :: !(Maybe Text)+    , _plhHeartbeatTimeout      :: !(Maybe Int)+    , _plhNotificationMetadata  :: !(Maybe Text)+    , _plhRoleARN               :: !(Maybe Text)+    , _plhLifecycleTransition   :: !(Maybe Text)+    , _plhNotificationTargetARN :: !(Maybe Text)+    , _plhLifecycleHookName     :: !Text+    , _plhAutoScalingGroupName  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'PutLifecycleHook' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'PutLifecycleHook' with the minimum fields required to make a request. ----- * 'plhAutoScalingGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'plhDefaultResult' @::@ 'Maybe' 'Text'+-- * 'plhDefaultResult' ----- * 'plhHeartbeatTimeout' @::@ 'Maybe' 'Int'+-- * 'plhHeartbeatTimeout' ----- * 'plhLifecycleHookName' @::@ 'Text'+-- * 'plhNotificationMetadata' ----- * 'plhLifecycleTransition' @::@ 'Maybe' 'Text'+-- * 'plhRoleARN' ----- * 'plhNotificationMetadata' @::@ 'Maybe' 'Text'+-- * 'plhLifecycleTransition' ----- * 'plhNotificationTargetARN' @::@ 'Maybe' 'Text'+-- * 'plhNotificationTargetARN' ----- * 'plhRoleARN' @::@ 'Maybe' 'Text'+-- * 'plhLifecycleHookName' ---putLifecycleHook :: Text -- ^ 'plhLifecycleHookName'-                 -> Text -- ^ 'plhAutoScalingGroupName'-                 -> PutLifecycleHook-putLifecycleHook p1 p2 = PutLifecycleHook-    { _plhLifecycleHookName     = p1-    , _plhAutoScalingGroupName  = p2-    , _plhLifecycleTransition   = Nothing-    , _plhRoleARN               = Nothing+-- * 'plhAutoScalingGroupName'+putLifecycleHook+    :: Text -- ^ 'plhLifecycleHookName'+    -> Text -- ^ 'plhAutoScalingGroupName'+    -> PutLifecycleHook+putLifecycleHook pLifecycleHookName_ pAutoScalingGroupName_ =+    PutLifecycleHook'+    { _plhDefaultResult = Nothing+    , _plhHeartbeatTimeout = Nothing+    , _plhNotificationMetadata = Nothing+    , _plhRoleARN = Nothing+    , _plhLifecycleTransition = Nothing     , _plhNotificationTargetARN = Nothing-    , _plhNotificationMetadata  = Nothing-    , _plhHeartbeatTimeout      = Nothing-    , _plhDefaultResult         = Nothing+    , _plhLifecycleHookName = pLifecycleHookName_+    , _plhAutoScalingGroupName = pAutoScalingGroupName_     } --- | The name of the Auto Scaling group to which you want to assign the lifecycle--- hook.-plhAutoScalingGroupName :: Lens' PutLifecycleHook Text-plhAutoScalingGroupName =-    lens _plhAutoScalingGroupName (\s a -> s { _plhAutoScalingGroupName = a })---- | Defines the action the Auto Scaling group should take when the lifecycle hook--- timeout elapses or if an unexpected failure occurs. The value for this--- parameter can be either 'CONTINUE' or 'ABANDON'. The default value for this--- parameter is 'ABANDON'.+-- | Defines the action the Auto Scaling group should take when the lifecycle+-- hook timeout elapses or if an unexpected failure occurs. The value for+-- this parameter can be either 'CONTINUE' or 'ABANDON'. The default value+-- for this parameter is 'ABANDON'. plhDefaultResult :: Lens' PutLifecycleHook (Maybe Text)-plhDefaultResult = lens _plhDefaultResult (\s a -> s { _plhDefaultResult = a })+plhDefaultResult = lens _plhDefaultResult (\ s a -> s{_plhDefaultResult = a}); --- | Defines the amount of time, in seconds, that can elapse before the lifecycle--- hook times out. When the lifecycle hook times out, Auto Scaling performs the--- action defined in the 'DefaultResult' parameter. You can prevent the lifecycle--- hook from timing out by calling 'RecordLifecycleActionHeartbeat'. The default--- value for this parameter is 3600 seconds (1 hour).+-- | Defines the amount of time, in seconds, that can elapse before the+-- lifecycle hook times out. When the lifecycle hook times out, Auto+-- Scaling performs the action defined in the 'DefaultResult' parameter.+-- You can prevent the lifecycle hook from timing out by calling+-- RecordLifecycleActionHeartbeat. The default value for this parameter is+-- 3600 seconds (1 hour). plhHeartbeatTimeout :: Lens' PutLifecycleHook (Maybe Int)-plhHeartbeatTimeout =-    lens _plhHeartbeatTimeout (\s a -> s { _plhHeartbeatTimeout = a })+plhHeartbeatTimeout = lens _plhHeartbeatTimeout (\ s a -> s{_plhHeartbeatTimeout = a}); --- | The name of the lifecycle hook.-plhLifecycleHookName :: Lens' PutLifecycleHook Text-plhLifecycleHookName =-    lens _plhLifecycleHookName (\s a -> s { _plhLifecycleHookName = a })+-- | Contains additional information that you want to include any time Auto+-- Scaling sends a message to the notification target.+plhNotificationMetadata :: Lens' PutLifecycleHook (Maybe Text)+plhNotificationMetadata = lens _plhNotificationMetadata (\ s a -> s{_plhNotificationMetadata = a}); --- | The Amazon EC2 instance state to which you want to attach the lifecycle hook.--- See 'DescribeLifecycleHookTypes' for a list of available lifecycle hook types.+-- | The ARN of the IAM role that allows the Auto Scaling group to publish to+-- the specified notification target. -- -- This parameter is required for new lifecycle hooks, but optional when -- updating existing hooks.---+plhRoleARN :: Lens' PutLifecycleHook (Maybe Text)+plhRoleARN = lens _plhRoleARN (\ s a -> s{_plhRoleARN = a});++-- | The instance state to which you want to attach the lifecycle hook. For a+-- list of lifecycle hook types, see DescribeLifecycleHookTypes. --+-- This parameter is required for new lifecycle hooks, but optional when+-- updating existing hooks. plhLifecycleTransition :: Lens' PutLifecycleHook (Maybe Text)-plhLifecycleTransition =-    lens _plhLifecycleTransition (\s a -> s { _plhLifecycleTransition = a })---- | Contains additional information that you want to include any time Auto--- Scaling sends a message to the notification target.-plhNotificationMetadata :: Lens' PutLifecycleHook (Maybe Text)-plhNotificationMetadata =-    lens _plhNotificationMetadata (\s a -> s { _plhNotificationMetadata = a })+plhLifecycleTransition = lens _plhLifecycleTransition (\ s a -> s{_plhLifecycleTransition = a}); --- | The ARN of the notification target that Auto Scaling will use to notify you--- when an instance is in the transition state for the lifecycle hook. This ARN--- target can be either an SQS queue or an SNS topic.+-- | The ARN of the notification target that Auto Scaling will use to notify+-- you when an instance is in the transition state for the lifecycle hook.+-- This ARN target can be either an SQS queue or an SNS topic. -- -- This parameter is required for new lifecycle hooks, but optional when -- updating existing hooks. -- -- The notification message sent to the target will include: ----- LifecycleActionToken. The Lifecycle action token.  AccountId. The user--- account ID.  AutoScalingGroupName. The name of the Auto Scaling group.  LifecycleHookName--- . The lifecycle hook name.  EC2InstanceId. The EC2 instance ID.  LifecycleTransition--- . The lifecycle transition.  NotificationMetadata. The notification metadata.--- This operation uses the JSON format when sending notifications to an Amazon--- SQS queue, and an email key/value pair format when sending notifications to--- an Amazon SNS topic.+-- -   __LifecycleActionToken__. The Lifecycle action token.+-- -   __AccountId__. The user account ID.+-- -   __AutoScalingGroupName__. The name of the Auto Scaling group.+-- -   __LifecycleHookName__. The lifecycle hook name.+-- -   __EC2InstanceId__. The EC2 instance ID.+-- -   __LifecycleTransition__. The lifecycle transition.+-- -   __NotificationMetadata__. The notification metadata. --+-- This operation uses the JSON format when sending notifications to an+-- Amazon SQS queue, and an email key\/value pair format when sending+-- notifications to an Amazon SNS topic.+-- -- When you call this operation, a test message is sent to the notification--- target. This test message contains an additional key/value pair: 'Event:autoscaling:TEST_NOTIFICATION'.+-- target. This test message contains an additional key\/value pair:+-- 'Event:autoscaling:TEST_NOTIFICATION'. plhNotificationTargetARN :: Lens' PutLifecycleHook (Maybe Text)-plhNotificationTargetARN =-    lens _plhNotificationTargetARN-        (\s a -> s { _plhNotificationTargetARN = a })+plhNotificationTargetARN = lens _plhNotificationTargetARN (\ s a -> s{_plhNotificationTargetARN = a}); --- | The ARN of the IAM role that allows the Auto Scaling group to publish to the--- specified notification target.------ This parameter is required for new lifecycle hooks, but optional when--- updating existing hooks.-------plhRoleARN :: Lens' PutLifecycleHook (Maybe Text)-plhRoleARN = lens _plhRoleARN (\s a -> s { _plhRoleARN = a })+-- | The name of the lifecycle hook.+plhLifecycleHookName :: Lens' PutLifecycleHook Text+plhLifecycleHookName = lens _plhLifecycleHookName (\ s a -> s{_plhLifecycleHookName = a}); -data PutLifecycleHookResponse = PutLifecycleHookResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | The name of the Auto Scaling group to which you want to assign the+-- lifecycle hook.+plhAutoScalingGroupName :: Lens' PutLifecycleHook Text+plhAutoScalingGroupName = lens _plhAutoScalingGroupName (\ s a -> s{_plhAutoScalingGroupName = a}); --- | 'PutLifecycleHookResponse' constructor.-putLifecycleHookResponse :: PutLifecycleHookResponse-putLifecycleHookResponse = PutLifecycleHookResponse+instance AWSRequest PutLifecycleHook where+        type Sv PutLifecycleHook = AutoScaling+        type Rs PutLifecycleHook = PutLifecycleHookResponse+        request = postQuery+        response+          = receiveXMLWrapper "PutLifecycleHookResult"+              (\ s h x ->+                 PutLifecycleHookResponse' <$> (pure (fromEnum s))) +instance ToHeaders PutLifecycleHook where+        toHeaders = const mempty+ instance ToPath PutLifecycleHook where-    toPath = const "/"+        toPath = const "/"  instance ToQuery PutLifecycleHook where-    toQuery PutLifecycleHook{..} = mconcat-        [ "AutoScalingGroupName"  =? _plhAutoScalingGroupName-        , "DefaultResult"         =? _plhDefaultResult-        , "HeartbeatTimeout"      =? _plhHeartbeatTimeout-        , "LifecycleHookName"     =? _plhLifecycleHookName-        , "LifecycleTransition"   =? _plhLifecycleTransition-        , "NotificationMetadata"  =? _plhNotificationMetadata-        , "NotificationTargetARN" =? _plhNotificationTargetARN-        , "RoleARN"               =? _plhRoleARN-        ]+        toQuery PutLifecycleHook'{..}+          = mconcat+              ["Action" =: ("PutLifecycleHook" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "DefaultResult" =: _plhDefaultResult,+               "HeartbeatTimeout" =: _plhHeartbeatTimeout,+               "NotificationMetadata" =: _plhNotificationMetadata,+               "RoleARN" =: _plhRoleARN,+               "LifecycleTransition" =: _plhLifecycleTransition,+               "NotificationTargetARN" =: _plhNotificationTargetARN,+               "LifecycleHookName" =: _plhLifecycleHookName,+               "AutoScalingGroupName" =: _plhAutoScalingGroupName] -instance ToHeaders PutLifecycleHook+-- | /See:/ 'putLifecycleHookResponse' smart constructor.+newtype PutLifecycleHookResponse = PutLifecycleHookResponse'+    { _plhrsStatus :: Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest PutLifecycleHook where-    type Sv PutLifecycleHook = AutoScaling-    type Rs PutLifecycleHook = PutLifecycleHookResponse+-- | Creates a value of 'PutLifecycleHookResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plhrsStatus'+putLifecycleHookResponse+    :: Int -- ^ 'plhrsStatus'+    -> PutLifecycleHookResponse+putLifecycleHookResponse pStatus_ =+    PutLifecycleHookResponse'+    { _plhrsStatus = pStatus_+    } -    request  = post "PutLifecycleHook"-    response = nullResponse PutLifecycleHookResponse+-- | The response status code.+plhrsStatus :: Lens' PutLifecycleHookResponse Int+plhrsStatus = lens _plhrsStatus (\ s a -> s{_plhrsStatus = a});
gen/Network/AWS/AutoScaling/PutNotificationConfiguration.hs view
@@ -1,122 +1,130 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.PutNotificationConfiguration--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Configures an Auto Scaling group to send notifications when specified events--- take place. Subscribers to this topic can have messages for events delivered--- to an endpoint such as a web server or email address.+-- Configures an Auto Scaling group to send notifications when specified+-- events take place. Subscribers to this topic can have messages for+-- events delivered to an endpoint such as a web server or email address. ----- For more information see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASGettingNotifications.html Getting Notifications When Your Auto Scaling GroupChanges> in the /Auto Scaling Developer Guide/.+-- For more information see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASGettingNotifications.html Getting Notifications When Your Auto Scaling Group Changes>+-- in the /Auto Scaling Developer Guide/. -- -- This configuration overwrites an existing configuration. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_PutNotificationConfiguration.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_PutNotificationConfiguration.html AWS API Reference> for PutNotificationConfiguration. module Network.AWS.AutoScaling.PutNotificationConfiguration     (-    -- * Request-      PutNotificationConfiguration-    -- ** Request constructor-    , putNotificationConfiguration-    -- ** Request lenses+    -- * Creating a Request+      putNotificationConfiguration+    , PutNotificationConfiguration+    -- * Request Lenses     , pncAutoScalingGroupName-    , pncNotificationTypes     , pncTopicARN+    , pncNotificationTypes -    -- * Response-    , PutNotificationConfigurationResponse-    -- ** Response constructor+    -- * Destructuring the Response     , putNotificationConfigurationResponse+    , PutNotificationConfigurationResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data PutNotificationConfiguration = PutNotificationConfiguration-    { _pncAutoScalingGroupName :: Text-    , _pncNotificationTypes    :: List "member" Text-    , _pncTopicARN             :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'putNotificationConfiguration' smart constructor.+data PutNotificationConfiguration = PutNotificationConfiguration'+    { _pncAutoScalingGroupName :: !Text+    , _pncTopicARN             :: !Text+    , _pncNotificationTypes    :: ![Text]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'PutNotificationConfiguration' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'PutNotificationConfiguration' with the minimum fields required to make a request. ----- * 'pncAutoScalingGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'pncNotificationTypes' @::@ ['Text']+-- * 'pncAutoScalingGroupName' ----- * 'pncTopicARN' @::@ 'Text'+-- * 'pncTopicARN' ---putNotificationConfiguration :: Text -- ^ 'pncAutoScalingGroupName'-                             -> Text -- ^ 'pncTopicARN'-                             -> PutNotificationConfiguration-putNotificationConfiguration p1 p2 = PutNotificationConfiguration-    { _pncAutoScalingGroupName = p1-    , _pncTopicARN             = p2-    , _pncNotificationTypes    = mempty+-- * 'pncNotificationTypes'+putNotificationConfiguration+    :: Text -- ^ 'pncAutoScalingGroupName'+    -> Text -- ^ 'pncTopicARN'+    -> PutNotificationConfiguration+putNotificationConfiguration pAutoScalingGroupName_ pTopicARN_ =+    PutNotificationConfiguration'+    { _pncAutoScalingGroupName = pAutoScalingGroupName_+    , _pncTopicARN = pTopicARN_+    , _pncNotificationTypes = mempty     }  -- | The name of the Auto Scaling group. pncAutoScalingGroupName :: Lens' PutNotificationConfiguration Text-pncAutoScalingGroupName =-    lens _pncAutoScalingGroupName (\s a -> s { _pncAutoScalingGroupName = a })---- | The type of event that will cause the notification to be sent. For details--- about notification types supported by Auto Scaling, see 'DescribeAutoScalingNotificationTypes'.-pncNotificationTypes :: Lens' PutNotificationConfiguration [Text]-pncNotificationTypes =-    lens _pncNotificationTypes (\s a -> s { _pncNotificationTypes = a })-        . _List+pncAutoScalingGroupName = lens _pncAutoScalingGroupName (\ s a -> s{_pncAutoScalingGroupName = a});  -- | The Amazon Resource Name (ARN) of the Amazon Simple Notification Service -- (SNS) topic. pncTopicARN :: Lens' PutNotificationConfiguration Text-pncTopicARN = lens _pncTopicARN (\s a -> s { _pncTopicARN = a })+pncTopicARN = lens _pncTopicARN (\ s a -> s{_pncTopicARN = a}); -data PutNotificationConfigurationResponse = PutNotificationConfigurationResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | The type of event that will cause the notification to be sent. For+-- details about notification types supported by Auto Scaling, see+-- DescribeAutoScalingNotificationTypes.+pncNotificationTypes :: Lens' PutNotificationConfiguration [Text]+pncNotificationTypes = lens _pncNotificationTypes (\ s a -> s{_pncNotificationTypes = a}) . _Coerce; --- | 'PutNotificationConfigurationResponse' constructor.-putNotificationConfigurationResponse :: PutNotificationConfigurationResponse-putNotificationConfigurationResponse = PutNotificationConfigurationResponse+instance AWSRequest PutNotificationConfiguration+         where+        type Sv PutNotificationConfiguration = AutoScaling+        type Rs PutNotificationConfiguration =+             PutNotificationConfigurationResponse+        request = postQuery+        response+          = receiveNull PutNotificationConfigurationResponse' +instance ToHeaders PutNotificationConfiguration where+        toHeaders = const mempty+ instance ToPath PutNotificationConfiguration where-    toPath = const "/"+        toPath = const "/"  instance ToQuery PutNotificationConfiguration where-    toQuery PutNotificationConfiguration{..} = mconcat-        [ "AutoScalingGroupName" =? _pncAutoScalingGroupName-        , "NotificationTypes"    =? _pncNotificationTypes-        , "TopicARN"             =? _pncTopicARN-        ]--instance ToHeaders PutNotificationConfiguration+        toQuery PutNotificationConfiguration'{..}+          = mconcat+              ["Action" =:+                 ("PutNotificationConfiguration" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "AutoScalingGroupName" =: _pncAutoScalingGroupName,+               "TopicARN" =: _pncTopicARN,+               "NotificationTypes" =:+                 toQueryList "member" _pncNotificationTypes] -instance AWSRequest PutNotificationConfiguration where-    type Sv PutNotificationConfiguration = AutoScaling-    type Rs PutNotificationConfiguration = PutNotificationConfigurationResponse+-- | /See:/ 'putNotificationConfigurationResponse' smart constructor.+data PutNotificationConfigurationResponse =+    PutNotificationConfigurationResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "PutNotificationConfiguration"-    response = nullResponse PutNotificationConfigurationResponse+-- | Creates a value of 'PutNotificationConfigurationResponse' with the minimum fields required to make a request.+--+putNotificationConfigurationResponse+    :: PutNotificationConfigurationResponse+putNotificationConfigurationResponse = PutNotificationConfigurationResponse'
gen/Network/AWS/AutoScaling/PutScalingPolicy.hs view
@@ -1,184 +1,270 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.PutScalingPolicy--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates or updates a policy for an Auto Scaling group. To update an existing--- policy, use the existing policy name and set the parameters you want to--- change. Any existing parameter not changed in an update to an existing policy--- is not changed in this update request.+-- Creates or updates a policy for an Auto Scaling group. To update an+-- existing policy, use the existing policy name and set the parameters you+-- want to change. Any existing parameter not changed in an update to an+-- existing policy is not changed in this update request. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_PutScalingPolicy.html>+-- If you exceed your maximum limit of step adjustments, which by default+-- is 20 per region, the call fails. For information about updating this+-- limit, see+-- <http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html AWS Service Limits>+-- in the /Amazon Web Services General Reference/.+--+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_PutScalingPolicy.html AWS API Reference> for PutScalingPolicy. module Network.AWS.AutoScaling.PutScalingPolicy     (-    -- * Request-      PutScalingPolicy-    -- ** Request constructor-    , putScalingPolicy-    -- ** Request lenses-    , pspAdjustmentType-    , pspAutoScalingGroupName-    , pspCooldown+    -- * Creating a Request+      putScalingPolicy+    , PutScalingPolicy+    -- * Request Lenses+    , pspEstimatedInstanceWarmup     , pspMinAdjustmentStep-    , pspPolicyName+    , pspPolicyType+    , pspStepAdjustments     , pspScalingAdjustment+    , pspCooldown+    , pspMetricAggregationType+    , pspMinAdjustmentMagnitude+    , pspAutoScalingGroupName+    , pspPolicyName+    , pspAdjustmentType -    -- * Response-    , PutScalingPolicyResponse-    -- ** Response constructor+    -- * Destructuring the Response     , putScalingPolicyResponse-    -- ** Response lenses-    , psprPolicyARN+    , PutScalingPolicyResponse+    -- * Response Lenses+    , psprsPolicyARN+    , psprsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data PutScalingPolicy = PutScalingPolicy-    { _pspAdjustmentType       :: Text-    , _pspAutoScalingGroupName :: Text-    , _pspCooldown             :: Maybe Int-    , _pspMinAdjustmentStep    :: Maybe Int-    , _pspPolicyName           :: Text-    , _pspScalingAdjustment    :: Int-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'putScalingPolicy' smart constructor.+data PutScalingPolicy = PutScalingPolicy'+    { _pspEstimatedInstanceWarmup :: !(Maybe Int)+    , _pspMinAdjustmentStep       :: !(Maybe Int)+    , _pspPolicyType              :: !(Maybe Text)+    , _pspStepAdjustments         :: !(Maybe [StepAdjustment])+    , _pspScalingAdjustment       :: !(Maybe Int)+    , _pspCooldown                :: !(Maybe Int)+    , _pspMetricAggregationType   :: !(Maybe Text)+    , _pspMinAdjustmentMagnitude  :: !(Maybe Int)+    , _pspAutoScalingGroupName    :: !Text+    , _pspPolicyName              :: !Text+    , _pspAdjustmentType          :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'PutScalingPolicy' constructor.+-- | Creates a value of 'PutScalingPolicy' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'pspAdjustmentType' @::@ 'Text'+-- * 'pspEstimatedInstanceWarmup' ----- * 'pspAutoScalingGroupName' @::@ 'Text'+-- * 'pspMinAdjustmentStep' ----- * 'pspCooldown' @::@ 'Maybe' 'Int'+-- * 'pspPolicyType' ----- * 'pspMinAdjustmentStep' @::@ 'Maybe' 'Int'+-- * 'pspStepAdjustments' ----- * 'pspPolicyName' @::@ 'Text'+-- * 'pspScalingAdjustment' ----- * 'pspScalingAdjustment' @::@ 'Int'+-- * 'pspCooldown' ---putScalingPolicy :: Text -- ^ 'pspAutoScalingGroupName'-                 -> Text -- ^ 'pspPolicyName'-                 -> Int -- ^ 'pspScalingAdjustment'-                 -> Text -- ^ 'pspAdjustmentType'-                 -> PutScalingPolicy-putScalingPolicy p1 p2 p3 p4 = PutScalingPolicy-    { _pspAutoScalingGroupName = p1-    , _pspPolicyName           = p2-    , _pspScalingAdjustment    = p3-    , _pspAdjustmentType       = p4-    , _pspCooldown             = Nothing-    , _pspMinAdjustmentStep    = Nothing+-- * 'pspMetricAggregationType'+--+-- * 'pspMinAdjustmentMagnitude'+--+-- * 'pspAutoScalingGroupName'+--+-- * 'pspPolicyName'+--+-- * 'pspAdjustmentType'+putScalingPolicy+    :: Text -- ^ 'pspAutoScalingGroupName'+    -> Text -- ^ 'pspPolicyName'+    -> Text -- ^ 'pspAdjustmentType'+    -> PutScalingPolicy+putScalingPolicy pAutoScalingGroupName_ pPolicyName_ pAdjustmentType_ =+    PutScalingPolicy'+    { _pspEstimatedInstanceWarmup = Nothing+    , _pspMinAdjustmentStep = Nothing+    , _pspPolicyType = Nothing+    , _pspStepAdjustments = Nothing+    , _pspScalingAdjustment = Nothing+    , _pspCooldown = Nothing+    , _pspMetricAggregationType = Nothing+    , _pspMinAdjustmentMagnitude = Nothing+    , _pspAutoScalingGroupName = pAutoScalingGroupName_+    , _pspPolicyName = pPolicyName_+    , _pspAdjustmentType = pAdjustmentType_     } --- | Specifies whether the 'ScalingAdjustment' is an absolute number or a percentage--- of the current capacity. Valid values are 'ChangeInCapacity', 'ExactCapacity',--- and 'PercentChangeInCapacity'.+-- | The estimated time, in seconds, until a newly launched instance can+-- contribute to the CloudWatch metrics. The default is to use the value+-- specified for the default cooldown period for the group. ----- For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-scale-based-on-demand.html Dynamic Scaling> in the /Auto Scaling Developer Guide/--- .-pspAdjustmentType :: Lens' PutScalingPolicy Text-pspAdjustmentType =-    lens _pspAdjustmentType (\s a -> s { _pspAdjustmentType = a })+-- This parameter is not supported if the policy type is 'SimpleScaling'.+pspEstimatedInstanceWarmup :: Lens' PutScalingPolicy (Maybe Int)+pspEstimatedInstanceWarmup = lens _pspEstimatedInstanceWarmup (\ s a -> s{_pspEstimatedInstanceWarmup = a}); --- | The name or ARN of the group.-pspAutoScalingGroupName :: Lens' PutScalingPolicy Text-pspAutoScalingGroupName =-    lens _pspAutoScalingGroupName (\s a -> s { _pspAutoScalingGroupName = a })+-- | Available for backward compatibility. Use 'MinAdjustmentMagnitude'+-- instead.+pspMinAdjustmentStep :: Lens' PutScalingPolicy (Maybe Int)+pspMinAdjustmentStep = lens _pspMinAdjustmentStep (\ s a -> s{_pspMinAdjustmentStep = a}); --- | The amount of time, in seconds, after a scaling activity completes and before--- the next scaling activity can start.+-- | The policy type. Valid values are 'SimpleScaling' and 'StepScaling'. If+-- the policy type is null, the value is treated as 'SimpleScaling'.+pspPolicyType :: Lens' PutScalingPolicy (Maybe Text)+pspPolicyType = lens _pspPolicyType (\ s a -> s{_pspPolicyType = a});++-- | A set of adjustments that enable you to scale based on the size of the+-- alarm breach. ----- For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/Cooldown.html Understanding Auto Scaling Cooldowns> in the /AutoScaling Developer Guide/.+-- This parameter is required if the policy type is 'StepScaling' and not+-- supported otherwise.+pspStepAdjustments :: Lens' PutScalingPolicy [StepAdjustment]+pspStepAdjustments = lens _pspStepAdjustments (\ s a -> s{_pspStepAdjustments = a}) . _Default . _Coerce;++-- | The amount by which to scale, based on the specified adjustment type. A+-- positive value adds to the current capacity while a negative number+-- removes from the current capacity.+--+-- This parameter is required if the policy type is 'SimpleScaling' and not+-- supported otherwise.+pspScalingAdjustment :: Lens' PutScalingPolicy (Maybe Int)+pspScalingAdjustment = lens _pspScalingAdjustment (\ s a -> s{_pspScalingAdjustment = a});++-- | The amount of time, in seconds, after a scaling activity completes and+-- before the next scaling activity can start. If this parameter is not+-- specified, the default cooldown period for the group applies.+--+-- This parameter is not supported unless the policy type is+-- 'SimpleScaling'.+--+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/Cooldown.html Understanding Auto Scaling Cooldowns>+-- in the /Auto Scaling Developer Guide/. pspCooldown :: Lens' PutScalingPolicy (Maybe Int)-pspCooldown = lens _pspCooldown (\s a -> s { _pspCooldown = a })+pspCooldown = lens _pspCooldown (\ s a -> s{_pspCooldown = a}); --- | Used with 'AdjustmentType' with the value 'PercentChangeInCapacity', the scaling--- policy changes the 'DesiredCapacity' of the Auto Scaling group by at least the--- number of instances specified in the value.+-- | The aggregation type for the CloudWatch metrics. Valid values are+-- 'Minimum', 'Maximum', and 'Average'. If the aggregation type is null,+-- the value is treated as 'Average'. ----- You will get a 'ValidationError' if you use 'MinAdjustmentStep' on a policy with--- an 'AdjustmentType' other than 'PercentChangeInCapacity'.-pspMinAdjustmentStep :: Lens' PutScalingPolicy (Maybe Int)-pspMinAdjustmentStep =-    lens _pspMinAdjustmentStep (\s a -> s { _pspMinAdjustmentStep = a })+-- This parameter is not supported if the policy type is 'SimpleScaling'.+pspMetricAggregationType :: Lens' PutScalingPolicy (Maybe Text)+pspMetricAggregationType = lens _pspMetricAggregationType (\ s a -> s{_pspMetricAggregationType = a}); --- | The name of the policy.-pspPolicyName :: Lens' PutScalingPolicy Text-pspPolicyName = lens _pspPolicyName (\s a -> s { _pspPolicyName = a })+-- | The minimum number of instances to scale. If the value of+-- 'AdjustmentType' is 'PercentChangeInCapacity', the scaling policy+-- changes the 'DesiredCapacity' of the Auto Scaling group by at least this+-- many instances. Otherwise, the error is 'ValidationError'.+pspMinAdjustmentMagnitude :: Lens' PutScalingPolicy (Maybe Int)+pspMinAdjustmentMagnitude = lens _pspMinAdjustmentMagnitude (\ s a -> s{_pspMinAdjustmentMagnitude = a}); --- | The number of instances by which to scale. 'AdjustmentType' determines the--- interpretation of this number (e.g., as an absolute number or as a percentage--- of the existing Auto Scaling group size). A positive increment adds to the--- current capacity and a negative value removes from the current capacity.-pspScalingAdjustment :: Lens' PutScalingPolicy Int-pspScalingAdjustment =-    lens _pspScalingAdjustment (\s a -> s { _pspScalingAdjustment = a })+-- | The name or ARN of the group.+pspAutoScalingGroupName :: Lens' PutScalingPolicy Text+pspAutoScalingGroupName = lens _pspAutoScalingGroupName (\ s a -> s{_pspAutoScalingGroupName = a}); -newtype PutScalingPolicyResponse = PutScalingPolicyResponse-    { _psprPolicyARN :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)+-- | The name of the policy.+pspPolicyName :: Lens' PutScalingPolicy Text+pspPolicyName = lens _pspPolicyName (\ s a -> s{_pspPolicyName = a}); --- | 'PutScalingPolicyResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'psprPolicyARN' @::@ 'Maybe' 'Text'+-- | The adjustment type. Valid values are 'ChangeInCapacity',+-- 'ExactCapacity', and 'PercentChangeInCapacity'. ---putScalingPolicyResponse :: PutScalingPolicyResponse-putScalingPolicyResponse = PutScalingPolicyResponse-    { _psprPolicyARN = Nothing-    }+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-scale-based-on-demand.html Dynamic Scaling>+-- in the /Auto Scaling Developer Guide/.+pspAdjustmentType :: Lens' PutScalingPolicy Text+pspAdjustmentType = lens _pspAdjustmentType (\ s a -> s{_pspAdjustmentType = a}); --- | The Amazon Resource Name (ARN) of the policy.-psprPolicyARN :: Lens' PutScalingPolicyResponse (Maybe Text)-psprPolicyARN = lens _psprPolicyARN (\s a -> s { _psprPolicyARN = a })+instance AWSRequest PutScalingPolicy where+        type Sv PutScalingPolicy = AutoScaling+        type Rs PutScalingPolicy = PutScalingPolicyResponse+        request = postQuery+        response+          = receiveXMLWrapper "PutScalingPolicyResult"+              (\ s h x ->+                 PutScalingPolicyResponse' <$>+                   (x .@? "PolicyARN") <*> (pure (fromEnum s))) +instance ToHeaders PutScalingPolicy where+        toHeaders = const mempty+ instance ToPath PutScalingPolicy where-    toPath = const "/"+        toPath = const "/"  instance ToQuery PutScalingPolicy where-    toQuery PutScalingPolicy{..} = mconcat-        [ "AdjustmentType"       =? _pspAdjustmentType-        , "AutoScalingGroupName" =? _pspAutoScalingGroupName-        , "Cooldown"             =? _pspCooldown-        , "MinAdjustmentStep"    =? _pspMinAdjustmentStep-        , "PolicyName"           =? _pspPolicyName-        , "ScalingAdjustment"    =? _pspScalingAdjustment-        ]+        toQuery PutScalingPolicy'{..}+          = mconcat+              ["Action" =: ("PutScalingPolicy" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "EstimatedInstanceWarmup" =:+                 _pspEstimatedInstanceWarmup,+               "MinAdjustmentStep" =: _pspMinAdjustmentStep,+               "PolicyType" =: _pspPolicyType,+               "StepAdjustments" =:+                 toQuery+                   (toQueryList "member" <$> _pspStepAdjustments),+               "ScalingAdjustment" =: _pspScalingAdjustment,+               "Cooldown" =: _pspCooldown,+               "MetricAggregationType" =: _pspMetricAggregationType,+               "MinAdjustmentMagnitude" =:+                 _pspMinAdjustmentMagnitude,+               "AutoScalingGroupName" =: _pspAutoScalingGroupName,+               "PolicyName" =: _pspPolicyName,+               "AdjustmentType" =: _pspAdjustmentType] -instance ToHeaders PutScalingPolicy+-- | /See:/ 'putScalingPolicyResponse' smart constructor.+data PutScalingPolicyResponse = PutScalingPolicyResponse'+    { _psprsPolicyARN :: !(Maybe Text)+    , _psprsStatus    :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest PutScalingPolicy where-    type Sv PutScalingPolicy = AutoScaling-    type Rs PutScalingPolicy = PutScalingPolicyResponse+-- | Creates a value of 'PutScalingPolicyResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psprsPolicyARN'+--+-- * 'psprsStatus'+putScalingPolicyResponse+    :: Int -- ^ 'psprsStatus'+    -> PutScalingPolicyResponse+putScalingPolicyResponse pStatus_ =+    PutScalingPolicyResponse'+    { _psprsPolicyARN = Nothing+    , _psprsStatus = pStatus_+    } -    request  = post "PutScalingPolicy"-    response = xmlResponse+-- | The Amazon Resource Name (ARN) of the policy.+psprsPolicyARN :: Lens' PutScalingPolicyResponse (Maybe Text)+psprsPolicyARN = lens _psprsPolicyARN (\ s a -> s{_psprsPolicyARN = a}); -instance FromXML PutScalingPolicyResponse where-    parseXML = withElement "PutScalingPolicyResult" $ \x -> PutScalingPolicyResponse-        <$> x .@? "PolicyARN"+-- | The response status code.+psprsStatus :: Lens' PutScalingPolicyResponse Int+psprsStatus = lens _psprsStatus (\ s a -> s{_psprsStatus = a});
gen/Network/AWS/AutoScaling/PutScheduledUpdateGroupAction.hs view
@@ -1,201 +1,200 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.PutScheduledUpdateGroupAction--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates or updates a scheduled scaling action for an Auto Scaling group.+-- Creates or updates a scheduled scaling action for an Auto Scaling group. -- When updating a scheduled scaling action, if you leave a parameter--- unspecified, the corresponding value remains unchanged in the affected Auto--- Scaling group.------ For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/schedule_time.html Scheduled Scaling> in the /Auto Scaling DeveloperGuide/.------ Auto Scaling supports the date and time expressed in "YYYY-MM-DDThh:mm:ssZ"--- format in UTC/GMT only.---+-- unspecified, the corresponding value remains unchanged in the affected+-- Auto Scaling group. --+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/schedule_time.html Scheduled Scaling>+-- in the /Auto Scaling Developer Guide/. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_PutScheduledUpdateGroupAction.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_PutScheduledUpdateGroupAction.html AWS API Reference> for PutScheduledUpdateGroupAction. module Network.AWS.AutoScaling.PutScheduledUpdateGroupAction     (-    -- * Request-      PutScheduledUpdateGroupAction-    -- ** Request constructor-    , putScheduledUpdateGroupAction-    -- ** Request lenses-    , psugaAutoScalingGroupName-    , psugaDesiredCapacity-    , psugaEndTime+    -- * Creating a Request+      putScheduledUpdateGroupAction+    , PutScheduledUpdateGroupAction+    -- * Request Lenses+    , psugaTime+    , psugaStartTime     , psugaMaxSize-    , psugaMinSize+    , psugaDesiredCapacity     , psugaRecurrence+    , psugaMinSize+    , psugaEndTime+    , psugaAutoScalingGroupName     , psugaScheduledActionName-    , psugaStartTime-    , psugaTime -    -- * Response-    , PutScheduledUpdateGroupActionResponse-    -- ** Response constructor+    -- * Destructuring the Response     , putScheduledUpdateGroupActionResponse+    , PutScheduledUpdateGroupActionResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data PutScheduledUpdateGroupAction = PutScheduledUpdateGroupAction-    { _psugaAutoScalingGroupName :: Text-    , _psugaDesiredCapacity      :: Maybe Int-    , _psugaEndTime              :: Maybe ISO8601-    , _psugaMaxSize              :: Maybe Int-    , _psugaMinSize              :: Maybe Int-    , _psugaRecurrence           :: Maybe Text-    , _psugaScheduledActionName  :: Text-    , _psugaStartTime            :: Maybe ISO8601-    , _psugaTime                 :: Maybe ISO8601-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'putScheduledUpdateGroupAction' smart constructor.+data PutScheduledUpdateGroupAction = PutScheduledUpdateGroupAction'+    { _psugaTime                 :: !(Maybe ISO8601)+    , _psugaStartTime            :: !(Maybe ISO8601)+    , _psugaMaxSize              :: !(Maybe Int)+    , _psugaDesiredCapacity      :: !(Maybe Int)+    , _psugaRecurrence           :: !(Maybe Text)+    , _psugaMinSize              :: !(Maybe Int)+    , _psugaEndTime              :: !(Maybe ISO8601)+    , _psugaAutoScalingGroupName :: !Text+    , _psugaScheduledActionName  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'PutScheduledUpdateGroupAction' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'PutScheduledUpdateGroupAction' with the minimum fields required to make a request. ----- * 'psugaAutoScalingGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'psugaDesiredCapacity' @::@ 'Maybe' 'Int'+-- * 'psugaTime' ----- * 'psugaEndTime' @::@ 'Maybe' 'UTCTime'+-- * 'psugaStartTime' ----- * 'psugaMaxSize' @::@ 'Maybe' 'Int'+-- * 'psugaMaxSize' ----- * 'psugaMinSize' @::@ 'Maybe' 'Int'+-- * 'psugaDesiredCapacity' ----- * 'psugaRecurrence' @::@ 'Maybe' 'Text'+-- * 'psugaRecurrence' ----- * 'psugaScheduledActionName' @::@ 'Text'+-- * 'psugaMinSize' ----- * 'psugaStartTime' @::@ 'Maybe' 'UTCTime'+-- * 'psugaEndTime' ----- * 'psugaTime' @::@ 'Maybe' 'UTCTime'+-- * 'psugaAutoScalingGroupName' ---putScheduledUpdateGroupAction :: Text -- ^ 'psugaAutoScalingGroupName'-                              -> Text -- ^ 'psugaScheduledActionName'-                              -> PutScheduledUpdateGroupAction-putScheduledUpdateGroupAction p1 p2 = PutScheduledUpdateGroupAction-    { _psugaAutoScalingGroupName = p1-    , _psugaScheduledActionName  = p2-    , _psugaTime                 = Nothing-    , _psugaStartTime            = Nothing-    , _psugaEndTime              = Nothing-    , _psugaRecurrence           = Nothing-    , _psugaMinSize              = Nothing-    , _psugaMaxSize              = Nothing-    , _psugaDesiredCapacity      = Nothing+-- * 'psugaScheduledActionName'+putScheduledUpdateGroupAction+    :: Text -- ^ 'psugaAutoScalingGroupName'+    -> Text -- ^ 'psugaScheduledActionName'+    -> PutScheduledUpdateGroupAction+putScheduledUpdateGroupAction pAutoScalingGroupName_ pScheduledActionName_ =+    PutScheduledUpdateGroupAction'+    { _psugaTime = Nothing+    , _psugaStartTime = Nothing+    , _psugaMaxSize = Nothing+    , _psugaDesiredCapacity = Nothing+    , _psugaRecurrence = Nothing+    , _psugaMinSize = Nothing+    , _psugaEndTime = Nothing+    , _psugaAutoScalingGroupName = pAutoScalingGroupName_+    , _psugaScheduledActionName = pScheduledActionName_     } --- | The name or Amazon Resource Name (ARN) of the Auto Scaling group.-psugaAutoScalingGroupName :: Lens' PutScheduledUpdateGroupAction Text-psugaAutoScalingGroupName =-    lens _psugaAutoScalingGroupName-        (\s a -> s { _psugaAutoScalingGroupName = a })---- | The number of Amazon EC2 instances that should be running in the group.-psugaDesiredCapacity :: Lens' PutScheduledUpdateGroupAction (Maybe Int)-psugaDesiredCapacity =-    lens _psugaDesiredCapacity (\s a -> s { _psugaDesiredCapacity = a })+-- | This parameter is deprecated; use 'StartTime' instead.+--+-- The time for this action to start. If both 'Time' and 'StartTime' are+-- specified, their values must be identical.+psugaTime :: Lens' PutScheduledUpdateGroupAction (Maybe UTCTime)+psugaTime = lens _psugaTime (\ s a -> s{_psugaTime = a}) . mapping _Time; --- | The time for this action to end.-psugaEndTime :: Lens' PutScheduledUpdateGroupAction (Maybe UTCTime)-psugaEndTime = lens _psugaEndTime (\s a -> s { _psugaEndTime = a }) . mapping _Time+-- | The time for this action to start, in \"YYYY-MM-DDThh:mm:ssZ\" format in+-- UTC\/GMT only (for example, '2014-06-01T00:00:00Z').+--+-- If you try to schedule your action in the past, Auto Scaling returns an+-- error message.+--+-- When 'StartTime' and 'EndTime' are specified with 'Recurrence', they+-- form the boundaries of when the recurring action starts and stops.+psugaStartTime :: Lens' PutScheduledUpdateGroupAction (Maybe UTCTime)+psugaStartTime = lens _psugaStartTime (\ s a -> s{_psugaStartTime = a}) . mapping _Time;  -- | The maximum size for the Auto Scaling group. psugaMaxSize :: Lens' PutScheduledUpdateGroupAction (Maybe Int)-psugaMaxSize = lens _psugaMaxSize (\s a -> s { _psugaMaxSize = a })+psugaMaxSize = lens _psugaMaxSize (\ s a -> s{_psugaMaxSize = a}); --- | The minimum size for the new Auto Scaling group.-psugaMinSize :: Lens' PutScheduledUpdateGroupAction (Maybe Int)-psugaMinSize = lens _psugaMinSize (\s a -> s { _psugaMinSize = a })+-- | The number of EC2 instances that should be running in the group.+psugaDesiredCapacity :: Lens' PutScheduledUpdateGroupAction (Maybe Int)+psugaDesiredCapacity = lens _psugaDesiredCapacity (\ s a -> s{_psugaDesiredCapacity = a}); --- | The time when recurring future actions will start. Start time is specified--- by the user following the Unix cron syntax format. For information about cron--- syntax, go to <http://en.wikipedia.org/wiki/Cron Wikipedia, The Free Encyclopedia>.+-- | The time when recurring future actions will start. Start time is+-- specified by the user following the Unix cron syntax format. For more+-- information, see <http://en.wikipedia.org/wiki/Cron Cron> in Wikipedia. ----- When 'StartTime' and 'EndTime' are specified with 'Recurrence', they form the--- boundaries of when the recurring action will start and stop.+-- When 'StartTime' and 'EndTime' are specified with 'Recurrence', they+-- form the boundaries of when the recurring action will start and stop. psugaRecurrence :: Lens' PutScheduledUpdateGroupAction (Maybe Text)-psugaRecurrence = lens _psugaRecurrence (\s a -> s { _psugaRecurrence = a })+psugaRecurrence = lens _psugaRecurrence (\ s a -> s{_psugaRecurrence = a}); --- | The name of this scaling action.-psugaScheduledActionName :: Lens' PutScheduledUpdateGroupAction Text-psugaScheduledActionName =-    lens _psugaScheduledActionName-        (\s a -> s { _psugaScheduledActionName = a })+-- | The minimum size for the Auto Scaling group.+psugaMinSize :: Lens' PutScheduledUpdateGroupAction (Maybe Int)+psugaMinSize = lens _psugaMinSize (\ s a -> s{_psugaMinSize = a}); --- | The time for this action to start, as in '--start-time 2010-06-01T00:00:00Z'.------ If you try to schedule your action in the past, Auto Scaling returns an--- error message.------ When 'StartTime' and 'EndTime' are specified with 'Recurrence', they form the--- boundaries of when the recurring action will start and stop.-psugaStartTime :: Lens' PutScheduledUpdateGroupAction (Maybe UTCTime)-psugaStartTime = lens _psugaStartTime (\s a -> s { _psugaStartTime = a }) . mapping _Time+-- | The time for this action to end.+psugaEndTime :: Lens' PutScheduledUpdateGroupAction (Maybe UTCTime)+psugaEndTime = lens _psugaEndTime (\ s a -> s{_psugaEndTime = a}) . mapping _Time; --- | 'Time' is deprecated.------ The time for this action to start. 'Time' is an alias for 'StartTime' and can be--- specified instead of 'StartTime', or vice versa. If both 'Time' and 'StartTime' are--- specified, their values should be identical. Otherwise, 'PutScheduledUpdateGroupAction' will return an error.-psugaTime :: Lens' PutScheduledUpdateGroupAction (Maybe UTCTime)-psugaTime = lens _psugaTime (\s a -> s { _psugaTime = a }) . mapping _Time+-- | The name or Amazon Resource Name (ARN) of the Auto Scaling group.+psugaAutoScalingGroupName :: Lens' PutScheduledUpdateGroupAction Text+psugaAutoScalingGroupName = lens _psugaAutoScalingGroupName (\ s a -> s{_psugaAutoScalingGroupName = a}); -data PutScheduledUpdateGroupActionResponse = PutScheduledUpdateGroupActionResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | The name of this scaling action.+psugaScheduledActionName :: Lens' PutScheduledUpdateGroupAction Text+psugaScheduledActionName = lens _psugaScheduledActionName (\ s a -> s{_psugaScheduledActionName = a}); --- | 'PutScheduledUpdateGroupActionResponse' constructor.-putScheduledUpdateGroupActionResponse :: PutScheduledUpdateGroupActionResponse-putScheduledUpdateGroupActionResponse = PutScheduledUpdateGroupActionResponse+instance AWSRequest PutScheduledUpdateGroupAction+         where+        type Sv PutScheduledUpdateGroupAction = AutoScaling+        type Rs PutScheduledUpdateGroupAction =+             PutScheduledUpdateGroupActionResponse+        request = postQuery+        response+          = receiveNull PutScheduledUpdateGroupActionResponse' +instance ToHeaders PutScheduledUpdateGroupAction+         where+        toHeaders = const mempty+ instance ToPath PutScheduledUpdateGroupAction where-    toPath = const "/"+        toPath = const "/"  instance ToQuery PutScheduledUpdateGroupAction where-    toQuery PutScheduledUpdateGroupAction{..} = mconcat-        [ "AutoScalingGroupName" =? _psugaAutoScalingGroupName-        , "DesiredCapacity"      =? _psugaDesiredCapacity-        , "EndTime"              =? _psugaEndTime-        , "MaxSize"              =? _psugaMaxSize-        , "MinSize"              =? _psugaMinSize-        , "Recurrence"           =? _psugaRecurrence-        , "ScheduledActionName"  =? _psugaScheduledActionName-        , "StartTime"            =? _psugaStartTime-        , "Time"                 =? _psugaTime-        ]--instance ToHeaders PutScheduledUpdateGroupAction+        toQuery PutScheduledUpdateGroupAction'{..}+          = mconcat+              ["Action" =:+                 ("PutScheduledUpdateGroupAction" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "Time" =: _psugaTime, "StartTime" =: _psugaStartTime,+               "MaxSize" =: _psugaMaxSize,+               "DesiredCapacity" =: _psugaDesiredCapacity,+               "Recurrence" =: _psugaRecurrence,+               "MinSize" =: _psugaMinSize,+               "EndTime" =: _psugaEndTime,+               "AutoScalingGroupName" =: _psugaAutoScalingGroupName,+               "ScheduledActionName" =: _psugaScheduledActionName] -instance AWSRequest PutScheduledUpdateGroupAction where-    type Sv PutScheduledUpdateGroupAction = AutoScaling-    type Rs PutScheduledUpdateGroupAction = PutScheduledUpdateGroupActionResponse+-- | /See:/ 'putScheduledUpdateGroupActionResponse' smart constructor.+data PutScheduledUpdateGroupActionResponse =+    PutScheduledUpdateGroupActionResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "PutScheduledUpdateGroupAction"-    response = nullResponse PutScheduledUpdateGroupActionResponse+-- | Creates a value of 'PutScheduledUpdateGroupActionResponse' with the minimum fields required to make a request.+--+putScheduledUpdateGroupActionResponse+    :: PutScheduledUpdateGroupActionResponse+putScheduledUpdateGroupActionResponse = PutScheduledUpdateGroupActionResponse'
gen/Network/AWS/AutoScaling/RecordLifecycleActionHeartbeat.hs view
@@ -1,129 +1,160 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.RecordLifecycleActionHeartbeat--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Records a heartbeat for the lifecycle action associated with a specific--- token. This extends the timeout by the length of time defined by the 'HeartbeatTimeout' parameter of 'PutLifecycleHook'.+-- Records a heartbeat for the lifecycle action associated with a specific+-- token. This extends the timeout by the length of time defined by the+-- 'HeartbeatTimeout' parameter of PutLifecycleHook. ----- This operation is a part of the basic sequence for adding a lifecycle hook--- to an Auto Scaling group:+-- This operation is a part of the basic sequence for adding a lifecycle+-- hook to an Auto Scaling group: ----- Create a notification target. A target can be either an Amazon SQS queue or--- an Amazon SNS topic. Create an IAM role. This role allows Auto Scaling to--- publish lifecycle notifications to the designated SQS queue or SNS topic. Create the lifecycle hook. You can create a hook that acts when instances launch or when instances terminate.--- If necessary, record the lifecycle action heartbeat to keep the instance in--- a pending state. Complete the lifecycle action.  For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingPendingState.html Auto Scaling Pending State> and <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingTerminatingState.html Auto Scaling Terminating State> in the /Auto Scaling Developer Guide/.+-- 1.  Create a notification target. A target can be either an Amazon SQS+--     queue or an Amazon SNS topic.+-- 2.  Create an IAM role. This role allows Auto Scaling to publish+--     lifecycle notifications to the designated SQS queue or SNS topic.+-- 3.  Create the lifecycle hook. You can create a hook that acts when+--     instances launch or when instances terminate.+-- 4.  __If necessary, record the lifecycle action heartbeat to keep the+--     instance in a pending state.__+-- 5.  Complete the lifecycle action. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_RecordLifecycleActionHeartbeat.html>+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingPendingState.html Auto Scaling Pending State>+-- and+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingTerminatingState.html Auto Scaling Terminating State>+-- in the /Auto Scaling Developer Guide/.+--+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_RecordLifecycleActionHeartbeat.html AWS API Reference> for RecordLifecycleActionHeartbeat. module Network.AWS.AutoScaling.RecordLifecycleActionHeartbeat     (-    -- * Request-      RecordLifecycleActionHeartbeat-    -- ** Request constructor-    , recordLifecycleActionHeartbeat-    -- ** Request lenses+    -- * Creating a Request+      recordLifecycleActionHeartbeat+    , RecordLifecycleActionHeartbeat+    -- * Request Lenses+    , rlahLifecycleHookName     , rlahAutoScalingGroupName     , rlahLifecycleActionToken-    , rlahLifecycleHookName -    -- * Response-    , RecordLifecycleActionHeartbeatResponse-    -- ** Response constructor+    -- * Destructuring the Response     , recordLifecycleActionHeartbeatResponse+    , RecordLifecycleActionHeartbeatResponse+    -- * Response Lenses+    , rlahrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data RecordLifecycleActionHeartbeat = RecordLifecycleActionHeartbeat-    { _rlahAutoScalingGroupName :: Text-    , _rlahLifecycleActionToken :: Text-    , _rlahLifecycleHookName    :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'recordLifecycleActionHeartbeat' smart constructor.+data RecordLifecycleActionHeartbeat = RecordLifecycleActionHeartbeat'+    { _rlahLifecycleHookName    :: !Text+    , _rlahAutoScalingGroupName :: !Text+    , _rlahLifecycleActionToken :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'RecordLifecycleActionHeartbeat' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'RecordLifecycleActionHeartbeat' with the minimum fields required to make a request. ----- * 'rlahAutoScalingGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'rlahLifecycleActionToken' @::@ 'Text'+-- * 'rlahLifecycleHookName' ----- * 'rlahLifecycleHookName' @::@ 'Text'+-- * 'rlahAutoScalingGroupName' ---recordLifecycleActionHeartbeat :: Text -- ^ 'rlahLifecycleHookName'-                               -> Text -- ^ 'rlahAutoScalingGroupName'-                               -> Text -- ^ 'rlahLifecycleActionToken'-                               -> RecordLifecycleActionHeartbeat-recordLifecycleActionHeartbeat p1 p2 p3 = RecordLifecycleActionHeartbeat-    { _rlahLifecycleHookName    = p1-    , _rlahAutoScalingGroupName = p2-    , _rlahLifecycleActionToken = p3+-- * 'rlahLifecycleActionToken'+recordLifecycleActionHeartbeat+    :: Text -- ^ 'rlahLifecycleHookName'+    -> Text -- ^ 'rlahAutoScalingGroupName'+    -> Text -- ^ 'rlahLifecycleActionToken'+    -> RecordLifecycleActionHeartbeat+recordLifecycleActionHeartbeat pLifecycleHookName_ pAutoScalingGroupName_ pLifecycleActionToken_ =+    RecordLifecycleActionHeartbeat'+    { _rlahLifecycleHookName = pLifecycleHookName_+    , _rlahAutoScalingGroupName = pAutoScalingGroupName_+    , _rlahLifecycleActionToken = pLifecycleActionToken_     } +-- | The name of the lifecycle hook.+rlahLifecycleHookName :: Lens' RecordLifecycleActionHeartbeat Text+rlahLifecycleHookName = lens _rlahLifecycleHookName (\ s a -> s{_rlahLifecycleHookName = a});+ -- | The name of the Auto Scaling group for the hook. rlahAutoScalingGroupName :: Lens' RecordLifecycleActionHeartbeat Text-rlahAutoScalingGroupName =-    lens _rlahAutoScalingGroupName-        (\s a -> s { _rlahAutoScalingGroupName = a })+rlahAutoScalingGroupName = lens _rlahAutoScalingGroupName (\ s a -> s{_rlahAutoScalingGroupName = a}); --- | A token that uniquely identifies a specific lifecycle action associated with--- an instance. Auto Scaling sends this token to the notification target you--- specified when you created the lifecycle hook.+-- | A token that uniquely identifies a specific lifecycle action associated+-- with an instance. Auto Scaling sends this token to the notification+-- target you specified when you created the lifecycle hook. rlahLifecycleActionToken :: Lens' RecordLifecycleActionHeartbeat Text-rlahLifecycleActionToken =-    lens _rlahLifecycleActionToken-        (\s a -> s { _rlahLifecycleActionToken = a })---- | The name of the lifecycle hook.-rlahLifecycleHookName :: Lens' RecordLifecycleActionHeartbeat Text-rlahLifecycleHookName =-    lens _rlahLifecycleHookName (\s a -> s { _rlahLifecycleHookName = a })+rlahLifecycleActionToken = lens _rlahLifecycleActionToken (\ s a -> s{_rlahLifecycleActionToken = a}); -data RecordLifecycleActionHeartbeatResponse = RecordLifecycleActionHeartbeatResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest RecordLifecycleActionHeartbeat+         where+        type Sv RecordLifecycleActionHeartbeat = AutoScaling+        type Rs RecordLifecycleActionHeartbeat =+             RecordLifecycleActionHeartbeatResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "RecordLifecycleActionHeartbeatResult"+              (\ s h x ->+                 RecordLifecycleActionHeartbeatResponse' <$>+                   (pure (fromEnum s))) --- | 'RecordLifecycleActionHeartbeatResponse' constructor.-recordLifecycleActionHeartbeatResponse :: RecordLifecycleActionHeartbeatResponse-recordLifecycleActionHeartbeatResponse = RecordLifecycleActionHeartbeatResponse+instance ToHeaders RecordLifecycleActionHeartbeat+         where+        toHeaders = const mempty  instance ToPath RecordLifecycleActionHeartbeat where-    toPath = const "/"+        toPath = const "/"  instance ToQuery RecordLifecycleActionHeartbeat where-    toQuery RecordLifecycleActionHeartbeat{..} = mconcat-        [ "AutoScalingGroupName" =? _rlahAutoScalingGroupName-        , "LifecycleActionToken" =? _rlahLifecycleActionToken-        , "LifecycleHookName"    =? _rlahLifecycleHookName-        ]+        toQuery RecordLifecycleActionHeartbeat'{..}+          = mconcat+              ["Action" =:+                 ("RecordLifecycleActionHeartbeat" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "LifecycleHookName" =: _rlahLifecycleHookName,+               "AutoScalingGroupName" =: _rlahAutoScalingGroupName,+               "LifecycleActionToken" =: _rlahLifecycleActionToken] -instance ToHeaders RecordLifecycleActionHeartbeat+-- | /See:/ 'recordLifecycleActionHeartbeatResponse' smart constructor.+newtype RecordLifecycleActionHeartbeatResponse = RecordLifecycleActionHeartbeatResponse'+    { _rlahrsStatus :: Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest RecordLifecycleActionHeartbeat where-    type Sv RecordLifecycleActionHeartbeat = AutoScaling-    type Rs RecordLifecycleActionHeartbeat = RecordLifecycleActionHeartbeatResponse+-- | Creates a value of 'RecordLifecycleActionHeartbeatResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlahrsStatus'+recordLifecycleActionHeartbeatResponse+    :: Int -- ^ 'rlahrsStatus'+    -> RecordLifecycleActionHeartbeatResponse+recordLifecycleActionHeartbeatResponse pStatus_ =+    RecordLifecycleActionHeartbeatResponse'+    { _rlahrsStatus = pStatus_+    } -    request  = post "RecordLifecycleActionHeartbeat"-    response = nullResponse RecordLifecycleActionHeartbeatResponse+-- | The response status code.+rlahrsStatus :: Lens' RecordLifecycleActionHeartbeatResponse Int+rlahrsStatus = lens _rlahrsStatus (\ s a -> s{_rlahrsStatus = a});
gen/Network/AWS/AutoScaling/ResumeProcesses.hs view
@@ -1,109 +1,127 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.ResumeProcesses--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Resumes the specified suspended Auto Scaling processes for the specified Auto--- Scaling group. To resume specific processes, use the 'ScalingProcesses'--- parameter. To resume all processes, omit the 'ScalingProcesses' parameter. For--- more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US_SuspendResume.html Suspend and Resume Auto Scaling Processes> in the /AutoScaling Developer Guide/.+-- Resumes the specified suspended Auto Scaling processes for the specified+-- Auto Scaling group. To resume specific processes, use the+-- 'ScalingProcesses' parameter. To resume all processes, omit the+-- 'ScalingProcesses' parameter. For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US_SuspendResume.html Suspend and Resume Auto Scaling Processes>+-- in the /Auto Scaling Developer Guide/. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_ResumeProcesses.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_ResumeProcesses.html AWS API Reference> for ResumeProcesses. module Network.AWS.AutoScaling.ResumeProcesses     (-    -- * Request-      ResumeProcesses-    -- ** Request constructor-    , resumeProcesses-    -- ** Request lenses-    , rpAutoScalingGroupName+    -- * Creating a Request+      resumeProcesses+    , ResumeProcesses+    -- * Request Lenses     , rpScalingProcesses+    , rpAutoScalingGroupName -    -- * Response-    , ResumeProcessesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , resumeProcessesResponse+    , ResumeProcessesResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data ResumeProcesses = ResumeProcesses-    { _rpAutoScalingGroupName :: Text-    , _rpScalingProcesses     :: List "member" Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'resumeProcesses' smart constructor.+data ResumeProcesses = ResumeProcesses'+    { _rpScalingProcesses     :: !(Maybe [Text])+    , _rpAutoScalingGroupName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ResumeProcesses' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ResumeProcesses' with the minimum fields required to make a request. ----- * 'rpAutoScalingGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'rpScalingProcesses' @::@ ['Text']+-- * 'rpScalingProcesses' ---resumeProcesses :: Text -- ^ 'rpAutoScalingGroupName'-                -> ResumeProcesses-resumeProcesses p1 = ResumeProcesses-    { _rpAutoScalingGroupName = p1-    , _rpScalingProcesses     = mempty+-- * 'rpAutoScalingGroupName'+resumeProcesses+    :: Text -- ^ 'rpAutoScalingGroupName'+    -> ResumeProcesses+resumeProcesses pAutoScalingGroupName_ =+    ResumeProcesses'+    { _rpScalingProcesses = Nothing+    , _rpAutoScalingGroupName = pAutoScalingGroupName_     } --- | The name or Amazon Resource Name (ARN) of the Auto Scaling group.-rpAutoScalingGroupName :: Lens' ResumeProcesses Text-rpAutoScalingGroupName =-    lens _rpAutoScalingGroupName (\s a -> s { _rpAutoScalingGroupName = a })- -- | One or more of the following processes: ----- Launch Terminate HealthCheck ReplaceUnhealthy AZRebalance AlarmNotification--- ScheduledActions AddToLoadBalancer+-- -   'Launch'+--+-- -   'Terminate'+--+-- -   'HealthCheck'+--+-- -   'ReplaceUnhealthy'+--+-- -   'AZRebalance'+--+-- -   'AlarmNotification'+--+-- -   'ScheduledActions'+--+-- -   'AddToLoadBalancer'+-- rpScalingProcesses :: Lens' ResumeProcesses [Text]-rpScalingProcesses =-    lens _rpScalingProcesses (\s a -> s { _rpScalingProcesses = a })-        . _List+rpScalingProcesses = lens _rpScalingProcesses (\ s a -> s{_rpScalingProcesses = a}) . _Default . _Coerce; -data ResumeProcessesResponse = ResumeProcessesResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | The name or Amazon Resource Name (ARN) of the Auto Scaling group.+rpAutoScalingGroupName :: Lens' ResumeProcesses Text+rpAutoScalingGroupName = lens _rpAutoScalingGroupName (\ s a -> s{_rpAutoScalingGroupName = a}); --- | 'ResumeProcessesResponse' constructor.-resumeProcessesResponse :: ResumeProcessesResponse-resumeProcessesResponse = ResumeProcessesResponse+instance AWSRequest ResumeProcesses where+        type Sv ResumeProcesses = AutoScaling+        type Rs ResumeProcesses = ResumeProcessesResponse+        request = postQuery+        response = receiveNull ResumeProcessesResponse' +instance ToHeaders ResumeProcesses where+        toHeaders = const mempty+ instance ToPath ResumeProcesses where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ResumeProcesses where-    toQuery ResumeProcesses{..} = mconcat-        [ "AutoScalingGroupName" =? _rpAutoScalingGroupName-        , "ScalingProcesses"     =? _rpScalingProcesses-        ]--instance ToHeaders ResumeProcesses+        toQuery ResumeProcesses'{..}+          = mconcat+              ["Action" =: ("ResumeProcesses" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "ScalingProcesses" =:+                 toQuery+                   (toQueryList "member" <$> _rpScalingProcesses),+               "AutoScalingGroupName" =: _rpAutoScalingGroupName] -instance AWSRequest ResumeProcesses where-    type Sv ResumeProcesses = AutoScaling-    type Rs ResumeProcesses = ResumeProcessesResponse+-- | /See:/ 'resumeProcessesResponse' smart constructor.+data ResumeProcessesResponse =+    ResumeProcessesResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "ResumeProcesses"-    response = nullResponse ResumeProcessesResponse+-- | Creates a value of 'ResumeProcessesResponse' with the minimum fields required to make a request.+--+resumeProcessesResponse+    :: ResumeProcessesResponse+resumeProcessesResponse = ResumeProcessesResponse'
gen/Network/AWS/AutoScaling/SetDesiredCapacity.hs view
@@ -1,117 +1,124 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.SetDesiredCapacity--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Sets the size of the specified 'AutoScalingGroup'.+-- Sets the size of the specified Auto Scaling group. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_SetDesiredCapacity.html>+-- For more information about desired capacity, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/WhatIsAutoScaling.html What Is Auto Scaling?>+-- in the /Auto Scaling Developer Guide/.+--+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_SetDesiredCapacity.html AWS API Reference> for SetDesiredCapacity. module Network.AWS.AutoScaling.SetDesiredCapacity     (-    -- * Request-      SetDesiredCapacity-    -- ** Request constructor-    , setDesiredCapacity-    -- ** Request lenses+    -- * Creating a Request+      setDesiredCapacity+    , SetDesiredCapacity+    -- * Request Lenses+    , sdcHonorCooldown     , sdcAutoScalingGroupName     , sdcDesiredCapacity-    , sdcHonorCooldown -    -- * Response-    , SetDesiredCapacityResponse-    -- ** Response constructor+    -- * Destructuring the Response     , setDesiredCapacityResponse+    , SetDesiredCapacityResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data SetDesiredCapacity = SetDesiredCapacity-    { _sdcAutoScalingGroupName :: Text-    , _sdcDesiredCapacity      :: Int-    , _sdcHonorCooldown        :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'setDesiredCapacity' smart constructor.+data SetDesiredCapacity = SetDesiredCapacity'+    { _sdcHonorCooldown        :: !(Maybe Bool)+    , _sdcAutoScalingGroupName :: !Text+    , _sdcDesiredCapacity      :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'SetDesiredCapacity' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'SetDesiredCapacity' with the minimum fields required to make a request. ----- * 'sdcAutoScalingGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'sdcDesiredCapacity' @::@ 'Int'+-- * 'sdcHonorCooldown' ----- * 'sdcHonorCooldown' @::@ 'Maybe' 'Bool'+-- * 'sdcAutoScalingGroupName' ---setDesiredCapacity :: Text -- ^ 'sdcAutoScalingGroupName'-                   -> Int -- ^ 'sdcDesiredCapacity'-                   -> SetDesiredCapacity-setDesiredCapacity p1 p2 = SetDesiredCapacity-    { _sdcAutoScalingGroupName = p1-    , _sdcDesiredCapacity      = p2-    , _sdcHonorCooldown        = Nothing+-- * 'sdcDesiredCapacity'+setDesiredCapacity+    :: Text -- ^ 'sdcAutoScalingGroupName'+    -> Int -- ^ 'sdcDesiredCapacity'+    -> SetDesiredCapacity+setDesiredCapacity pAutoScalingGroupName_ pDesiredCapacity_ =+    SetDesiredCapacity'+    { _sdcHonorCooldown = Nothing+    , _sdcAutoScalingGroupName = pAutoScalingGroupName_+    , _sdcDesiredCapacity = pDesiredCapacity_     } +-- | By default, 'SetDesiredCapacity' overrides any cooldown period+-- associated with the Auto Scaling group. Specify 'True' to make Auto+-- Scaling to wait for the cool-down period associated with the Auto+-- Scaling group to complete before initiating a scaling activity to set+-- your Auto Scaling group to its new capacity.+sdcHonorCooldown :: Lens' SetDesiredCapacity (Maybe Bool)+sdcHonorCooldown = lens _sdcHonorCooldown (\ s a -> s{_sdcHonorCooldown = a});+ -- | The name of the Auto Scaling group. sdcAutoScalingGroupName :: Lens' SetDesiredCapacity Text-sdcAutoScalingGroupName =-    lens _sdcAutoScalingGroupName (\s a -> s { _sdcAutoScalingGroupName = a })+sdcAutoScalingGroupName = lens _sdcAutoScalingGroupName (\ s a -> s{_sdcAutoScalingGroupName = a}); --- | The number of EC2 instances that should be running in the Auto Scaling group.+-- | The number of EC2 instances that should be running in the Auto Scaling+-- group. sdcDesiredCapacity :: Lens' SetDesiredCapacity Int-sdcDesiredCapacity =-    lens _sdcDesiredCapacity (\s a -> s { _sdcDesiredCapacity = a })---- | By default, 'SetDesiredCapacity' overrides any cooldown period associated with--- the Auto Scaling group. Specify 'True' to make Auto Scaling to wait for the--- cool-down period associated with the Auto Scaling group to complete before--- initiating a scaling activity to set your Auto Scaling group to its new--- capacity.-sdcHonorCooldown :: Lens' SetDesiredCapacity (Maybe Bool)-sdcHonorCooldown = lens _sdcHonorCooldown (\s a -> s { _sdcHonorCooldown = a })+sdcDesiredCapacity = lens _sdcDesiredCapacity (\ s a -> s{_sdcDesiredCapacity = a}); -data SetDesiredCapacityResponse = SetDesiredCapacityResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest SetDesiredCapacity where+        type Sv SetDesiredCapacity = AutoScaling+        type Rs SetDesiredCapacity =+             SetDesiredCapacityResponse+        request = postQuery+        response = receiveNull SetDesiredCapacityResponse' --- | 'SetDesiredCapacityResponse' constructor.-setDesiredCapacityResponse :: SetDesiredCapacityResponse-setDesiredCapacityResponse = SetDesiredCapacityResponse+instance ToHeaders SetDesiredCapacity where+        toHeaders = const mempty  instance ToPath SetDesiredCapacity where-    toPath = const "/"+        toPath = const "/"  instance ToQuery SetDesiredCapacity where-    toQuery SetDesiredCapacity{..} = mconcat-        [ "AutoScalingGroupName" =? _sdcAutoScalingGroupName-        , "DesiredCapacity"      =? _sdcDesiredCapacity-        , "HonorCooldown"        =? _sdcHonorCooldown-        ]--instance ToHeaders SetDesiredCapacity+        toQuery SetDesiredCapacity'{..}+          = mconcat+              ["Action" =: ("SetDesiredCapacity" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "HonorCooldown" =: _sdcHonorCooldown,+               "AutoScalingGroupName" =: _sdcAutoScalingGroupName,+               "DesiredCapacity" =: _sdcDesiredCapacity] -instance AWSRequest SetDesiredCapacity where-    type Sv SetDesiredCapacity = AutoScaling-    type Rs SetDesiredCapacity = SetDesiredCapacityResponse+-- | /See:/ 'setDesiredCapacityResponse' smart constructor.+data SetDesiredCapacityResponse =+    SetDesiredCapacityResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "SetDesiredCapacity"-    response = nullResponse SetDesiredCapacityResponse+-- | Creates a value of 'SetDesiredCapacityResponse' with the minimum fields required to make a request.+--+setDesiredCapacityResponse+    :: SetDesiredCapacityResponse+setDesiredCapacityResponse = SetDesiredCapacityResponse'
gen/Network/AWS/AutoScaling/SetInstanceHealth.hs view
@@ -1,122 +1,128 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.SetInstanceHealth--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Sets the health status of the specified instance.+-- Sets the health status of the specified instance. ----- For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/healthcheck.html Health Checks> in the /Auto Scaling Developer Guide/.+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/healthcheck.html Health Checks>+-- in the /Auto Scaling Developer Guide/. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_SetInstanceHealth.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_SetInstanceHealth.html AWS API Reference> for SetInstanceHealth. module Network.AWS.AutoScaling.SetInstanceHealth     (-    -- * Request-      SetInstanceHealth-    -- ** Request constructor-    , setInstanceHealth-    -- ** Request lenses-    , sihHealthStatus-    , sihInstanceId+    -- * Creating a Request+      setInstanceHealth+    , SetInstanceHealth+    -- * Request Lenses     , sihShouldRespectGracePeriod+    , sihInstanceId+    , sihHealthStatus -    -- * Response-    , SetInstanceHealthResponse-    -- ** Response constructor+    -- * Destructuring the Response     , setInstanceHealthResponse+    , SetInstanceHealthResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data SetInstanceHealth = SetInstanceHealth-    { _sihHealthStatus             :: Text-    , _sihInstanceId               :: Text-    , _sihShouldRespectGracePeriod :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'setInstanceHealth' smart constructor.+data SetInstanceHealth = SetInstanceHealth'+    { _sihShouldRespectGracePeriod :: !(Maybe Bool)+    , _sihInstanceId               :: !Text+    , _sihHealthStatus             :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'SetInstanceHealth' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'SetInstanceHealth' with the minimum fields required to make a request. ----- * 'sihHealthStatus' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'sihInstanceId' @::@ 'Text'+-- * 'sihShouldRespectGracePeriod' ----- * 'sihShouldRespectGracePeriod' @::@ 'Maybe' 'Bool'+-- * 'sihInstanceId' ---setInstanceHealth :: Text -- ^ 'sihInstanceId'-                  -> Text -- ^ 'sihHealthStatus'-                  -> SetInstanceHealth-setInstanceHealth p1 p2 = SetInstanceHealth-    { _sihInstanceId               = p1-    , _sihHealthStatus             = p2-    , _sihShouldRespectGracePeriod = Nothing+-- * 'sihHealthStatus'+setInstanceHealth+    :: Text -- ^ 'sihInstanceId'+    -> Text -- ^ 'sihHealthStatus'+    -> SetInstanceHealth+setInstanceHealth pInstanceId_ pHealthStatus_ =+    SetInstanceHealth'+    { _sihShouldRespectGracePeriod = Nothing+    , _sihInstanceId = pInstanceId_+    , _sihHealthStatus = pHealthStatus_     } --- | The health status of the instance. Set to 'Healthy' if you want the instance--- to remain in service. Set to 'Unhealthy' if you want the instance to be out of--- service. Auto Scaling will terminate and replace the unhealthy instance.-sihHealthStatus :: Lens' SetInstanceHealth Text-sihHealthStatus = lens _sihHealthStatus (\s a -> s { _sihHealthStatus = a })+-- | If the Auto Scaling group of the specified instance has a+-- 'HealthCheckGracePeriod' specified for the group, by default, this call+-- will respect the grace period. Set this to 'False', if you do not want+-- the call to respect the grace period associated with the group.+--+-- For more information, see the 'HealthCheckGracePeriod' parameter+-- description for CreateAutoScalingGroup.+sihShouldRespectGracePeriod :: Lens' SetInstanceHealth (Maybe Bool)+sihShouldRespectGracePeriod = lens _sihShouldRespectGracePeriod (\ s a -> s{_sihShouldRespectGracePeriod = a});  -- | The ID of the EC2 instance. sihInstanceId :: Lens' SetInstanceHealth Text-sihInstanceId = lens _sihInstanceId (\s a -> s { _sihInstanceId = a })+sihInstanceId = lens _sihInstanceId (\ s a -> s{_sihInstanceId = a}); --- | If the Auto Scaling group of the specified instance has a 'HealthCheckGracePeriod' specified for the group, by default, this call will respect the grace--- period. Set this to 'False', if you do not want the call to respect the grace--- period associated with the group.------ For more information, see the 'HealthCheckGracePeriod' parameter description--- for 'CreateAutoScalingGroup'.-sihShouldRespectGracePeriod :: Lens' SetInstanceHealth (Maybe Bool)-sihShouldRespectGracePeriod =-    lens _sihShouldRespectGracePeriod-        (\s a -> s { _sihShouldRespectGracePeriod = a })+-- | The health status of the instance. Set to 'Healthy' if you want the+-- instance to remain in service. Set to 'Unhealthy' if you want the+-- instance to be out of service. Auto Scaling will terminate and replace+-- the unhealthy instance.+sihHealthStatus :: Lens' SetInstanceHealth Text+sihHealthStatus = lens _sihHealthStatus (\ s a -> s{_sihHealthStatus = a}); -data SetInstanceHealthResponse = SetInstanceHealthResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest SetInstanceHealth where+        type Sv SetInstanceHealth = AutoScaling+        type Rs SetInstanceHealth = SetInstanceHealthResponse+        request = postQuery+        response = receiveNull SetInstanceHealthResponse' --- | 'SetInstanceHealthResponse' constructor.-setInstanceHealthResponse :: SetInstanceHealthResponse-setInstanceHealthResponse = SetInstanceHealthResponse+instance ToHeaders SetInstanceHealth where+        toHeaders = const mempty  instance ToPath SetInstanceHealth where-    toPath = const "/"+        toPath = const "/"  instance ToQuery SetInstanceHealth where-    toQuery SetInstanceHealth{..} = mconcat-        [ "HealthStatus"             =? _sihHealthStatus-        , "InstanceId"               =? _sihInstanceId-        , "ShouldRespectGracePeriod" =? _sihShouldRespectGracePeriod-        ]--instance ToHeaders SetInstanceHealth+        toQuery SetInstanceHealth'{..}+          = mconcat+              ["Action" =: ("SetInstanceHealth" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "ShouldRespectGracePeriod" =:+                 _sihShouldRespectGracePeriod,+               "InstanceId" =: _sihInstanceId,+               "HealthStatus" =: _sihHealthStatus] -instance AWSRequest SetInstanceHealth where-    type Sv SetInstanceHealth = AutoScaling-    type Rs SetInstanceHealth = SetInstanceHealthResponse+-- | /See:/ 'setInstanceHealthResponse' smart constructor.+data SetInstanceHealthResponse =+    SetInstanceHealthResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "SetInstanceHealth"-    response = nullResponse SetInstanceHealthResponse+-- | Creates a value of 'SetInstanceHealthResponse' with the minimum fields required to make a request.+--+setInstanceHealthResponse+    :: SetInstanceHealthResponse+setInstanceHealthResponse = SetInstanceHealthResponse'
gen/Network/AWS/AutoScaling/SuspendProcesses.hs view
@@ -1,115 +1,134 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.SuspendProcesses--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Suspends the specified Auto Scaling processes for the specified Auto Scaling--- group. To suspend specific processes, use the 'ScalingProcesses' parameter. To--- suspend all processes, omit the 'ScalingProcesses' parameter.+-- Suspends the specified Auto Scaling processes for the specified Auto+-- Scaling group. To suspend specific processes, use the 'ScalingProcesses'+-- parameter. To suspend all processes, omit the 'ScalingProcesses'+-- parameter. ----- Note that if you suspend either the 'Launch' or 'Terminate' process types, it--- can prevent other process types from functioning properly.+-- Note that if you suspend either the 'Launch' or 'Terminate' process+-- types, it can prevent other process types from functioning properly. ----- To resume processes that have been suspended, use 'ResumeProcesses'.+-- To resume processes that have been suspended, use ResumeProcesses. ----- For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US_SuspendResume.html Suspend and Resume Auto Scaling Processes> in the /Auto Scaling Developer Guide/.+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US_SuspendResume.html Suspend and Resume Auto Scaling Processes>+-- in the /Auto Scaling Developer Guide/. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_SuspendProcesses.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_SuspendProcesses.html AWS API Reference> for SuspendProcesses. module Network.AWS.AutoScaling.SuspendProcesses     (-    -- * Request-      SuspendProcesses-    -- ** Request constructor-    , suspendProcesses-    -- ** Request lenses-    , spAutoScalingGroupName+    -- * Creating a Request+      suspendProcesses+    , SuspendProcesses+    -- * Request Lenses     , spScalingProcesses+    , spAutoScalingGroupName -    -- * Response-    , SuspendProcessesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , suspendProcessesResponse+    , SuspendProcessesResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data SuspendProcesses = SuspendProcesses-    { _spAutoScalingGroupName :: Text-    , _spScalingProcesses     :: List "member" Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'suspendProcesses' smart constructor.+data SuspendProcesses = SuspendProcesses'+    { _spScalingProcesses     :: !(Maybe [Text])+    , _spAutoScalingGroupName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'SuspendProcesses' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'SuspendProcesses' with the minimum fields required to make a request. ----- * 'spAutoScalingGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'spScalingProcesses' @::@ ['Text']+-- * 'spScalingProcesses' ---suspendProcesses :: Text -- ^ 'spAutoScalingGroupName'-                 -> SuspendProcesses-suspendProcesses p1 = SuspendProcesses-    { _spAutoScalingGroupName = p1-    , _spScalingProcesses     = mempty+-- * 'spAutoScalingGroupName'+suspendProcesses+    :: Text -- ^ 'spAutoScalingGroupName'+    -> SuspendProcesses+suspendProcesses pAutoScalingGroupName_ =+    SuspendProcesses'+    { _spScalingProcesses = Nothing+    , _spAutoScalingGroupName = pAutoScalingGroupName_     } --- | The name or Amazon Resource Name (ARN) of the Auto Scaling group.-spAutoScalingGroupName :: Lens' SuspendProcesses Text-spAutoScalingGroupName =-    lens _spAutoScalingGroupName (\s a -> s { _spAutoScalingGroupName = a })- -- | One or more of the following processes: ----- Launch Terminate HealthCheck ReplaceUnhealthy AZRebalance AlarmNotification--- ScheduledActions AddToLoadBalancer+-- -   'Launch'+--+-- -   'Terminate'+--+-- -   'HealthCheck'+--+-- -   'ReplaceUnhealthy'+--+-- -   'AZRebalance'+--+-- -   'AlarmNotification'+--+-- -   'ScheduledActions'+--+-- -   'AddToLoadBalancer'+-- spScalingProcesses :: Lens' SuspendProcesses [Text]-spScalingProcesses =-    lens _spScalingProcesses (\s a -> s { _spScalingProcesses = a })-        . _List+spScalingProcesses = lens _spScalingProcesses (\ s a -> s{_spScalingProcesses = a}) . _Default . _Coerce; -data SuspendProcessesResponse = SuspendProcessesResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | The name or Amazon Resource Name (ARN) of the Auto Scaling group.+spAutoScalingGroupName :: Lens' SuspendProcesses Text+spAutoScalingGroupName = lens _spAutoScalingGroupName (\ s a -> s{_spAutoScalingGroupName = a}); --- | 'SuspendProcessesResponse' constructor.-suspendProcessesResponse :: SuspendProcessesResponse-suspendProcessesResponse = SuspendProcessesResponse+instance AWSRequest SuspendProcesses where+        type Sv SuspendProcesses = AutoScaling+        type Rs SuspendProcesses = SuspendProcessesResponse+        request = postQuery+        response = receiveNull SuspendProcessesResponse' +instance ToHeaders SuspendProcesses where+        toHeaders = const mempty+ instance ToPath SuspendProcesses where-    toPath = const "/"+        toPath = const "/"  instance ToQuery SuspendProcesses where-    toQuery SuspendProcesses{..} = mconcat-        [ "AutoScalingGroupName" =? _spAutoScalingGroupName-        , "ScalingProcesses"     =? _spScalingProcesses-        ]--instance ToHeaders SuspendProcesses+        toQuery SuspendProcesses'{..}+          = mconcat+              ["Action" =: ("SuspendProcesses" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "ScalingProcesses" =:+                 toQuery+                   (toQueryList "member" <$> _spScalingProcesses),+               "AutoScalingGroupName" =: _spAutoScalingGroupName] -instance AWSRequest SuspendProcesses where-    type Sv SuspendProcesses = AutoScaling-    type Rs SuspendProcesses = SuspendProcessesResponse+-- | /See:/ 'suspendProcessesResponse' smart constructor.+data SuspendProcessesResponse =+    SuspendProcessesResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "SuspendProcesses"-    response = nullResponse SuspendProcessesResponse+-- | Creates a value of 'SuspendProcessesResponse' with the minimum fields required to make a request.+--+suspendProcessesResponse+    :: SuspendProcessesResponse+suspendProcessesResponse = SuspendProcessesResponse'
gen/Network/AWS/AutoScaling/TerminateInstanceInAutoScalingGroup.hs view
@@ -1,126 +1,145 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.TerminateInstanceInAutoScalingGroup--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Terminates the specified instance and optionally adjusts the desired group--- size.+-- Terminates the specified instance and optionally adjusts the desired+-- group size. -- -- This call simply makes a termination request. The instances is not -- terminated immediately. ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_TerminateInstanceInAutoScalingGroup.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_TerminateInstanceInAutoScalingGroup.html AWS API Reference> for TerminateInstanceInAutoScalingGroup. module Network.AWS.AutoScaling.TerminateInstanceInAutoScalingGroup     (-    -- * Request-      TerminateInstanceInAutoScalingGroup-    -- ** Request constructor-    , terminateInstanceInAutoScalingGroup-    -- ** Request lenses+    -- * Creating a Request+      terminateInstanceInAutoScalingGroup+    , TerminateInstanceInAutoScalingGroup+    -- * Request Lenses     , tiiasgInstanceId     , tiiasgShouldDecrementDesiredCapacity -    -- * Response-    , TerminateInstanceInAutoScalingGroupResponse-    -- ** Response constructor+    -- * Destructuring the Response     , terminateInstanceInAutoScalingGroupResponse-    -- ** Response lenses-    , tiiasgrActivity+    , TerminateInstanceInAutoScalingGroupResponse+    -- * Response Lenses+    , tiiasgrsActivity+    , tiiasgrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data TerminateInstanceInAutoScalingGroup = TerminateInstanceInAutoScalingGroup-    { _tiiasgInstanceId                     :: Text-    , _tiiasgShouldDecrementDesiredCapacity :: Bool-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'terminateInstanceInAutoScalingGroup' smart constructor.+data TerminateInstanceInAutoScalingGroup = TerminateInstanceInAutoScalingGroup'+    { _tiiasgInstanceId                     :: !Text+    , _tiiasgShouldDecrementDesiredCapacity :: !Bool+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'TerminateInstanceInAutoScalingGroup' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'TerminateInstanceInAutoScalingGroup' with the minimum fields required to make a request. ----- * 'tiiasgInstanceId' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'tiiasgShouldDecrementDesiredCapacity' @::@ 'Bool'+-- * 'tiiasgInstanceId' ---terminateInstanceInAutoScalingGroup :: Text -- ^ 'tiiasgInstanceId'-                                    -> Bool -- ^ 'tiiasgShouldDecrementDesiredCapacity'-                                    -> TerminateInstanceInAutoScalingGroup-terminateInstanceInAutoScalingGroup p1 p2 = TerminateInstanceInAutoScalingGroup-    { _tiiasgInstanceId                     = p1-    , _tiiasgShouldDecrementDesiredCapacity = p2+-- * 'tiiasgShouldDecrementDesiredCapacity'+terminateInstanceInAutoScalingGroup+    :: Text -- ^ 'tiiasgInstanceId'+    -> Bool -- ^ 'tiiasgShouldDecrementDesiredCapacity'+    -> TerminateInstanceInAutoScalingGroup+terminateInstanceInAutoScalingGroup pInstanceId_ pShouldDecrementDesiredCapacity_ =+    TerminateInstanceInAutoScalingGroup'+    { _tiiasgInstanceId = pInstanceId_+    , _tiiasgShouldDecrementDesiredCapacity = pShouldDecrementDesiredCapacity_     }  -- | The ID of the EC2 instance. tiiasgInstanceId :: Lens' TerminateInstanceInAutoScalingGroup Text-tiiasgInstanceId = lens _tiiasgInstanceId (\s a -> s { _tiiasgInstanceId = a })+tiiasgInstanceId = lens _tiiasgInstanceId (\ s a -> s{_tiiasgInstanceId = a}); --- | If 'true', terminating this instance also decrements the size of the Auto--- Scaling group.+-- | If 'true', terminating this instance also decrements the size of the+-- Auto Scaling group. tiiasgShouldDecrementDesiredCapacity :: Lens' TerminateInstanceInAutoScalingGroup Bool-tiiasgShouldDecrementDesiredCapacity =-    lens _tiiasgShouldDecrementDesiredCapacity-        (\s a -> s { _tiiasgShouldDecrementDesiredCapacity = a })+tiiasgShouldDecrementDesiredCapacity = lens _tiiasgShouldDecrementDesiredCapacity (\ s a -> s{_tiiasgShouldDecrementDesiredCapacity = a}); -newtype TerminateInstanceInAutoScalingGroupResponse = TerminateInstanceInAutoScalingGroupResponse-    { _tiiasgrActivity :: Maybe Activity-    } deriving (Eq, Read, Show)+instance AWSRequest+         TerminateInstanceInAutoScalingGroup where+        type Sv TerminateInstanceInAutoScalingGroup =+             AutoScaling+        type Rs TerminateInstanceInAutoScalingGroup =+             TerminateInstanceInAutoScalingGroupResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "TerminateInstanceInAutoScalingGroupResult"+              (\ s h x ->+                 TerminateInstanceInAutoScalingGroupResponse' <$>+                   (x .@? "Activity") <*> (pure (fromEnum s))) --- | 'TerminateInstanceInAutoScalingGroupResponse' constructor.+instance ToHeaders+         TerminateInstanceInAutoScalingGroup where+        toHeaders = const mempty++instance ToPath TerminateInstanceInAutoScalingGroup+         where+        toPath = const "/"++instance ToQuery TerminateInstanceInAutoScalingGroup+         where+        toQuery TerminateInstanceInAutoScalingGroup'{..}+          = mconcat+              ["Action" =:+                 ("TerminateInstanceInAutoScalingGroup" ::+                    ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "InstanceId" =: _tiiasgInstanceId,+               "ShouldDecrementDesiredCapacity" =:+                 _tiiasgShouldDecrementDesiredCapacity]++-- | /See:/ 'terminateInstanceInAutoScalingGroupResponse' smart constructor.+data TerminateInstanceInAutoScalingGroupResponse = TerminateInstanceInAutoScalingGroupResponse'+    { _tiiasgrsActivity :: !(Maybe Activity)+    , _tiiasgrsStatus   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'TerminateInstanceInAutoScalingGroupResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'tiiasgrActivity' @::@ 'Maybe' 'Activity'+-- * 'tiiasgrsActivity' ---terminateInstanceInAutoScalingGroupResponse :: TerminateInstanceInAutoScalingGroupResponse-terminateInstanceInAutoScalingGroupResponse = TerminateInstanceInAutoScalingGroupResponse-    { _tiiasgrActivity = Nothing+-- * 'tiiasgrsStatus'+terminateInstanceInAutoScalingGroupResponse+    :: Int -- ^ 'tiiasgrsStatus'+    -> TerminateInstanceInAutoScalingGroupResponse+terminateInstanceInAutoScalingGroupResponse pStatus_ =+    TerminateInstanceInAutoScalingGroupResponse'+    { _tiiasgrsActivity = Nothing+    , _tiiasgrsStatus = pStatus_     }  -- | A scaling activity.-tiiasgrActivity :: Lens' TerminateInstanceInAutoScalingGroupResponse (Maybe Activity)-tiiasgrActivity = lens _tiiasgrActivity (\s a -> s { _tiiasgrActivity = a })--instance ToPath TerminateInstanceInAutoScalingGroup where-    toPath = const "/"--instance ToQuery TerminateInstanceInAutoScalingGroup where-    toQuery TerminateInstanceInAutoScalingGroup{..} = mconcat-        [ "InstanceId"                     =? _tiiasgInstanceId-        , "ShouldDecrementDesiredCapacity" =? _tiiasgShouldDecrementDesiredCapacity-        ]--instance ToHeaders TerminateInstanceInAutoScalingGroup--instance AWSRequest TerminateInstanceInAutoScalingGroup where-    type Sv TerminateInstanceInAutoScalingGroup = AutoScaling-    type Rs TerminateInstanceInAutoScalingGroup = TerminateInstanceInAutoScalingGroupResponse--    request  = post "TerminateInstanceInAutoScalingGroup"-    response = xmlResponse+tiiasgrsActivity :: Lens' TerminateInstanceInAutoScalingGroupResponse (Maybe Activity)+tiiasgrsActivity = lens _tiiasgrsActivity (\ s a -> s{_tiiasgrsActivity = a}); -instance FromXML TerminateInstanceInAutoScalingGroupResponse where-    parseXML = withElement "TerminateInstanceInAutoScalingGroupResult" $ \x -> TerminateInstanceInAutoScalingGroupResponse-        <$> x .@? "Activity"+-- | The response status code.+tiiasgrsStatus :: Lens' TerminateInstanceInAutoScalingGroupResponse Int+tiiasgrsStatus = lens _tiiasgrsStatus (\ s a -> s{_tiiasgrsStatus = a});
gen/Network/AWS/AutoScaling/Types.hs view
@@ -1,2265 +1,337 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}-{-# LANGUAGE ViewPatterns                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.AutoScaling.Types--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.--module Network.AWS.AutoScaling.Types-    (-    -- * Service-      AutoScaling-    -- ** Error-    , RESTError-    -- ** XML-    , ns--    -- * TagDescription-    , TagDescription-    , tagDescription-    , tdKey-    , tdPropagateAtLaunch-    , tdResourceId-    , tdResourceType-    , tdValue--    -- * Tag-    , Tag-    , tag-    , tagKey-    , tagPropagateAtLaunch-    , tagResourceId-    , tagResourceType-    , tagValue--    -- * NotificationConfiguration-    , NotificationConfiguration-    , notificationConfiguration-    , ncAutoScalingGroupName-    , ncNotificationType-    , ncTopicARN--    -- * BlockDeviceMapping-    , BlockDeviceMapping-    , blockDeviceMapping-    , bdmDeviceName-    , bdmEbs-    , bdmNoDevice-    , bdmVirtualName--    -- * LaunchConfiguration-    , LaunchConfiguration-    , launchConfiguration-    , lcAssociatePublicIpAddress-    , lcBlockDeviceMappings-    , lcClassicLinkVPCId-    , lcClassicLinkVPCSecurityGroups-    , lcCreatedTime-    , lcEbsOptimized-    , lcIamInstanceProfile-    , lcImageId-    , lcInstanceMonitoring-    , lcInstanceType-    , lcKernelId-    , lcKeyName-    , lcLaunchConfigurationARN-    , lcLaunchConfigurationName-    , lcPlacementTenancy-    , lcRamdiskId-    , lcSecurityGroups-    , lcSpotPrice-    , lcUserData--    -- * AutoScalingGroup-    , AutoScalingGroup-    , autoScalingGroup-    , asgAutoScalingGroupARN-    , asgAutoScalingGroupName-    , asgAvailabilityZones-    , asgCreatedTime-    , asgDefaultCooldown-    , asgDesiredCapacity-    , asgEnabledMetrics-    , asgHealthCheckGracePeriod-    , asgHealthCheckType-    , asgInstances-    , asgLaunchConfigurationName-    , asgLoadBalancerNames-    , asgMaxSize-    , asgMinSize-    , asgPlacementGroup-    , asgStatus-    , asgSuspendedProcesses-    , asgTags-    , asgTerminationPolicies-    , asgVPCZoneIdentifier--    -- * ScalingPolicy-    , ScalingPolicy-    , scalingPolicy-    , sp1AdjustmentType-    , sp1Alarms-    , sp1AutoScalingGroupName-    , sp1Cooldown-    , sp1MinAdjustmentStep-    , sp1PolicyARN-    , sp1PolicyName-    , sp1ScalingAdjustment--    -- * InstanceMonitoring-    , InstanceMonitoring-    , instanceMonitoring-    , imEnabled--    -- * ScheduledUpdateGroupAction-    , ScheduledUpdateGroupAction-    , scheduledUpdateGroupAction-    , sugaAutoScalingGroupName-    , sugaDesiredCapacity-    , sugaEndTime-    , sugaMaxSize-    , sugaMinSize-    , sugaRecurrence-    , sugaScheduledActionARN-    , sugaScheduledActionName-    , sugaStartTime-    , sugaTime--    -- * ScalingProcessQuery-    , ScalingProcessQuery-    , scalingProcessQuery-    , spqAutoScalingGroupName-    , spqScalingProcesses--    -- * Ebs-    , Ebs-    , ebs-    , ebsDeleteOnTermination-    , ebsIops-    , ebsSnapshotId-    , ebsVolumeSize-    , ebsVolumeType--    -- * AdjustmentType-    , AdjustmentType-    , adjustmentType-    , atAdjustmentType--    -- * MetricCollectionType-    , MetricCollectionType-    , metricCollectionType-    , mctMetric--    -- * LifecycleHook-    , LifecycleHook-    , lifecycleHook-    , lhAutoScalingGroupName-    , lhDefaultResult-    , lhGlobalTimeout-    , lhHeartbeatTimeout-    , lhLifecycleHookName-    , lhLifecycleTransition-    , lhNotificationMetadata-    , lhNotificationTargetARN-    , lhRoleARN--    -- * Activity-    , Activity-    , activity-    , aActivityId-    , aAutoScalingGroupName-    , aCause-    , aDescription-    , aDetails-    , aEndTime-    , aProgress-    , aStartTime-    , aStatusCode-    , aStatusMessage--    -- * SuspendedProcess-    , SuspendedProcess-    , suspendedProcess-    , spProcessName-    , spSuspensionReason--    -- * MetricGranularityType-    , MetricGranularityType-    , metricGranularityType-    , mgtGranularity--    -- * Filter-    , Filter-    , filter'-    , fName-    , fValues--    -- * ProcessType-    , ProcessType-    , processType-    , ptProcessName--    -- * Alarm-    , Alarm-    , alarm-    , aAlarmARN-    , aAlarmName--    -- * EnabledMetric-    , EnabledMetric-    , enabledMetric-    , emGranularity-    , emMetric--    -- * Instance-    , Instance-    , instance'-    , iAvailabilityZone-    , iHealthStatus-    , iInstanceId-    , iLaunchConfigurationName-    , iLifecycleState--    -- * LifecycleState-    , LifecycleState (..)--    -- * AutoScalingInstanceDetails-    , AutoScalingInstanceDetails-    , autoScalingInstanceDetails-    , asidAutoScalingGroupName-    , asidAvailabilityZone-    , asidHealthStatus-    , asidInstanceId-    , asidLaunchConfigurationName-    , asidLifecycleState--    -- * ScalingActivityStatusCode-    , ScalingActivityStatusCode (..)-    ) where--import Network.AWS.Prelude-import Network.AWS.Signing-import qualified GHC.Exts---- | Version @2011-01-01@ of the Amazon Auto Scaling service.-data AutoScaling--instance AWSService AutoScaling where-    type Sg AutoScaling = V4-    type Er AutoScaling = RESTError--    service = service'-      where-        service' :: Service AutoScaling-        service' = Service-            { _svcAbbrev       = "AutoScaling"-            , _svcPrefix       = "autoscaling"-            , _svcVersion      = "2011-01-01"-            , _svcTargetPrefix = Nothing-            , _svcJSONVersion  = Nothing-            , _svcHandle       = handle-            , _svcRetry        = retry-            }--        handle :: Status-               -> Maybe (LazyByteString -> ServiceError RESTError)-        handle = restError statusSuccess service'--        retry :: Retry AutoScaling-        retry = Exponential-            { _retryBase     = 0.05-            , _retryGrowth   = 2-            , _retryAttempts = 5-            , _retryCheck    = check-            }--        check :: Status-              -> RESTError-              -> Bool-        check (statusCode -> s) (awsErrorCode -> e)-            | s == 400 && (Just "Throttling") == e = True -- Throttling-            | s == 500  = True -- General Server Error-            | s == 509  = True -- Limit Exceeded-            | s == 503  = True -- Service Unavailable-            | otherwise = False--ns :: Text-ns = "http://autoscaling.amazonaws.com/doc/2011-01-01/"-{-# INLINE ns #-}--data TagDescription = TagDescription-    { _tdKey               :: Text-    , _tdPropagateAtLaunch :: Bool-    , _tdResourceId        :: Text-    , _tdResourceType      :: Text-    , _tdValue             :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'TagDescription' constructor.------ The fields accessible through corresponding lenses are:------ * 'tdKey' @::@ 'Text'------ * 'tdPropagateAtLaunch' @::@ 'Bool'------ * 'tdResourceId' @::@ 'Text'------ * 'tdResourceType' @::@ 'Text'------ * 'tdValue' @::@ 'Text'----tagDescription :: Text -- ^ 'tdResourceId'-               -> Text -- ^ 'tdResourceType'-               -> Text -- ^ 'tdKey'-               -> Text -- ^ 'tdValue'-               -> Bool -- ^ 'tdPropagateAtLaunch'-               -> TagDescription-tagDescription p1 p2 p3 p4 p5 = TagDescription-    { _tdResourceId        = p1-    , _tdResourceType      = p2-    , _tdKey               = p3-    , _tdValue             = p4-    , _tdPropagateAtLaunch = p5-    }---- | The tag key.-tdKey :: Lens' TagDescription Text-tdKey = lens _tdKey (\s a -> s { _tdKey = a })---- | Specifies whether the tag is applied to instances launched after the tag is--- created. The same behavior applies to updates: If you change a tag, it is--- applied to all instances launched after you made the change.-tdPropagateAtLaunch :: Lens' TagDescription Bool-tdPropagateAtLaunch =-    lens _tdPropagateAtLaunch (\s a -> s { _tdPropagateAtLaunch = a })---- | The name of the group.-tdResourceId :: Lens' TagDescription Text-tdResourceId = lens _tdResourceId (\s a -> s { _tdResourceId = a })---- | The kind of resource to which the tag is applied. Currently, Auto Scaling--- supports the 'auto-scaling-group' resource type.-tdResourceType :: Lens' TagDescription Text-tdResourceType = lens _tdResourceType (\s a -> s { _tdResourceType = a })---- | The tag value.-tdValue :: Lens' TagDescription Text-tdValue = lens _tdValue (\s a -> s { _tdValue = a })--instance FromXML TagDescription where-    parseXML x = TagDescription-        <$> x .@  "Key"-        <*> x .@  "PropagateAtLaunch"-        <*> x .@  "ResourceId"-        <*> x .@  "ResourceType"-        <*> x .@  "Value"--instance ToQuery TagDescription where-    toQuery TagDescription{..} = mconcat-        [ "Key"               =? _tdKey-        , "PropagateAtLaunch" =? _tdPropagateAtLaunch-        , "ResourceId"        =? _tdResourceId-        , "ResourceType"      =? _tdResourceType-        , "Value"             =? _tdValue-        ]--data Tag = Tag-    { _tagKey               :: Text-    , _tagPropagateAtLaunch :: Bool-    , _tagResourceId        :: Text-    , _tagResourceType      :: Text-    , _tagValue             :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'Tag' constructor.------ The fields accessible through corresponding lenses are:------ * 'tagKey' @::@ 'Text'------ * 'tagPropagateAtLaunch' @::@ 'Bool'------ * 'tagResourceId' @::@ 'Text'------ * 'tagResourceType' @::@ 'Text'------ * 'tagValue' @::@ 'Text'----tag :: Text -- ^ 'tagResourceId'-    -> Text -- ^ 'tagResourceType'-    -> Text -- ^ 'tagKey'-    -> Text -- ^ 'tagValue'-    -> Bool -- ^ 'tagPropagateAtLaunch'-    -> Tag-tag p1 p2 p3 p4 p5 = Tag-    { _tagResourceId        = p1-    , _tagResourceType      = p2-    , _tagKey               = p3-    , _tagValue             = p4-    , _tagPropagateAtLaunch = p5-    }---- | The tag key.-tagKey :: Lens' Tag Text-tagKey = lens _tagKey (\s a -> s { _tagKey = a })---- | Specifies whether the tag is applied to instances launched after the tag is--- created. The same behavior applies to updates: If you change a tag, it is--- applied to all instances launched after you made the change.-tagPropagateAtLaunch :: Lens' Tag Bool-tagPropagateAtLaunch =-    lens _tagPropagateAtLaunch (\s a -> s { _tagPropagateAtLaunch = a })---- | The name of the group.-tagResourceId :: Lens' Tag Text-tagResourceId = lens _tagResourceId (\s a -> s { _tagResourceId = a })---- | The kind of resource to which the tag is applied. Currently, Auto Scaling--- supports the 'auto-scaling-group' resource type.-tagResourceType :: Lens' Tag Text-tagResourceType = lens _tagResourceType (\s a -> s { _tagResourceType = a })---- | The tag value.-tagValue :: Lens' Tag Text-tagValue = lens _tagValue (\s a -> s { _tagValue = a })--instance FromXML Tag where-    parseXML x = Tag-        <$> x .@  "Key"-        <*> x .@  "PropagateAtLaunch"-        <*> x .@  "ResourceId"-        <*> x .@  "ResourceType"-        <*> x .@  "Value"--instance ToQuery Tag where-    toQuery Tag{..} = mconcat-        [ "Key"               =? _tagKey-        , "PropagateAtLaunch" =? _tagPropagateAtLaunch-        , "ResourceId"        =? _tagResourceId-        , "ResourceType"      =? _tagResourceType-        , "Value"             =? _tagValue-        ]--data NotificationConfiguration = NotificationConfiguration-    { _ncAutoScalingGroupName :: Maybe Text-    , _ncNotificationType     :: Maybe Text-    , _ncTopicARN             :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'NotificationConfiguration' constructor.------ The fields accessible through corresponding lenses are:------ * 'ncAutoScalingGroupName' @::@ 'Maybe' 'Text'------ * 'ncNotificationType' @::@ 'Maybe' 'Text'------ * 'ncTopicARN' @::@ 'Maybe' 'Text'----notificationConfiguration :: NotificationConfiguration-notificationConfiguration = NotificationConfiguration-    { _ncAutoScalingGroupName = Nothing-    , _ncTopicARN             = Nothing-    , _ncNotificationType     = Nothing-    }---- | The name of the group.-ncAutoScalingGroupName :: Lens' NotificationConfiguration (Maybe Text)-ncAutoScalingGroupName =-    lens _ncAutoScalingGroupName (\s a -> s { _ncAutoScalingGroupName = a })---- | The types of events for an action to start.-ncNotificationType :: Lens' NotificationConfiguration (Maybe Text)-ncNotificationType =-    lens _ncNotificationType (\s a -> s { _ncNotificationType = a })---- | The Amazon Resource Name (ARN) of the Amazon Simple Notification Service--- (SNS) topic.-ncTopicARN :: Lens' NotificationConfiguration (Maybe Text)-ncTopicARN = lens _ncTopicARN (\s a -> s { _ncTopicARN = a })--instance FromXML NotificationConfiguration where-    parseXML x = NotificationConfiguration-        <$> x .@? "AutoScalingGroupName"-        <*> x .@? "NotificationType"-        <*> x .@? "TopicARN"--instance ToQuery NotificationConfiguration where-    toQuery NotificationConfiguration{..} = mconcat-        [ "AutoScalingGroupName" =? _ncAutoScalingGroupName-        , "NotificationType"     =? _ncNotificationType-        , "TopicARN"             =? _ncTopicARN-        ]--data BlockDeviceMapping = BlockDeviceMapping-    { _bdmDeviceName  :: Text-    , _bdmEbs         :: Maybe Ebs-    , _bdmNoDevice    :: Maybe Bool-    , _bdmVirtualName :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'BlockDeviceMapping' constructor.------ The fields accessible through corresponding lenses are:------ * 'bdmDeviceName' @::@ 'Text'------ * 'bdmEbs' @::@ 'Maybe' 'Ebs'------ * 'bdmNoDevice' @::@ 'Maybe' 'Bool'------ * 'bdmVirtualName' @::@ 'Maybe' 'Text'----blockDeviceMapping :: Text -- ^ 'bdmDeviceName'-                   -> BlockDeviceMapping-blockDeviceMapping p1 = BlockDeviceMapping-    { _bdmDeviceName  = p1-    , _bdmVirtualName = Nothing-    , _bdmEbs         = Nothing-    , _bdmNoDevice    = Nothing-    }---- | The device name exposed to the EC2 instance (for example, '/dev/sdh' or 'xvdh').-bdmDeviceName :: Lens' BlockDeviceMapping Text-bdmDeviceName = lens _bdmDeviceName (\s a -> s { _bdmDeviceName = a })---- | The information about the Amazon EBS volume.-bdmEbs :: Lens' BlockDeviceMapping (Maybe Ebs)-bdmEbs = lens _bdmEbs (\s a -> s { _bdmEbs = a })---- | Suppresses a device mapping.------ If 'NoDevice' is set to 'true' for the root device, the instance might fail the--- EC2 health check. Auto Scaling launches a replacement instance if the--- instance fails the health check.-bdmNoDevice :: Lens' BlockDeviceMapping (Maybe Bool)-bdmNoDevice = lens _bdmNoDevice (\s a -> s { _bdmNoDevice = a })---- | The name of the virtual device, 'ephemeral0' to 'ephemeral3'.-bdmVirtualName :: Lens' BlockDeviceMapping (Maybe Text)-bdmVirtualName = lens _bdmVirtualName (\s a -> s { _bdmVirtualName = a })--instance FromXML BlockDeviceMapping where-    parseXML x = BlockDeviceMapping-        <$> x .@  "DeviceName"-        <*> x .@? "Ebs"-        <*> x .@? "NoDevice"-        <*> x .@? "VirtualName"--instance ToQuery BlockDeviceMapping where-    toQuery BlockDeviceMapping{..} = mconcat-        [ "DeviceName"  =? _bdmDeviceName-        , "Ebs"         =? _bdmEbs-        , "NoDevice"    =? _bdmNoDevice-        , "VirtualName" =? _bdmVirtualName-        ]--data LaunchConfiguration = LaunchConfiguration-    { _lcAssociatePublicIpAddress     :: Maybe Bool-    , _lcBlockDeviceMappings          :: List "member" BlockDeviceMapping-    , _lcClassicLinkVPCId             :: Maybe Text-    , _lcClassicLinkVPCSecurityGroups :: List "member" Text-    , _lcCreatedTime                  :: ISO8601-    , _lcEbsOptimized                 :: Maybe Bool-    , _lcIamInstanceProfile           :: Maybe Text-    , _lcImageId                      :: Text-    , _lcInstanceMonitoring           :: Maybe InstanceMonitoring-    , _lcInstanceType                 :: Text-    , _lcKernelId                     :: Maybe Text-    , _lcKeyName                      :: Maybe Text-    , _lcLaunchConfigurationARN       :: Maybe Text-    , _lcLaunchConfigurationName      :: Text-    , _lcPlacementTenancy             :: Maybe Text-    , _lcRamdiskId                    :: Maybe Text-    , _lcSecurityGroups               :: List "member" Text-    , _lcSpotPrice                    :: Maybe Text-    , _lcUserData                     :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'LaunchConfiguration' constructor.------ The fields accessible through corresponding lenses are:------ * 'lcAssociatePublicIpAddress' @::@ 'Maybe' 'Bool'------ * 'lcBlockDeviceMappings' @::@ ['BlockDeviceMapping']------ * 'lcClassicLinkVPCId' @::@ 'Maybe' 'Text'------ * 'lcClassicLinkVPCSecurityGroups' @::@ ['Text']------ * 'lcCreatedTime' @::@ 'UTCTime'------ * 'lcEbsOptimized' @::@ 'Maybe' 'Bool'------ * 'lcIamInstanceProfile' @::@ 'Maybe' 'Text'------ * 'lcImageId' @::@ 'Text'------ * 'lcInstanceMonitoring' @::@ 'Maybe' 'InstanceMonitoring'------ * 'lcInstanceType' @::@ 'Text'------ * 'lcKernelId' @::@ 'Maybe' 'Text'------ * 'lcKeyName' @::@ 'Maybe' 'Text'------ * 'lcLaunchConfigurationARN' @::@ 'Maybe' 'Text'------ * 'lcLaunchConfigurationName' @::@ 'Text'------ * 'lcPlacementTenancy' @::@ 'Maybe' 'Text'------ * 'lcRamdiskId' @::@ 'Maybe' 'Text'------ * 'lcSecurityGroups' @::@ ['Text']------ * 'lcSpotPrice' @::@ 'Maybe' 'Text'------ * 'lcUserData' @::@ 'Maybe' 'Text'----launchConfiguration :: Text -- ^ 'lcLaunchConfigurationName'-                    -> Text -- ^ 'lcImageId'-                    -> Text -- ^ 'lcInstanceType'-                    -> UTCTime -- ^ 'lcCreatedTime'-                    -> LaunchConfiguration-launchConfiguration p1 p2 p3 p4 = LaunchConfiguration-    { _lcLaunchConfigurationName      = p1-    , _lcImageId                      = p2-    , _lcInstanceType                 = p3-    , _lcCreatedTime                  = withIso _Time (const id) p4-    , _lcLaunchConfigurationARN       = Nothing-    , _lcKeyName                      = Nothing-    , _lcSecurityGroups               = mempty-    , _lcClassicLinkVPCId             = Nothing-    , _lcClassicLinkVPCSecurityGroups = mempty-    , _lcUserData                     = Nothing-    , _lcKernelId                     = Nothing-    , _lcRamdiskId                    = Nothing-    , _lcBlockDeviceMappings          = mempty-    , _lcInstanceMonitoring           = Nothing-    , _lcSpotPrice                    = Nothing-    , _lcIamInstanceProfile           = Nothing-    , _lcEbsOptimized                 = Nothing-    , _lcAssociatePublicIpAddress     = Nothing-    , _lcPlacementTenancy             = Nothing-    }---- | Specifies whether the EC2 instances are associated with a public IP address ('true') or not ('false').-lcAssociatePublicIpAddress :: Lens' LaunchConfiguration (Maybe Bool)-lcAssociatePublicIpAddress =-    lens _lcAssociatePublicIpAddress-        (\s a -> s { _lcAssociatePublicIpAddress = a })---- | A block device mapping that specifies how block devices are exposed to the--- instance. Each mapping is made up of a 'virtualName' and a 'deviceName'.-lcBlockDeviceMappings :: Lens' LaunchConfiguration [BlockDeviceMapping]-lcBlockDeviceMappings =-    lens _lcBlockDeviceMappings (\s a -> s { _lcBlockDeviceMappings = a })-        . _List---- | The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.--- This parameter can only be used if you are launching EC2-Classic instances.--- For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html ClassicLink> in the /Amazon Elastic Compute CloudUser Guide/.-lcClassicLinkVPCId :: Lens' LaunchConfiguration (Maybe Text)-lcClassicLinkVPCId =-    lens _lcClassicLinkVPCId (\s a -> s { _lcClassicLinkVPCId = a })---- | The IDs of one or more security groups for the VPC specified in 'ClassicLinkVPCId'. This parameter is required if 'ClassicLinkVPCId' is specified, and cannot be--- used otherwise. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html ClassicLink> in the /Amazon ElasticCompute Cloud User Guide/.-lcClassicLinkVPCSecurityGroups :: Lens' LaunchConfiguration [Text]-lcClassicLinkVPCSecurityGroups =-    lens _lcClassicLinkVPCSecurityGroups-        (\s a -> s { _lcClassicLinkVPCSecurityGroups = a })-            . _List---- | The creation date and time for the launch configuration.-lcCreatedTime :: Lens' LaunchConfiguration UTCTime-lcCreatedTime = lens _lcCreatedTime (\s a -> s { _lcCreatedTime = a }) . _Time---- | Controls whether the instance is optimized for EBS I/O ('true') or not ('false').-lcEbsOptimized :: Lens' LaunchConfiguration (Maybe Bool)-lcEbsOptimized = lens _lcEbsOptimized (\s a -> s { _lcEbsOptimized = a })---- | The name or Amazon Resource Name (ARN) of the instance profile associated--- with the IAM role for the instance.-lcIamInstanceProfile :: Lens' LaunchConfiguration (Maybe Text)-lcIamInstanceProfile =-    lens _lcIamInstanceProfile (\s a -> s { _lcIamInstanceProfile = a })---- | The ID of the Amazon Machine Image (AMI).-lcImageId :: Lens' LaunchConfiguration Text-lcImageId = lens _lcImageId (\s a -> s { _lcImageId = a })---- | Controls whether instances in this group are launched with detailed--- monitoring.-lcInstanceMonitoring :: Lens' LaunchConfiguration (Maybe InstanceMonitoring)-lcInstanceMonitoring =-    lens _lcInstanceMonitoring (\s a -> s { _lcInstanceMonitoring = a })---- | The instance type for the EC2 instances.-lcInstanceType :: Lens' LaunchConfiguration Text-lcInstanceType = lens _lcInstanceType (\s a -> s { _lcInstanceType = a })---- | The ID of the kernel associated with the AMI.-lcKernelId :: Lens' LaunchConfiguration (Maybe Text)-lcKernelId = lens _lcKernelId (\s a -> s { _lcKernelId = a })---- | The name of the key pair.-lcKeyName :: Lens' LaunchConfiguration (Maybe Text)-lcKeyName = lens _lcKeyName (\s a -> s { _lcKeyName = a })---- | The Amazon Resource Name (ARN) of the launch configuration.-lcLaunchConfigurationARN :: Lens' LaunchConfiguration (Maybe Text)-lcLaunchConfigurationARN =-    lens _lcLaunchConfigurationARN-        (\s a -> s { _lcLaunchConfigurationARN = a })---- | The name of the launch configuration.-lcLaunchConfigurationName :: Lens' LaunchConfiguration Text-lcLaunchConfigurationName =-    lens _lcLaunchConfigurationName-        (\s a -> s { _lcLaunchConfigurationName = a })---- | The tenancy of the instance, either 'default' or 'dedicated'. An instance with 'dedicated' tenancy runs in an isolated, single-tenant hardware and can only be launched--- in a VPC.-lcPlacementTenancy :: Lens' LaunchConfiguration (Maybe Text)-lcPlacementTenancy =-    lens _lcPlacementTenancy (\s a -> s { _lcPlacementTenancy = a })---- | The ID of the RAM disk associated with the AMI.-lcRamdiskId :: Lens' LaunchConfiguration (Maybe Text)-lcRamdiskId = lens _lcRamdiskId (\s a -> s { _lcRamdiskId = a })---- | The security groups to associate with the EC2 instances.-lcSecurityGroups :: Lens' LaunchConfiguration [Text]-lcSecurityGroups = lens _lcSecurityGroups (\s a -> s { _lcSecurityGroups = a }) . _List---- | The price to bid when launching Spot Instances.-lcSpotPrice :: Lens' LaunchConfiguration (Maybe Text)-lcSpotPrice = lens _lcSpotPrice (\s a -> s { _lcSpotPrice = a })---- | The user data available to the EC2 instances.-lcUserData :: Lens' LaunchConfiguration (Maybe Text)-lcUserData = lens _lcUserData (\s a -> s { _lcUserData = a })--instance FromXML LaunchConfiguration where-    parseXML x = LaunchConfiguration-        <$> x .@? "AssociatePublicIpAddress"-        <*> x .@? "BlockDeviceMappings" .!@ mempty-        <*> x .@? "ClassicLinkVPCId"-        <*> x .@? "ClassicLinkVPCSecurityGroups" .!@ mempty-        <*> x .@  "CreatedTime"-        <*> x .@? "EbsOptimized"-        <*> x .@? "IamInstanceProfile"-        <*> x .@  "ImageId"-        <*> x .@? "InstanceMonitoring"-        <*> x .@  "InstanceType"-        <*> x .@? "KernelId"-        <*> x .@? "KeyName"-        <*> x .@? "LaunchConfigurationARN"-        <*> x .@  "LaunchConfigurationName"-        <*> x .@? "PlacementTenancy"-        <*> x .@? "RamdiskId"-        <*> x .@? "SecurityGroups" .!@ mempty-        <*> x .@? "SpotPrice"-        <*> x .@? "UserData"--instance ToQuery LaunchConfiguration where-    toQuery LaunchConfiguration{..} = mconcat-        [ "AssociatePublicIpAddress"     =? _lcAssociatePublicIpAddress-        , "BlockDeviceMappings"          =? _lcBlockDeviceMappings-        , "ClassicLinkVPCId"             =? _lcClassicLinkVPCId-        , "ClassicLinkVPCSecurityGroups" =? _lcClassicLinkVPCSecurityGroups-        , "CreatedTime"                  =? _lcCreatedTime-        , "EbsOptimized"                 =? _lcEbsOptimized-        , "IamInstanceProfile"           =? _lcIamInstanceProfile-        , "ImageId"                      =? _lcImageId-        , "InstanceMonitoring"           =? _lcInstanceMonitoring-        , "InstanceType"                 =? _lcInstanceType-        , "KernelId"                     =? _lcKernelId-        , "KeyName"                      =? _lcKeyName-        , "LaunchConfigurationARN"       =? _lcLaunchConfigurationARN-        , "LaunchConfigurationName"      =? _lcLaunchConfigurationName-        , "PlacementTenancy"             =? _lcPlacementTenancy-        , "RamdiskId"                    =? _lcRamdiskId-        , "SecurityGroups"               =? _lcSecurityGroups-        , "SpotPrice"                    =? _lcSpotPrice-        , "UserData"                     =? _lcUserData-        ]--data AutoScalingGroup = AutoScalingGroup-    { _asgAutoScalingGroupARN     :: Maybe Text-    , _asgAutoScalingGroupName    :: Text-    , _asgAvailabilityZones       :: List1 "member" Text-    , _asgCreatedTime             :: ISO8601-    , _asgDefaultCooldown         :: Int-    , _asgDesiredCapacity         :: Int-    , _asgEnabledMetrics          :: List "member" EnabledMetric-    , _asgHealthCheckGracePeriod  :: Maybe Int-    , _asgHealthCheckType         :: Text-    , _asgInstances               :: List "member" Instance-    , _asgLaunchConfigurationName :: Text-    , _asgLoadBalancerNames       :: List "member" Text-    , _asgMaxSize                 :: Int-    , _asgMinSize                 :: Int-    , _asgPlacementGroup          :: Maybe Text-    , _asgStatus                  :: Maybe Text-    , _asgSuspendedProcesses      :: List "member" SuspendedProcess-    , _asgTags                    :: List "member" TagDescription-    , _asgTerminationPolicies     :: List "member" Text-    , _asgVPCZoneIdentifier       :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'AutoScalingGroup' constructor.------ The fields accessible through corresponding lenses are:------ * 'asgAutoScalingGroupARN' @::@ 'Maybe' 'Text'------ * 'asgAutoScalingGroupName' @::@ 'Text'------ * 'asgAvailabilityZones' @::@ 'NonEmpty' 'Text'------ * 'asgCreatedTime' @::@ 'UTCTime'------ * 'asgDefaultCooldown' @::@ 'Int'------ * 'asgDesiredCapacity' @::@ 'Int'------ * 'asgEnabledMetrics' @::@ ['EnabledMetric']------ * 'asgHealthCheckGracePeriod' @::@ 'Maybe' 'Int'------ * 'asgHealthCheckType' @::@ 'Text'------ * 'asgInstances' @::@ ['Instance']------ * 'asgLaunchConfigurationName' @::@ 'Text'------ * 'asgLoadBalancerNames' @::@ ['Text']------ * 'asgMaxSize' @::@ 'Int'------ * 'asgMinSize' @::@ 'Int'------ * 'asgPlacementGroup' @::@ 'Maybe' 'Text'------ * 'asgStatus' @::@ 'Maybe' 'Text'------ * 'asgSuspendedProcesses' @::@ ['SuspendedProcess']------ * 'asgTags' @::@ ['TagDescription']------ * 'asgTerminationPolicies' @::@ ['Text']------ * 'asgVPCZoneIdentifier' @::@ 'Maybe' 'Text'----autoScalingGroup :: Text -- ^ 'asgAutoScalingGroupName'-                 -> Text -- ^ 'asgLaunchConfigurationName'-                 -> Int -- ^ 'asgMinSize'-                 -> Int -- ^ 'asgMaxSize'-                 -> Int -- ^ 'asgDesiredCapacity'-                 -> Int -- ^ 'asgDefaultCooldown'-                 -> NonEmpty Text -- ^ 'asgAvailabilityZones'-                 -> Text -- ^ 'asgHealthCheckType'-                 -> UTCTime -- ^ 'asgCreatedTime'-                 -> AutoScalingGroup-autoScalingGroup p1 p2 p3 p4 p5 p6 p7 p8 p9 = AutoScalingGroup-    { _asgAutoScalingGroupName    = p1-    , _asgLaunchConfigurationName = p2-    , _asgMinSize                 = p3-    , _asgMaxSize                 = p4-    , _asgDesiredCapacity         = p5-    , _asgDefaultCooldown         = p6-    , _asgAvailabilityZones       = withIso _List1 (const id) p7-    , _asgHealthCheckType         = p8-    , _asgCreatedTime             = withIso _Time (const id) p9-    , _asgAutoScalingGroupARN     = Nothing-    , _asgLoadBalancerNames       = mempty-    , _asgHealthCheckGracePeriod  = Nothing-    , _asgInstances               = mempty-    , _asgSuspendedProcesses      = mempty-    , _asgPlacementGroup          = Nothing-    , _asgVPCZoneIdentifier       = Nothing-    , _asgEnabledMetrics          = mempty-    , _asgStatus                  = Nothing-    , _asgTags                    = mempty-    , _asgTerminationPolicies     = mempty-    }---- | The Amazon Resource Name (ARN) of the group.-asgAutoScalingGroupARN :: Lens' AutoScalingGroup (Maybe Text)-asgAutoScalingGroupARN =-    lens _asgAutoScalingGroupARN (\s a -> s { _asgAutoScalingGroupARN = a })---- | The name of the group.-asgAutoScalingGroupName :: Lens' AutoScalingGroup Text-asgAutoScalingGroupName =-    lens _asgAutoScalingGroupName (\s a -> s { _asgAutoScalingGroupName = a })---- | One or more Availability Zones for the group.-asgAvailabilityZones :: Lens' AutoScalingGroup (NonEmpty Text)-asgAvailabilityZones =-    lens _asgAvailabilityZones (\s a -> s { _asgAvailabilityZones = a })-        . _List1---- | The date and time the group was created.-asgCreatedTime :: Lens' AutoScalingGroup UTCTime-asgCreatedTime = lens _asgCreatedTime (\s a -> s { _asgCreatedTime = a }) . _Time---- | The number of seconds after a scaling activity completes before any further--- scaling activities can start.-asgDefaultCooldown :: Lens' AutoScalingGroup Int-asgDefaultCooldown =-    lens _asgDefaultCooldown (\s a -> s { _asgDefaultCooldown = a })---- | The size of the group.-asgDesiredCapacity :: Lens' AutoScalingGroup Int-asgDesiredCapacity =-    lens _asgDesiredCapacity (\s a -> s { _asgDesiredCapacity = a })---- | The metrics enabled for this Auto Scaling group.-asgEnabledMetrics :: Lens' AutoScalingGroup [EnabledMetric]-asgEnabledMetrics =-    lens _asgEnabledMetrics (\s a -> s { _asgEnabledMetrics = a })-        . _List---- | 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.-asgHealthCheckGracePeriod :: Lens' AutoScalingGroup (Maybe Int)-asgHealthCheckGracePeriod =-    lens _asgHealthCheckGracePeriod-        (\s a -> s { _asgHealthCheckGracePeriod = a })---- | The service of interest for the health status check, which can be either 'EC2'--- for Amazon EC2 or 'ELB' for Elastic Load Balancing.-asgHealthCheckType :: Lens' AutoScalingGroup Text-asgHealthCheckType =-    lens _asgHealthCheckType (\s a -> s { _asgHealthCheckType = a })---- | The EC2 instances associated with the group.-asgInstances :: Lens' AutoScalingGroup [Instance]-asgInstances = lens _asgInstances (\s a -> s { _asgInstances = a }) . _List---- | The name of the associated launch configuration.-asgLaunchConfigurationName :: Lens' AutoScalingGroup Text-asgLaunchConfigurationName =-    lens _asgLaunchConfigurationName-        (\s a -> s { _asgLaunchConfigurationName = a })---- | One or more load balancers associated with the group.-asgLoadBalancerNames :: Lens' AutoScalingGroup [Text]-asgLoadBalancerNames =-    lens _asgLoadBalancerNames (\s a -> s { _asgLoadBalancerNames = a })-        . _List---- | The maximum size of the group.-asgMaxSize :: Lens' AutoScalingGroup Int-asgMaxSize = lens _asgMaxSize (\s a -> s { _asgMaxSize = a })---- | The minimum size of the group.-asgMinSize :: Lens' AutoScalingGroup Int-asgMinSize = lens _asgMinSize (\s a -> s { _asgMinSize = a })---- | The name of the placement group into which you'll launch your instances, if--- any. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html Placement Groups>.-asgPlacementGroup :: Lens' AutoScalingGroup (Maybe Text)-asgPlacementGroup =-    lens _asgPlacementGroup (\s a -> s { _asgPlacementGroup = a })---- | The current state of the Auto Scaling group when a 'DeleteAutoScalingGroup'--- action is in progress.-asgStatus :: Lens' AutoScalingGroup (Maybe Text)-asgStatus = lens _asgStatus (\s a -> s { _asgStatus = a })---- | The suspended processes associated with the group.-asgSuspendedProcesses :: Lens' AutoScalingGroup [SuspendedProcess]-asgSuspendedProcesses =-    lens _asgSuspendedProcesses (\s a -> s { _asgSuspendedProcesses = a })-        . _List---- | The tags for the Auto Scaling group.-asgTags :: Lens' AutoScalingGroup [TagDescription]-asgTags = lens _asgTags (\s a -> s { _asgTags = a }) . _List---- | The termination policies for this Auto Scaling group.-asgTerminationPolicies :: Lens' AutoScalingGroup [Text]-asgTerminationPolicies =-    lens _asgTerminationPolicies (\s a -> s { _asgTerminationPolicies = a })-        . _List---- | One or more subnet IDs, if applicable, separated by commas.------ If you specify 'VPCZoneIdentifier' and 'AvailabilityZones', ensure that the--- Availability Zones of the subnets match the values for 'AvailabilityZones'.-asgVPCZoneIdentifier :: Lens' AutoScalingGroup (Maybe Text)-asgVPCZoneIdentifier =-    lens _asgVPCZoneIdentifier (\s a -> s { _asgVPCZoneIdentifier = a })--instance FromXML AutoScalingGroup where-    parseXML x = AutoScalingGroup-        <$> x .@? "AutoScalingGroupARN"-        <*> x .@  "AutoScalingGroupName"-        <*> x .@  "AvailabilityZones"-        <*> x .@  "CreatedTime"-        <*> x .@  "DefaultCooldown"-        <*> x .@  "DesiredCapacity"-        <*> x .@? "EnabledMetrics" .!@ mempty-        <*> x .@? "HealthCheckGracePeriod"-        <*> x .@  "HealthCheckType"-        <*> x .@? "Instances" .!@ mempty-        <*> x .@  "LaunchConfigurationName"-        <*> x .@? "LoadBalancerNames" .!@ mempty-        <*> x .@  "MaxSize"-        <*> x .@  "MinSize"-        <*> x .@? "PlacementGroup"-        <*> x .@? "Status"-        <*> x .@? "SuspendedProcesses" .!@ mempty-        <*> x .@? "Tags" .!@ mempty-        <*> x .@? "TerminationPolicies" .!@ mempty-        <*> x .@? "VPCZoneIdentifier"--instance ToQuery AutoScalingGroup where-    toQuery AutoScalingGroup{..} = mconcat-        [ "AutoScalingGroupARN"     =? _asgAutoScalingGroupARN-        , "AutoScalingGroupName"    =? _asgAutoScalingGroupName-        , "AvailabilityZones"       =? _asgAvailabilityZones-        , "CreatedTime"             =? _asgCreatedTime-        , "DefaultCooldown"         =? _asgDefaultCooldown-        , "DesiredCapacity"         =? _asgDesiredCapacity-        , "EnabledMetrics"          =? _asgEnabledMetrics-        , "HealthCheckGracePeriod"  =? _asgHealthCheckGracePeriod-        , "HealthCheckType"         =? _asgHealthCheckType-        , "Instances"               =? _asgInstances-        , "LaunchConfigurationName" =? _asgLaunchConfigurationName-        , "LoadBalancerNames"       =? _asgLoadBalancerNames-        , "MaxSize"                 =? _asgMaxSize-        , "MinSize"                 =? _asgMinSize-        , "PlacementGroup"          =? _asgPlacementGroup-        , "Status"                  =? _asgStatus-        , "SuspendedProcesses"      =? _asgSuspendedProcesses-        , "Tags"                    =? _asgTags-        , "TerminationPolicies"     =? _asgTerminationPolicies-        , "VPCZoneIdentifier"       =? _asgVPCZoneIdentifier-        ]--data ScalingPolicy = ScalingPolicy-    { _sp1AdjustmentType       :: Maybe Text-    , _sp1Alarms               :: List "member" Alarm-    , _sp1AutoScalingGroupName :: Maybe Text-    , _sp1Cooldown             :: Maybe Int-    , _sp1MinAdjustmentStep    :: Maybe Int-    , _sp1PolicyARN            :: Maybe Text-    , _sp1PolicyName           :: Maybe Text-    , _sp1ScalingAdjustment    :: Maybe Int-    } deriving (Eq, Read, Show)---- | 'ScalingPolicy' constructor.------ The fields accessible through corresponding lenses are:------ * 'sp1AdjustmentType' @::@ 'Maybe' 'Text'------ * 'sp1Alarms' @::@ ['Alarm']------ * 'sp1AutoScalingGroupName' @::@ 'Maybe' 'Text'------ * 'sp1Cooldown' @::@ 'Maybe' 'Int'------ * 'sp1MinAdjustmentStep' @::@ 'Maybe' 'Int'------ * 'sp1PolicyARN' @::@ 'Maybe' 'Text'------ * 'sp1PolicyName' @::@ 'Maybe' 'Text'------ * 'sp1ScalingAdjustment' @::@ 'Maybe' 'Int'----scalingPolicy :: ScalingPolicy-scalingPolicy = ScalingPolicy-    { _sp1AutoScalingGroupName = Nothing-    , _sp1PolicyName           = Nothing-    , _sp1ScalingAdjustment    = Nothing-    , _sp1AdjustmentType       = Nothing-    , _sp1Cooldown             = Nothing-    , _sp1PolicyARN            = Nothing-    , _sp1Alarms               = mempty-    , _sp1MinAdjustmentStep    = Nothing-    }---- | Specifies whether the 'ScalingAdjustment' is an absolute number or a percentage--- of the current capacity. Valid values are 'ChangeInCapacity', 'ExactCapacity',--- and 'PercentChangeInCapacity'.-sp1AdjustmentType :: Lens' ScalingPolicy (Maybe Text)-sp1AdjustmentType =-    lens _sp1AdjustmentType (\s a -> s { _sp1AdjustmentType = a })---- | The CloudWatch Alarms related to the policy.-sp1Alarms :: Lens' ScalingPolicy [Alarm]-sp1Alarms = lens _sp1Alarms (\s a -> s { _sp1Alarms = a }) . _List---- | The name of the Auto Scaling group associated with this scaling policy.-sp1AutoScalingGroupName :: Lens' ScalingPolicy (Maybe Text)-sp1AutoScalingGroupName =-    lens _sp1AutoScalingGroupName (\s a -> s { _sp1AutoScalingGroupName = a })---- | The amount of time, in seconds, after a scaling activity completes before any--- further trigger-related scaling activities can start.-sp1Cooldown :: Lens' ScalingPolicy (Maybe Int)-sp1Cooldown = lens _sp1Cooldown (\s a -> s { _sp1Cooldown = a })---- | Changes the 'DesiredCapacity' of the Auto Scaling group by at least the--- specified number of instances.-sp1MinAdjustmentStep :: Lens' ScalingPolicy (Maybe Int)-sp1MinAdjustmentStep =-    lens _sp1MinAdjustmentStep (\s a -> s { _sp1MinAdjustmentStep = a })---- | The Amazon Resource Name (ARN) of the policy.-sp1PolicyARN :: Lens' ScalingPolicy (Maybe Text)-sp1PolicyARN = lens _sp1PolicyARN (\s a -> s { _sp1PolicyARN = a })---- | The name of the scaling policy.-sp1PolicyName :: Lens' ScalingPolicy (Maybe Text)-sp1PolicyName = lens _sp1PolicyName (\s a -> s { _sp1PolicyName = a })---- | The number associated with the specified adjustment type. A positive value--- adds to the current capacity and a negative value removes from the current--- capacity.-sp1ScalingAdjustment :: Lens' ScalingPolicy (Maybe Int)-sp1ScalingAdjustment =-    lens _sp1ScalingAdjustment (\s a -> s { _sp1ScalingAdjustment = a })--instance FromXML ScalingPolicy where-    parseXML x = ScalingPolicy-        <$> x .@? "AdjustmentType"-        <*> x .@? "Alarms" .!@ mempty-        <*> x .@? "AutoScalingGroupName"-        <*> x .@? "Cooldown"-        <*> x .@? "MinAdjustmentStep"-        <*> x .@? "PolicyARN"-        <*> x .@? "PolicyName"-        <*> x .@? "ScalingAdjustment"--instance ToQuery ScalingPolicy where-    toQuery ScalingPolicy{..} = mconcat-        [ "AdjustmentType"       =? _sp1AdjustmentType-        , "Alarms"               =? _sp1Alarms-        , "AutoScalingGroupName" =? _sp1AutoScalingGroupName-        , "Cooldown"             =? _sp1Cooldown-        , "MinAdjustmentStep"    =? _sp1MinAdjustmentStep-        , "PolicyARN"            =? _sp1PolicyARN-        , "PolicyName"           =? _sp1PolicyName-        , "ScalingAdjustment"    =? _sp1ScalingAdjustment-        ]--newtype InstanceMonitoring = InstanceMonitoring-    { _imEnabled :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)---- | 'InstanceMonitoring' constructor.------ The fields accessible through corresponding lenses are:------ * 'imEnabled' @::@ 'Maybe' 'Bool'----instanceMonitoring :: InstanceMonitoring-instanceMonitoring = InstanceMonitoring-    { _imEnabled = Nothing-    }---- | If 'True', instance monitoring is enabled.-imEnabled :: Lens' InstanceMonitoring (Maybe Bool)-imEnabled = lens _imEnabled (\s a -> s { _imEnabled = a })--instance FromXML InstanceMonitoring where-    parseXML x = InstanceMonitoring-        <$> x .@? "Enabled"--instance ToQuery InstanceMonitoring where-    toQuery InstanceMonitoring{..} = mconcat-        [ "Enabled" =? _imEnabled-        ]--data ScheduledUpdateGroupAction = ScheduledUpdateGroupAction-    { _sugaAutoScalingGroupName :: Maybe Text-    , _sugaDesiredCapacity      :: Maybe Int-    , _sugaEndTime              :: Maybe ISO8601-    , _sugaMaxSize              :: Maybe Int-    , _sugaMinSize              :: Maybe Int-    , _sugaRecurrence           :: Maybe Text-    , _sugaScheduledActionARN   :: Maybe Text-    , _sugaScheduledActionName  :: Maybe Text-    , _sugaStartTime            :: Maybe ISO8601-    , _sugaTime                 :: Maybe ISO8601-    } deriving (Eq, Ord, Read, Show)---- | 'ScheduledUpdateGroupAction' constructor.------ The fields accessible through corresponding lenses are:------ * 'sugaAutoScalingGroupName' @::@ 'Maybe' 'Text'------ * 'sugaDesiredCapacity' @::@ 'Maybe' 'Int'------ * 'sugaEndTime' @::@ 'Maybe' 'UTCTime'------ * 'sugaMaxSize' @::@ 'Maybe' 'Int'------ * 'sugaMinSize' @::@ 'Maybe' 'Int'------ * 'sugaRecurrence' @::@ 'Maybe' 'Text'------ * 'sugaScheduledActionARN' @::@ 'Maybe' 'Text'------ * 'sugaScheduledActionName' @::@ 'Maybe' 'Text'------ * 'sugaStartTime' @::@ 'Maybe' 'UTCTime'------ * 'sugaTime' @::@ 'Maybe' 'UTCTime'----scheduledUpdateGroupAction :: ScheduledUpdateGroupAction-scheduledUpdateGroupAction = ScheduledUpdateGroupAction-    { _sugaAutoScalingGroupName = Nothing-    , _sugaScheduledActionName  = Nothing-    , _sugaScheduledActionARN   = Nothing-    , _sugaTime                 = Nothing-    , _sugaStartTime            = Nothing-    , _sugaEndTime              = Nothing-    , _sugaRecurrence           = Nothing-    , _sugaMinSize              = Nothing-    , _sugaMaxSize              = Nothing-    , _sugaDesiredCapacity      = Nothing-    }---- | The name of the group.-sugaAutoScalingGroupName :: Lens' ScheduledUpdateGroupAction (Maybe Text)-sugaAutoScalingGroupName =-    lens _sugaAutoScalingGroupName-        (\s a -> s { _sugaAutoScalingGroupName = a })---- | The number of instances you prefer to maintain in the group.-sugaDesiredCapacity :: Lens' ScheduledUpdateGroupAction (Maybe Int)-sugaDesiredCapacity =-    lens _sugaDesiredCapacity (\s a -> s { _sugaDesiredCapacity = a })---- | The time that the action is scheduled to end. This value can be up to one--- month in the future.-sugaEndTime :: Lens' ScheduledUpdateGroupAction (Maybe UTCTime)-sugaEndTime = lens _sugaEndTime (\s a -> s { _sugaEndTime = a }) . mapping _Time---- | The maximum size of the group.-sugaMaxSize :: Lens' ScheduledUpdateGroupAction (Maybe Int)-sugaMaxSize = lens _sugaMaxSize (\s a -> s { _sugaMaxSize = a })---- | The minimum size of the group.-sugaMinSize :: Lens' ScheduledUpdateGroupAction (Maybe Int)-sugaMinSize = lens _sugaMinSize (\s a -> s { _sugaMinSize = a })---- | The regular schedule that an action occurs.-sugaRecurrence :: Lens' ScheduledUpdateGroupAction (Maybe Text)-sugaRecurrence = lens _sugaRecurrence (\s a -> s { _sugaRecurrence = a })---- | The Amazon Resource Name (ARN) of the scheduled action.-sugaScheduledActionARN :: Lens' ScheduledUpdateGroupAction (Maybe Text)-sugaScheduledActionARN =-    lens _sugaScheduledActionARN (\s a -> s { _sugaScheduledActionARN = a })---- | The name of the scheduled action.-sugaScheduledActionName :: Lens' ScheduledUpdateGroupAction (Maybe Text)-sugaScheduledActionName =-    lens _sugaScheduledActionName (\s a -> s { _sugaScheduledActionName = a })---- | The time that the action is scheduled to begin. This value can be up to one--- month in the future.------ When 'StartTime' and 'EndTime' are specified with 'Recurrence', they form the--- boundaries of when the recurring action will start and stop.-sugaStartTime :: Lens' ScheduledUpdateGroupAction (Maybe UTCTime)-sugaStartTime = lens _sugaStartTime (\s a -> s { _sugaStartTime = a }) . mapping _Time---- | 'Time' is deprecated.------ The time that the action is scheduled to begin. 'Time' is an alias for 'StartTime'.-sugaTime :: Lens' ScheduledUpdateGroupAction (Maybe UTCTime)-sugaTime = lens _sugaTime (\s a -> s { _sugaTime = a }) . mapping _Time--instance FromXML ScheduledUpdateGroupAction where-    parseXML x = ScheduledUpdateGroupAction-        <$> x .@? "AutoScalingGroupName"-        <*> x .@? "DesiredCapacity"-        <*> x .@? "EndTime"-        <*> x .@? "MaxSize"-        <*> x .@? "MinSize"-        <*> x .@? "Recurrence"-        <*> x .@? "ScheduledActionARN"-        <*> x .@? "ScheduledActionName"-        <*> x .@? "StartTime"-        <*> x .@? "Time"--instance ToQuery ScheduledUpdateGroupAction where-    toQuery ScheduledUpdateGroupAction{..} = mconcat-        [ "AutoScalingGroupName" =? _sugaAutoScalingGroupName-        , "DesiredCapacity"      =? _sugaDesiredCapacity-        , "EndTime"              =? _sugaEndTime-        , "MaxSize"              =? _sugaMaxSize-        , "MinSize"              =? _sugaMinSize-        , "Recurrence"           =? _sugaRecurrence-        , "ScheduledActionARN"   =? _sugaScheduledActionARN-        , "ScheduledActionName"  =? _sugaScheduledActionName-        , "StartTime"            =? _sugaStartTime-        , "Time"                 =? _sugaTime-        ]--data ScalingProcessQuery = ScalingProcessQuery-    { _spqAutoScalingGroupName :: Text-    , _spqScalingProcesses     :: List "member" Text-    } deriving (Eq, Ord, Read, Show)---- | 'ScalingProcessQuery' constructor.------ The fields accessible through corresponding lenses are:------ * 'spqAutoScalingGroupName' @::@ 'Text'------ * 'spqScalingProcesses' @::@ ['Text']----scalingProcessQuery :: Text -- ^ 'spqAutoScalingGroupName'-                    -> ScalingProcessQuery-scalingProcessQuery p1 = ScalingProcessQuery-    { _spqAutoScalingGroupName = p1-    , _spqScalingProcesses     = mempty-    }---- | The name or Amazon Resource Name (ARN) of the Auto Scaling group.-spqAutoScalingGroupName :: Lens' ScalingProcessQuery Text-spqAutoScalingGroupName =-    lens _spqAutoScalingGroupName (\s a -> s { _spqAutoScalingGroupName = a })---- | One or more of the following processes:------ Launch Terminate HealthCheck ReplaceUnhealthy AZRebalance AlarmNotification--- ScheduledActions AddToLoadBalancer-spqScalingProcesses :: Lens' ScalingProcessQuery [Text]-spqScalingProcesses =-    lens _spqScalingProcesses (\s a -> s { _spqScalingProcesses = a })-        . _List--instance FromXML ScalingProcessQuery where-    parseXML x = ScalingProcessQuery-        <$> x .@  "AutoScalingGroupName"-        <*> x .@? "ScalingProcesses" .!@ mempty--instance ToQuery ScalingProcessQuery where-    toQuery ScalingProcessQuery{..} = mconcat-        [ "AutoScalingGroupName" =? _spqAutoScalingGroupName-        , "ScalingProcesses"     =? _spqScalingProcesses-        ]--data Ebs = Ebs-    { _ebsDeleteOnTermination :: Maybe Bool-    , _ebsIops                :: Maybe Nat-    , _ebsSnapshotId          :: Maybe Text-    , _ebsVolumeSize          :: Maybe Nat-    , _ebsVolumeType          :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'Ebs' constructor.------ The fields accessible through corresponding lenses are:------ * 'ebsDeleteOnTermination' @::@ 'Maybe' 'Bool'------ * 'ebsIops' @::@ 'Maybe' 'Natural'------ * 'ebsSnapshotId' @::@ 'Maybe' 'Text'------ * 'ebsVolumeSize' @::@ 'Maybe' 'Natural'------ * 'ebsVolumeType' @::@ 'Maybe' 'Text'----ebs :: Ebs-ebs = Ebs-    { _ebsSnapshotId          = Nothing-    , _ebsVolumeSize          = Nothing-    , _ebsVolumeType          = Nothing-    , _ebsDeleteOnTermination = Nothing-    , _ebsIops                = Nothing-    }---- | Indicates whether to delete the volume on instance termination.------ Default: 'true'-ebsDeleteOnTermination :: Lens' Ebs (Maybe Bool)-ebsDeleteOnTermination =-    lens _ebsDeleteOnTermination (\s a -> s { _ebsDeleteOnTermination = a })---- | For Provisioned IOPS (SSD) volumes only. The number of I/O operations per--- second (IOPS) to provision for the volume.------ Valid values: Range is 100 to 4000.------ Default: None-ebsIops :: Lens' Ebs (Maybe Natural)-ebsIops = lens _ebsIops (\s a -> s { _ebsIops = a }) . mapping _Nat---- | The ID of the snapshot.-ebsSnapshotId :: Lens' Ebs (Maybe Text)-ebsSnapshotId = lens _ebsSnapshotId (\s a -> s { _ebsSnapshotId = a })---- | The volume size, in gigabytes.------ Valid values: If the volume type is 'io1', the minimum size of the volume is--- 10 GiB. If you specify 'SnapshotId' and 'VolumeSize', 'VolumeSize' must be equal to--- or larger than the size of the snapshot.------ Default: If you create a volume from a snapshot and you don't specify a--- volume size, the default is the size of the snapshot.------ Required: Required when the volume type is 'io1'.-ebsVolumeSize :: Lens' Ebs (Maybe Natural)-ebsVolumeSize = lens _ebsVolumeSize (\s a -> s { _ebsVolumeSize = a }) . mapping _Nat---- | The volume type.------ Valid values: 'standard | io1 | gp2'------ Default: 'standard'-ebsVolumeType :: Lens' Ebs (Maybe Text)-ebsVolumeType = lens _ebsVolumeType (\s a -> s { _ebsVolumeType = a })--instance FromXML Ebs where-    parseXML x = Ebs-        <$> x .@? "DeleteOnTermination"-        <*> x .@? "Iops"-        <*> x .@? "SnapshotId"-        <*> x .@? "VolumeSize"-        <*> x .@? "VolumeType"--instance ToQuery Ebs where-    toQuery Ebs{..} = mconcat-        [ "DeleteOnTermination" =? _ebsDeleteOnTermination-        , "Iops"                =? _ebsIops-        , "SnapshotId"          =? _ebsSnapshotId-        , "VolumeSize"          =? _ebsVolumeSize-        , "VolumeType"          =? _ebsVolumeType-        ]--newtype AdjustmentType = AdjustmentType-    { _atAdjustmentType :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)---- | 'AdjustmentType' constructor.------ The fields accessible through corresponding lenses are:------ * 'atAdjustmentType' @::@ 'Maybe' 'Text'----adjustmentType :: AdjustmentType-adjustmentType = AdjustmentType-    { _atAdjustmentType = Nothing-    }---- | The policy adjustment type. The valid values are 'ChangeInCapacity', 'ExactCapacity', and 'PercentChangeInCapacity'.------ For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-scale-based-on-demand.html Dynamic Scaling> in the /Auto Scaling Developer Guide/--- .-atAdjustmentType :: Lens' AdjustmentType (Maybe Text)-atAdjustmentType = lens _atAdjustmentType (\s a -> s { _atAdjustmentType = a })--instance FromXML AdjustmentType where-    parseXML x = AdjustmentType-        <$> x .@? "AdjustmentType"--instance ToQuery AdjustmentType where-    toQuery AdjustmentType{..} = mconcat-        [ "AdjustmentType" =? _atAdjustmentType-        ]--newtype MetricCollectionType = MetricCollectionType-    { _mctMetric :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)---- | 'MetricCollectionType' constructor.------ The fields accessible through corresponding lenses are:------ * 'mctMetric' @::@ 'Maybe' 'Text'----metricCollectionType :: MetricCollectionType-metricCollectionType = MetricCollectionType-    { _mctMetric = Nothing-    }---- | The metric.-mctMetric :: Lens' MetricCollectionType (Maybe Text)-mctMetric = lens _mctMetric (\s a -> s { _mctMetric = a })--instance FromXML MetricCollectionType where-    parseXML x = MetricCollectionType-        <$> x .@? "Metric"--instance ToQuery MetricCollectionType where-    toQuery MetricCollectionType{..} = mconcat-        [ "Metric" =? _mctMetric-        ]--data LifecycleHook = LifecycleHook-    { _lhAutoScalingGroupName  :: Maybe Text-    , _lhDefaultResult         :: Maybe Text-    , _lhGlobalTimeout         :: Maybe Int-    , _lhHeartbeatTimeout      :: Maybe Int-    , _lhLifecycleHookName     :: Maybe Text-    , _lhLifecycleTransition   :: Maybe Text-    , _lhNotificationMetadata  :: Maybe Text-    , _lhNotificationTargetARN :: Maybe Text-    , _lhRoleARN               :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'LifecycleHook' constructor.------ The fields accessible through corresponding lenses are:------ * 'lhAutoScalingGroupName' @::@ 'Maybe' 'Text'------ * 'lhDefaultResult' @::@ 'Maybe' 'Text'------ * 'lhGlobalTimeout' @::@ 'Maybe' 'Int'------ * 'lhHeartbeatTimeout' @::@ 'Maybe' 'Int'------ * 'lhLifecycleHookName' @::@ 'Maybe' 'Text'------ * 'lhLifecycleTransition' @::@ 'Maybe' 'Text'------ * 'lhNotificationMetadata' @::@ 'Maybe' 'Text'------ * 'lhNotificationTargetARN' @::@ 'Maybe' 'Text'------ * 'lhRoleARN' @::@ 'Maybe' 'Text'----lifecycleHook :: LifecycleHook-lifecycleHook = LifecycleHook-    { _lhLifecycleHookName     = Nothing-    , _lhAutoScalingGroupName  = Nothing-    , _lhLifecycleTransition   = Nothing-    , _lhNotificationTargetARN = Nothing-    , _lhRoleARN               = Nothing-    , _lhNotificationMetadata  = Nothing-    , _lhHeartbeatTimeout      = Nothing-    , _lhGlobalTimeout         = Nothing-    , _lhDefaultResult         = Nothing-    }---- | The name of the Auto Scaling group for the lifecycle hook.-lhAutoScalingGroupName :: Lens' LifecycleHook (Maybe Text)-lhAutoScalingGroupName =-    lens _lhAutoScalingGroupName (\s a -> s { _lhAutoScalingGroupName = a })---- | Defines the action the Auto Scaling group should take when the lifecycle hook--- timeout elapses or if an unexpected failure occurs. The valid values are 'CONTINUE' and 'ABANDON'. The default value is 'CONTINUE'.-lhDefaultResult :: Lens' LifecycleHook (Maybe Text)-lhDefaultResult = lens _lhDefaultResult (\s a -> s { _lhDefaultResult = a })---- | The maximum length of time an instance can remain in a 'Pending:Wait' or 'Terminating:Wait' state. Currently, this value is set at 48 hours.-lhGlobalTimeout :: Lens' LifecycleHook (Maybe Int)-lhGlobalTimeout = lens _lhGlobalTimeout (\s a -> s { _lhGlobalTimeout = a })---- | The amount of time that can elapse before the lifecycle hook times out. When--- the lifecycle hook times out, Auto Scaling performs the action defined in the 'DefaultResult' parameter. You can prevent the lifecycle hook from timing out--- by calling 'RecordLifecycleActionHeartbeat'.-lhHeartbeatTimeout :: Lens' LifecycleHook (Maybe Int)-lhHeartbeatTimeout =-    lens _lhHeartbeatTimeout (\s a -> s { _lhHeartbeatTimeout = a })---- | The name of the lifecycle hook.-lhLifecycleHookName :: Lens' LifecycleHook (Maybe Text)-lhLifecycleHookName =-    lens _lhLifecycleHookName (\s a -> s { _lhLifecycleHookName = a })---- | The state of the EC2 instance to which you want to attach the lifecycle hook.--- For a list of lifecycle hook types, see 'DescribeLifecycleHooks'.-lhLifecycleTransition :: Lens' LifecycleHook (Maybe Text)-lhLifecycleTransition =-    lens _lhLifecycleTransition (\s a -> s { _lhLifecycleTransition = a })---- | Additional information that you want to include any time Auto Scaling sends a--- message to the notification target.-lhNotificationMetadata :: Lens' LifecycleHook (Maybe Text)-lhNotificationMetadata =-    lens _lhNotificationMetadata (\s a -> s { _lhNotificationMetadata = a })---- | The ARN of the notification target that Auto Scaling uses to notify you when--- an instance is in the transition state for the lifecycle hook. This ARN--- target can be either an SQS queue or an SNS topic. The notification message--- sent to the target includes the following:------ Lifecycle action token User account ID Name of the Auto Scaling group Lifecycle hook name--- EC2 instance ID Lifecycle transition Notification metadata-lhNotificationTargetARN :: Lens' LifecycleHook (Maybe Text)-lhNotificationTargetARN =-    lens _lhNotificationTargetARN (\s a -> s { _lhNotificationTargetARN = a })---- | The ARN of the IAM role that allows the Auto Scaling group to publish to the--- specified notification target.-lhRoleARN :: Lens' LifecycleHook (Maybe Text)-lhRoleARN = lens _lhRoleARN (\s a -> s { _lhRoleARN = a })--instance FromXML LifecycleHook where-    parseXML x = LifecycleHook-        <$> x .@? "AutoScalingGroupName"-        <*> x .@? "DefaultResult"-        <*> x .@? "GlobalTimeout"-        <*> x .@? "HeartbeatTimeout"-        <*> x .@? "LifecycleHookName"-        <*> x .@? "LifecycleTransition"-        <*> x .@? "NotificationMetadata"-        <*> x .@? "NotificationTargetARN"-        <*> x .@? "RoleARN"--instance ToQuery LifecycleHook where-    toQuery LifecycleHook{..} = mconcat-        [ "AutoScalingGroupName"  =? _lhAutoScalingGroupName-        , "DefaultResult"         =? _lhDefaultResult-        , "GlobalTimeout"         =? _lhGlobalTimeout-        , "HeartbeatTimeout"      =? _lhHeartbeatTimeout-        , "LifecycleHookName"     =? _lhLifecycleHookName-        , "LifecycleTransition"   =? _lhLifecycleTransition-        , "NotificationMetadata"  =? _lhNotificationMetadata-        , "NotificationTargetARN" =? _lhNotificationTargetARN-        , "RoleARN"               =? _lhRoleARN-        ]--data Activity = Activity-    { _aActivityId           :: Text-    , _aAutoScalingGroupName :: Text-    , _aCause                :: Text-    , _aDescription          :: Maybe Text-    , _aDetails              :: Maybe Text-    , _aEndTime              :: Maybe ISO8601-    , _aProgress             :: Maybe Int-    , _aStartTime            :: ISO8601-    , _aStatusCode           :: ScalingActivityStatusCode-    , _aStatusMessage        :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'Activity' constructor.------ The fields accessible through corresponding lenses are:------ * 'aActivityId' @::@ 'Text'------ * 'aAutoScalingGroupName' @::@ 'Text'------ * 'aCause' @::@ 'Text'------ * 'aDescription' @::@ 'Maybe' 'Text'------ * 'aDetails' @::@ 'Maybe' 'Text'------ * 'aEndTime' @::@ 'Maybe' 'UTCTime'------ * 'aProgress' @::@ 'Maybe' 'Int'------ * 'aStartTime' @::@ 'UTCTime'------ * 'aStatusCode' @::@ 'ScalingActivityStatusCode'------ * 'aStatusMessage' @::@ 'Maybe' 'Text'----activity :: Text -- ^ 'aActivityId'-         -> Text -- ^ 'aAutoScalingGroupName'-         -> Text -- ^ 'aCause'-         -> UTCTime -- ^ 'aStartTime'-         -> ScalingActivityStatusCode -- ^ 'aStatusCode'-         -> Activity-activity p1 p2 p3 p4 p5 = Activity-    { _aActivityId           = p1-    , _aAutoScalingGroupName = p2-    , _aCause                = p3-    , _aStartTime            = withIso _Time (const id) p4-    , _aStatusCode           = p5-    , _aDescription          = Nothing-    , _aEndTime              = Nothing-    , _aStatusMessage        = Nothing-    , _aProgress             = Nothing-    , _aDetails              = Nothing-    }---- | The ID of the activity.-aActivityId :: Lens' Activity Text-aActivityId = lens _aActivityId (\s a -> s { _aActivityId = a })---- | The name of the Auto Scaling group.-aAutoScalingGroupName :: Lens' Activity Text-aAutoScalingGroupName =-    lens _aAutoScalingGroupName (\s a -> s { _aAutoScalingGroupName = a })---- | The reason the activity was begun.-aCause :: Lens' Activity Text-aCause = lens _aCause (\s a -> s { _aCause = a })---- | A friendly, more verbose description of the scaling activity.-aDescription :: Lens' Activity (Maybe Text)-aDescription = lens _aDescription (\s a -> s { _aDescription = a })---- | The details about the scaling activity.-aDetails :: Lens' Activity (Maybe Text)-aDetails = lens _aDetails (\s a -> s { _aDetails = a })---- | The end time of this activity.-aEndTime :: Lens' Activity (Maybe UTCTime)-aEndTime = lens _aEndTime (\s a -> s { _aEndTime = a }) . mapping _Time---- | A value between 0 and 100 that indicates the progress of the activity.-aProgress :: Lens' Activity (Maybe Int)-aProgress = lens _aProgress (\s a -> s { _aProgress = a })---- | The start time of this activity.-aStartTime :: Lens' Activity UTCTime-aStartTime = lens _aStartTime (\s a -> s { _aStartTime = a }) . _Time---- | The current status of the activity.-aStatusCode :: Lens' Activity ScalingActivityStatusCode-aStatusCode = lens _aStatusCode (\s a -> s { _aStatusCode = a })---- | A friendly, more verbose description of the activity status.-aStatusMessage :: Lens' Activity (Maybe Text)-aStatusMessage = lens _aStatusMessage (\s a -> s { _aStatusMessage = a })--instance FromXML Activity where-    parseXML x = Activity-        <$> x .@  "ActivityId"-        <*> x .@  "AutoScalingGroupName"-        <*> x .@  "Cause"-        <*> x .@? "Description"-        <*> x .@? "Details"-        <*> x .@? "EndTime"-        <*> x .@? "Progress"-        <*> x .@  "StartTime"-        <*> x .@  "StatusCode"-        <*> x .@? "StatusMessage"--instance ToQuery Activity where-    toQuery Activity{..} = mconcat-        [ "ActivityId"           =? _aActivityId-        , "AutoScalingGroupName" =? _aAutoScalingGroupName-        , "Cause"                =? _aCause-        , "Description"          =? _aDescription-        , "Details"              =? _aDetails-        , "EndTime"              =? _aEndTime-        , "Progress"             =? _aProgress-        , "StartTime"            =? _aStartTime-        , "StatusCode"           =? _aStatusCode-        , "StatusMessage"        =? _aStatusMessage-        ]--data SuspendedProcess = SuspendedProcess-    { _spProcessName      :: Maybe Text-    , _spSuspensionReason :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'SuspendedProcess' constructor.------ The fields accessible through corresponding lenses are:------ * 'spProcessName' @::@ 'Maybe' 'Text'------ * 'spSuspensionReason' @::@ 'Maybe' 'Text'----suspendedProcess :: SuspendedProcess-suspendedProcess = SuspendedProcess-    { _spProcessName      = Nothing-    , _spSuspensionReason = Nothing-    }---- | The name of the suspended process.-spProcessName :: Lens' SuspendedProcess (Maybe Text)-spProcessName = lens _spProcessName (\s a -> s { _spProcessName = a })---- | The reason that the process was suspended.-spSuspensionReason :: Lens' SuspendedProcess (Maybe Text)-spSuspensionReason =-    lens _spSuspensionReason (\s a -> s { _spSuspensionReason = a })--instance FromXML SuspendedProcess where-    parseXML x = SuspendedProcess-        <$> x .@? "ProcessName"-        <*> x .@? "SuspensionReason"--instance ToQuery SuspendedProcess where-    toQuery SuspendedProcess{..} = mconcat-        [ "ProcessName"      =? _spProcessName-        , "SuspensionReason" =? _spSuspensionReason-        ]--newtype MetricGranularityType = MetricGranularityType-    { _mgtGranularity :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)---- | 'MetricGranularityType' constructor.------ The fields accessible through corresponding lenses are:------ * 'mgtGranularity' @::@ 'Maybe' 'Text'----metricGranularityType :: MetricGranularityType-metricGranularityType = MetricGranularityType-    { _mgtGranularity = Nothing-    }---- | The granularity.-mgtGranularity :: Lens' MetricGranularityType (Maybe Text)-mgtGranularity = lens _mgtGranularity (\s a -> s { _mgtGranularity = a })--instance FromXML MetricGranularityType where-    parseXML x = MetricGranularityType-        <$> x .@? "Granularity"--instance ToQuery MetricGranularityType where-    toQuery MetricGranularityType{..} = mconcat-        [ "Granularity" =? _mgtGranularity-        ]--data Filter = Filter-    { _fName   :: Text-    , _fValues :: List "member" Text-    } deriving (Eq, Ord, Read, Show)---- | 'Filter' constructor.------ The fields accessible through corresponding lenses are:------ * 'fName' @::@ 'Text'------ * 'fValues' @::@ ['Text']----filter' :: Text -- ^ 'fName'-        -> Filter-filter' p1 = Filter-    { _fName   = p1-    , _fValues = mempty-    }---- | The name of the filter. The valid values are: '"auto-scaling-group"', '"key"', '"value"', and '"propagate-at-launch"'.-fName :: Lens' Filter Text-fName = lens _fName (\s a -> s { _fName = a })---- | The value of the filter.-fValues :: Lens' Filter [Text]-fValues = lens _fValues (\s a -> s { _fValues = a }) . _List--instance FromXML Filter where-    parseXML x = Filter-        <$> x .@  "Name"-        <*> x .@? "Values" .!@ mempty--instance ToQuery Filter where-    toQuery Filter{..} = mconcat-        [ "Name"   =? _fName-        , "Values" =? _fValues-        ]--newtype ProcessType = ProcessType-    { _ptProcessName :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)---- | 'ProcessType' constructor.------ The fields accessible through corresponding lenses are:------ * 'ptProcessName' @::@ 'Text'----processType :: Text -- ^ 'ptProcessName'-            -> ProcessType-processType p1 = ProcessType-    { _ptProcessName = p1-    }---- | The name of the process.-ptProcessName :: Lens' ProcessType Text-ptProcessName = lens _ptProcessName (\s a -> s { _ptProcessName = a })--instance FromXML ProcessType where-    parseXML x = ProcessType-        <$> x .@  "ProcessName"--instance ToQuery ProcessType where-    toQuery ProcessType{..} = mconcat-        [ "ProcessName" =? _ptProcessName-        ]--data Alarm = Alarm-    { _aAlarmARN  :: Maybe Text-    , _aAlarmName :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'Alarm' constructor.------ The fields accessible through corresponding lenses are:------ * 'aAlarmARN' @::@ 'Maybe' 'Text'------ * 'aAlarmName' @::@ 'Maybe' 'Text'----alarm :: Alarm-alarm = Alarm-    { _aAlarmName = Nothing-    , _aAlarmARN  = Nothing-    }---- | The Amazon Resource Name (ARN) of the alarm.-aAlarmARN :: Lens' Alarm (Maybe Text)-aAlarmARN = lens _aAlarmARN (\s a -> s { _aAlarmARN = a })---- | The name of the alarm.-aAlarmName :: Lens' Alarm (Maybe Text)-aAlarmName = lens _aAlarmName (\s a -> s { _aAlarmName = a })--instance FromXML Alarm where-    parseXML x = Alarm-        <$> x .@? "AlarmARN"-        <*> x .@? "AlarmName"--instance ToQuery Alarm where-    toQuery Alarm{..} = mconcat-        [ "AlarmARN"  =? _aAlarmARN-        , "AlarmName" =? _aAlarmName-        ]--data EnabledMetric = EnabledMetric-    { _emGranularity :: Maybe Text-    , _emMetric      :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'EnabledMetric' constructor.------ The fields accessible through corresponding lenses are:------ * 'emGranularity' @::@ 'Maybe' 'Text'------ * 'emMetric' @::@ 'Maybe' 'Text'----enabledMetric :: EnabledMetric-enabledMetric = EnabledMetric-    { _emMetric      = Nothing-    , _emGranularity = Nothing-    }---- | The granularity of the metric.-emGranularity :: Lens' EnabledMetric (Maybe Text)-emGranularity = lens _emGranularity (\s a -> s { _emGranularity = a })---- | The name of the metric.-emMetric :: Lens' EnabledMetric (Maybe Text)-emMetric = lens _emMetric (\s a -> s { _emMetric = a })--instance FromXML EnabledMetric where-    parseXML x = EnabledMetric-        <$> x .@? "Granularity"-        <*> x .@? "Metric"--instance ToQuery EnabledMetric where-    toQuery EnabledMetric{..} = mconcat-        [ "Granularity" =? _emGranularity-        , "Metric"      =? _emMetric-        ]--data Instance = Instance-    { _iAvailabilityZone        :: Text-    , _iHealthStatus            :: Text-    , _iInstanceId              :: Text-    , _iLaunchConfigurationName :: Text-    , _iLifecycleState          :: LifecycleState-    } deriving (Eq, Read, Show)---- | 'Instance' constructor.------ The fields accessible through corresponding lenses are:------ * 'iAvailabilityZone' @::@ 'Text'------ * 'iHealthStatus' @::@ 'Text'------ * 'iInstanceId' @::@ 'Text'------ * 'iLaunchConfigurationName' @::@ 'Text'------ * 'iLifecycleState' @::@ 'LifecycleState'----instance' :: Text -- ^ 'iInstanceId'-          -> Text -- ^ 'iAvailabilityZone'-          -> LifecycleState -- ^ 'iLifecycleState'-          -> Text -- ^ 'iHealthStatus'-          -> Text -- ^ 'iLaunchConfigurationName'-          -> Instance-instance' p1 p2 p3 p4 p5 = Instance-    { _iInstanceId              = p1-    , _iAvailabilityZone        = p2-    , _iLifecycleState          = p3-    , _iHealthStatus            = p4-    , _iLaunchConfigurationName = p5-    }---- | The Availability Zone associated with this instance.-iAvailabilityZone :: Lens' Instance Text-iAvailabilityZone =-    lens _iAvailabilityZone (\s a -> s { _iAvailabilityZone = a })---- | The health status of the instance.-iHealthStatus :: Lens' Instance Text-iHealthStatus = lens _iHealthStatus (\s a -> s { _iHealthStatus = a })---- | The ID of the instance.-iInstanceId :: Lens' Instance Text-iInstanceId = lens _iInstanceId (\s a -> s { _iInstanceId = a })---- | The launch configuration associated with the instance.-iLaunchConfigurationName :: Lens' Instance Text-iLaunchConfigurationName =-    lens _iLaunchConfigurationName-        (\s a -> s { _iLaunchConfigurationName = a })---- | A description of the current lifecycle state.------ The 'Quarantined' lifecycle state is not used.-------iLifecycleState :: Lens' Instance LifecycleState-iLifecycleState = lens _iLifecycleState (\s a -> s { _iLifecycleState = a })--instance FromXML Instance where-    parseXML x = Instance-        <$> x .@  "AvailabilityZone"-        <*> x .@  "HealthStatus"-        <*> x .@  "InstanceId"-        <*> x .@  "LaunchConfigurationName"-        <*> x .@  "LifecycleState"--instance ToQuery Instance where-    toQuery Instance{..} = mconcat-        [ "AvailabilityZone"        =? _iAvailabilityZone-        , "HealthStatus"            =? _iHealthStatus-        , "InstanceId"              =? _iInstanceId-        , "LaunchConfigurationName" =? _iLaunchConfigurationName-        , "LifecycleState"          =? _iLifecycleState-        ]--data LifecycleState-    = Detached           -- ^ Detached-    | Detaching          -- ^ Detaching-    | EnteringStandby    -- ^ EnteringStandby-    | InService          -- ^ InService-    | Pending            -- ^ Pending-    | PendingProceed     -- ^ Pending:Proceed-    | PendingWait        -- ^ Pending:Wait-    | Quarantined        -- ^ Quarantined-    | Standby            -- ^ Standby-    | Terminated         -- ^ Terminated-    | Terminating        -- ^ Terminating-    | TerminatingProceed -- ^ Terminating:Proceed-    | TerminatingWait    -- ^ Terminating:Wait-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable LifecycleState--instance FromText LifecycleState where-    parser = takeLowerText >>= \case-        "detached"            -> pure Detached-        "detaching"           -> pure Detaching-        "enteringstandby"     -> pure EnteringStandby-        "inservice"           -> pure InService-        "pending"             -> pure Pending-        "pending:proceed"     -> pure PendingProceed-        "pending:wait"        -> pure PendingWait-        "quarantined"         -> pure Quarantined-        "standby"             -> pure Standby-        "terminated"          -> pure Terminated-        "terminating"         -> pure Terminating-        "terminating:proceed" -> pure TerminatingProceed-        "terminating:wait"    -> pure TerminatingWait-        e                     -> fail $-            "Failure parsing LifecycleState from " ++ show e--instance ToText LifecycleState where-    toText = \case-        Detached           -> "Detached"-        Detaching          -> "Detaching"-        EnteringStandby    -> "EnteringStandby"-        InService          -> "InService"-        Pending            -> "Pending"-        PendingProceed     -> "Pending:Proceed"-        PendingWait        -> "Pending:Wait"-        Quarantined        -> "Quarantined"-        Standby            -> "Standby"-        Terminated         -> "Terminated"-        Terminating        -> "Terminating"-        TerminatingProceed -> "Terminating:Proceed"-        TerminatingWait    -> "Terminating:Wait"--instance ToByteString LifecycleState-instance ToHeader     LifecycleState-instance ToQuery      LifecycleState--instance FromXML LifecycleState where-    parseXML = parseXMLText "LifecycleState"--data AutoScalingInstanceDetails = AutoScalingInstanceDetails-    { _asidAutoScalingGroupName    :: Text-    , _asidAvailabilityZone        :: Text-    , _asidHealthStatus            :: Text-    , _asidInstanceId              :: Text-    , _asidLaunchConfigurationName :: Text-    , _asidLifecycleState          :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'AutoScalingInstanceDetails' constructor.------ The fields accessible through corresponding lenses are:------ * 'asidAutoScalingGroupName' @::@ 'Text'------ * 'asidAvailabilityZone' @::@ 'Text'------ * 'asidHealthStatus' @::@ 'Text'------ * 'asidInstanceId' @::@ 'Text'------ * 'asidLaunchConfigurationName' @::@ 'Text'------ * 'asidLifecycleState' @::@ 'Text'----autoScalingInstanceDetails :: Text -- ^ 'asidInstanceId'-                           -> Text -- ^ 'asidAutoScalingGroupName'-                           -> Text -- ^ 'asidAvailabilityZone'-                           -> Text -- ^ 'asidLifecycleState'-                           -> Text -- ^ 'asidHealthStatus'-                           -> Text -- ^ 'asidLaunchConfigurationName'-                           -> AutoScalingInstanceDetails-autoScalingInstanceDetails p1 p2 p3 p4 p5 p6 = AutoScalingInstanceDetails-    { _asidInstanceId              = p1-    , _asidAutoScalingGroupName    = p2-    , _asidAvailabilityZone        = p3-    , _asidLifecycleState          = p4-    , _asidHealthStatus            = p5-    , _asidLaunchConfigurationName = p6-    }---- | The name of the Auto Scaling group associated with the instance.-asidAutoScalingGroupName :: Lens' AutoScalingInstanceDetails Text-asidAutoScalingGroupName =-    lens _asidAutoScalingGroupName-        (\s a -> s { _asidAutoScalingGroupName = a })---- | The Availability Zone for the instance.-asidAvailabilityZone :: Lens' AutoScalingInstanceDetails Text-asidAvailabilityZone =-    lens _asidAvailabilityZone (\s a -> s { _asidAvailabilityZone = a })---- | The health status of this instance. "Healthy" means that the instance is--- healthy and should remain in service. "Unhealthy" means that the instance is--- unhealthy and Auto Scaling should terminate and replace it.-asidHealthStatus :: Lens' AutoScalingInstanceDetails Text-asidHealthStatus = lens _asidHealthStatus (\s a -> s { _asidHealthStatus = a })---- | The ID of the instance.-asidInstanceId :: Lens' AutoScalingInstanceDetails Text-asidInstanceId = lens _asidInstanceId (\s a -> s { _asidInstanceId = a })---- | The launch configuration associated with the instance.-asidLaunchConfigurationName :: Lens' AutoScalingInstanceDetails Text-asidLaunchConfigurationName =-    lens _asidLaunchConfigurationName-        (\s a -> s { _asidLaunchConfigurationName = a })---- | The lifecycle state for the instance. For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html#AutoScalingStates Auto ScalingInstance States> in the /Auto Scaling Developer Guide/.-asidLifecycleState :: Lens' AutoScalingInstanceDetails Text-asidLifecycleState =-    lens _asidLifecycleState (\s a -> s { _asidLifecycleState = a })--instance FromXML AutoScalingInstanceDetails where-    parseXML x = AutoScalingInstanceDetails-        <$> x .@  "AutoScalingGroupName"-        <*> x .@  "AvailabilityZone"-        <*> x .@  "HealthStatus"-        <*> x .@  "InstanceId"-        <*> x .@  "LaunchConfigurationName"-        <*> x .@  "LifecycleState"--instance ToQuery AutoScalingInstanceDetails where-    toQuery AutoScalingInstanceDetails{..} = mconcat-        [ "AutoScalingGroupName"    =? _asidAutoScalingGroupName-        , "AvailabilityZone"        =? _asidAvailabilityZone-        , "HealthStatus"            =? _asidHealthStatus-        , "InstanceId"              =? _asidInstanceId-        , "LaunchConfigurationName" =? _asidLaunchConfigurationName-        , "LifecycleState"          =? _asidLifecycleState-        ]--data ScalingActivityStatusCode-    = Cancelled                       -- ^ Cancelled-    | Failed                          -- ^ Failed-    | InProgress                      -- ^ InProgress-    | MidLifecycleAction              -- ^ MidLifecycleAction-    | PreInService                    -- ^ PreInService-    | Successful                      -- ^ Successful-    | WaitingForELBConnectionDraining -- ^ WaitingForELBConnectionDraining-    | WaitingForInstanceId            -- ^ WaitingForInstanceId-    | WaitingForSpotInstanceId        -- ^ WaitingForSpotInstanceId-    | WaitingForSpotInstanceRequestId -- ^ WaitingForSpotInstanceRequestId-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ScalingActivityStatusCode--instance FromText ScalingActivityStatusCode where-    parser = takeLowerText >>= \case-        "cancelled"                       -> pure Cancelled-        "failed"                          -> pure Failed-        "inprogress"                      -> pure InProgress-        "midlifecycleaction"              -> pure MidLifecycleAction-        "preinservice"                    -> pure PreInService-        "successful"                      -> pure Successful-        "waitingforelbconnectiondraining" -> pure WaitingForELBConnectionDraining-        "waitingforinstanceid"            -> pure WaitingForInstanceId-        "waitingforspotinstanceid"        -> pure WaitingForSpotInstanceId-        "waitingforspotinstancerequestid" -> pure WaitingForSpotInstanceRequestId-        e                                 -> fail $-            "Failure parsing ScalingActivityStatusCode from " ++ show e--instance ToText ScalingActivityStatusCode where-    toText = \case-        Cancelled                       -> "Cancelled"-        Failed                          -> "Failed"-        InProgress                      -> "InProgress"-        MidLifecycleAction              -> "MidLifecycleAction"-        PreInService                    -> "PreInService"-        Successful                      -> "Successful"-        WaitingForELBConnectionDraining -> "WaitingForELBConnectionDraining"-        WaitingForInstanceId            -> "WaitingForInstanceId"-        WaitingForSpotInstanceId        -> "WaitingForSpotInstanceId"-        WaitingForSpotInstanceRequestId -> "WaitingForSpotInstanceRequestId"--instance ToByteString ScalingActivityStatusCode-instance ToHeader     ScalingActivityStatusCode-instance ToQuery      ScalingActivityStatusCode--instance FromXML ScalingActivityStatusCode where-    parseXML = parseXMLText "ScalingActivityStatusCode"+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeFamilies      #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.AutoScaling.Types+-- 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)+--+module Network.AWS.AutoScaling.Types+    (+    -- * Service+      AutoScaling++    -- * Errors+    , _LimitExceededFault+    , _AlreadyExistsFault+    , _ResourceInUseFault+    , _InvalidNextToken+    , _ScalingActivityInProgressFault+    , _ResourceContentionFault++    -- * LifecycleState+    , LifecycleState (..)++    -- * ScalingActivityStatusCode+    , ScalingActivityStatusCode (..)++    -- * Activity+    , Activity+    , activity+    , aProgress+    , aStatusMessage+    , aDetails+    , aEndTime+    , aDescription+    , aActivityId+    , aAutoScalingGroupName+    , aCause+    , aStartTime+    , aStatusCode++    -- * AdjustmentType+    , AdjustmentType+    , adjustmentType+    , atAdjustmentType++    -- * Alarm+    , Alarm+    , alarm+    , aAlarmName+    , aAlarmARN++    -- * AutoScalingGroup+    , AutoScalingGroup+    , autoScalingGroup+    , asgStatus+    , asgTerminationPolicies+    , asgHealthCheckGracePeriod+    , asgVPCZoneIdentifier+    , asgEnabledMetrics+    , asgInstances+    , asgAutoScalingGroupARN+    , asgSuspendedProcesses+    , asgPlacementGroup+    , asgLoadBalancerNames+    , asgTags+    , asgAutoScalingGroupName+    , asgLaunchConfigurationName+    , asgMinSize+    , asgMaxSize+    , asgDesiredCapacity+    , asgDefaultCooldown+    , asgAvailabilityZones+    , asgHealthCheckType+    , asgCreatedTime++    -- * AutoScalingInstanceDetails+    , AutoScalingInstanceDetails+    , autoScalingInstanceDetails+    , asidInstanceId+    , asidAutoScalingGroupName+    , asidAvailabilityZone+    , asidLifecycleState+    , asidHealthStatus+    , asidLaunchConfigurationName++    -- * BlockDeviceMapping+    , BlockDeviceMapping+    , blockDeviceMapping+    , bdmVirtualName+    , bdmNoDevice+    , bdmEBS+    , bdmDeviceName++    -- * EBS+    , EBS+    , ebs+    , ebsDeleteOnTermination+    , ebsVolumeSize+    , ebsIOPS+    , ebsVolumeType+    , ebsSnapshotId++    -- * EnabledMetric+    , EnabledMetric+    , enabledMetric+    , emGranularity+    , emMetric++    -- * Filter+    , Filter+    , filter'+    , fValues+    , fName++    -- * Instance+    , Instance+    , instance'+    , iInstanceId+    , iAvailabilityZone+    , iLifecycleState+    , iHealthStatus+    , iLaunchConfigurationName++    -- * InstanceMonitoring+    , InstanceMonitoring+    , instanceMonitoring+    , imEnabled++    -- * LaunchConfiguration+    , LaunchConfiguration+    , launchConfiguration+    , lcSecurityGroups+    , lcAssociatePublicIPAddress+    , lcInstanceMonitoring+    , lcSpotPrice+    , lcKeyName+    , lcClassicLinkVPCSecurityGroups+    , lcRAMDiskId+    , lcKernelId+    , lcEBSOptimized+    , lcUserData+    , lcClassicLinkVPCId+    , lcIAMInstanceProfile+    , lcLaunchConfigurationARN+    , lcPlacementTenancy+    , lcBlockDeviceMappings+    , lcLaunchConfigurationName+    , lcImageId+    , lcInstanceType+    , lcCreatedTime++    -- * LifecycleHook+    , LifecycleHook+    , lifecycleHook+    , lhDefaultResult+    , lhLifecycleHookName+    , lhHeartbeatTimeout+    , lhAutoScalingGroupName+    , lhNotificationMetadata+    , lhGlobalTimeout+    , lhRoleARN+    , lhLifecycleTransition+    , lhNotificationTargetARN++    -- * LoadBalancerState+    , LoadBalancerState+    , loadBalancerState+    , lbsState+    , lbsLoadBalancerName++    -- * MetricCollectionType+    , MetricCollectionType+    , metricCollectionType+    , mctMetric++    -- * MetricGranularityType+    , MetricGranularityType+    , metricGranularityType+    , mgtGranularity++    -- * NotificationConfiguration+    , NotificationConfiguration+    , notificationConfiguration+    , ncTopicARN+    , ncAutoScalingGroupName+    , ncNotificationType++    -- * ProcessType+    , ProcessType+    , processType+    , ptProcessName++    -- * ScalingPolicy+    , ScalingPolicy+    , scalingPolicy+    , sEstimatedInstanceWarmup+    , sMinAdjustmentStep+    , sPolicyName+    , sPolicyType+    , sStepAdjustments+    , sAdjustmentType+    , sScalingAdjustment+    , sAutoScalingGroupName+    , sCooldown+    , sPolicyARN+    , sAlarms+    , sMetricAggregationType+    , sMinAdjustmentMagnitude++    -- * ScalingProcessQuery+    , ScalingProcessQuery+    , scalingProcessQuery+    , spqScalingProcesses+    , spqAutoScalingGroupName++    -- * ScheduledUpdateGroupAction+    , ScheduledUpdateGroupAction+    , scheduledUpdateGroupAction+    , sugaScheduledActionARN+    , sugaTime+    , sugaStartTime+    , sugaScheduledActionName+    , sugaMaxSize+    , sugaDesiredCapacity+    , sugaRecurrence+    , sugaMinSize+    , sugaEndTime+    , sugaAutoScalingGroupName++    -- * StepAdjustment+    , StepAdjustment+    , stepAdjustment+    , saMetricIntervalLowerBound+    , saMetricIntervalUpperBound+    , saScalingAdjustment++    -- * SuspendedProcess+    , SuspendedProcess+    , suspendedProcess+    , spProcessName+    , spSuspensionReason++    -- * Tag+    , Tag+    , tag+    , tagKey+    , tagResourceId+    , tagResourceType+    , tagPropagateAtLaunch+    , tagValue++    -- * TagDescription+    , TagDescription+    , tagDescription+    , tdResourceId+    , tdResourceType+    , tdKey+    , tdPropagateAtLaunch+    , tdValue+    ) where++import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.AutoScaling.Types.Sum+import           Network.AWS.Prelude+import           Network.AWS.Sign.V4++-- | Version @2011-01-01@ of the Amazon Auto Scaling SDK.+data AutoScaling++instance AWSService AutoScaling where+    type Sg AutoScaling = V4+    service = const svc+      where+        svc =+            Service+            { _svcAbbrev = "AutoScaling"+            , _svcPrefix = "autoscaling"+            , _svcVersion = "2011-01-01"+            , _svcEndpoint = defaultEndpoint svc+            , _svcTimeout = Just 70+            , _svcStatus = statusSuccess+            , _svcError = parseXMLError+            , _svcRetry = retry+            }+        retry =+            Exponential+            { _retryBase = 5.0e-2+            , _retryGrowth = 2+            , _retryAttempts = 5+            , _retryCheck = check+            }+        check e+          | has (hasCode "ThrottlingException" . hasStatus 400) e =+              Just "throttling_exception"+          | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"+          | has (hasStatus 503) e = Just "service_unavailable"+          | has (hasStatus 500) e = Just "general_server_error"+          | has (hasStatus 509) e = Just "limit_exceeded"+          | otherwise = Nothing++-- | You have already reached a limit for your Auto Scaling resources (for+-- example, groups, launch configurations, or lifecycle hooks). For more+-- information, see DescribeAccountLimits.+_LimitExceededFault :: AsError a => Getting (First ServiceError) a ServiceError+_LimitExceededFault = _ServiceError . hasStatus 400 . hasCode "LimitExceeded"++-- | You already have an Auto Scaling group or launch configuration with this+-- name.+_AlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError+_AlreadyExistsFault = _ServiceError . hasStatus 400 . hasCode "AlreadyExists"++-- | The Auto Scaling group or launch configuration can\'t be deleted because+-- it is in use.+_ResourceInUseFault :: AsError a => Getting (First ServiceError) a ServiceError+_ResourceInUseFault = _ServiceError . hasStatus 400 . hasCode "ResourceInUse"++-- | The 'NextToken' value is not valid.+_InvalidNextToken :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidNextToken = _ServiceError . hasStatus 400 . hasCode "InvalidNextToken"++-- | The Auto Scaling group can\'t be deleted because there are scaling+-- activities in progress.+_ScalingActivityInProgressFault :: AsError a => Getting (First ServiceError) a ServiceError+_ScalingActivityInProgressFault =+    _ServiceError . hasStatus 400 . hasCode "ScalingActivityInProgress"++-- | You already have a pending update to an Auto Scaling resource (for+-- example, a group, instance, or load balancer).+_ResourceContentionFault :: AsError a => Getting (First ServiceError) a ServiceError+_ResourceContentionFault =+    _ServiceError . hasStatus 500 . hasCode "ResourceContention"
+ gen/Network/AWS/AutoScaling/Types/Product.hs view
@@ -0,0 +1,2040 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.AutoScaling.Types.Product+-- 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)+--+module Network.AWS.AutoScaling.Types.Product where++import           Network.AWS.AutoScaling.Types.Sum+import           Network.AWS.Prelude++-- | Describes scaling activity, which is a long-running process that+-- represents a change to your Auto Scaling group, such as changing its+-- size or replacing an instance.+--+-- /See:/ 'activity' smart constructor.+data Activity = Activity'+    { _aProgress             :: !(Maybe Int)+    , _aStatusMessage        :: !(Maybe Text)+    , _aDetails              :: !(Maybe Text)+    , _aEndTime              :: !(Maybe ISO8601)+    , _aDescription          :: !(Maybe Text)+    , _aActivityId           :: !Text+    , _aAutoScalingGroupName :: !Text+    , _aCause                :: !Text+    , _aStartTime            :: !ISO8601+    , _aStatusCode           :: !ScalingActivityStatusCode+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Activity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aProgress'+--+-- * 'aStatusMessage'+--+-- * 'aDetails'+--+-- * 'aEndTime'+--+-- * 'aDescription'+--+-- * 'aActivityId'+--+-- * 'aAutoScalingGroupName'+--+-- * 'aCause'+--+-- * 'aStartTime'+--+-- * 'aStatusCode'+activity+    :: Text -- ^ 'aActivityId'+    -> Text -- ^ 'aAutoScalingGroupName'+    -> Text -- ^ 'aCause'+    -> UTCTime -- ^ 'aStartTime'+    -> ScalingActivityStatusCode -- ^ 'aStatusCode'+    -> Activity+activity pActivityId_ pAutoScalingGroupName_ pCause_ pStartTime_ pStatusCode_ =+    Activity'+    { _aProgress = Nothing+    , _aStatusMessage = Nothing+    , _aDetails = Nothing+    , _aEndTime = Nothing+    , _aDescription = Nothing+    , _aActivityId = pActivityId_+    , _aAutoScalingGroupName = pAutoScalingGroupName_+    , _aCause = pCause_+    , _aStartTime = _Time # pStartTime_+    , _aStatusCode = pStatusCode_+    }++-- | A value between 0 and 100 that indicates the progress of the activity.+aProgress :: Lens' Activity (Maybe Int)+aProgress = lens _aProgress (\ s a -> s{_aProgress = a});++-- | A friendly, more verbose description of the activity status.+aStatusMessage :: Lens' Activity (Maybe Text)+aStatusMessage = lens _aStatusMessage (\ s a -> s{_aStatusMessage = a});++-- | The details about the activity.+aDetails :: Lens' Activity (Maybe Text)+aDetails = lens _aDetails (\ s a -> s{_aDetails = a});++-- | The end time of the activity.+aEndTime :: Lens' Activity (Maybe UTCTime)+aEndTime = lens _aEndTime (\ s a -> s{_aEndTime = a}) . mapping _Time;++-- | A friendly, more verbose description of the activity.+aDescription :: Lens' Activity (Maybe Text)+aDescription = lens _aDescription (\ s a -> s{_aDescription = a});++-- | The ID of the activity.+aActivityId :: Lens' Activity Text+aActivityId = lens _aActivityId (\ s a -> s{_aActivityId = a});++-- | The name of the Auto Scaling group.+aAutoScalingGroupName :: Lens' Activity Text+aAutoScalingGroupName = lens _aAutoScalingGroupName (\ s a -> s{_aAutoScalingGroupName = a});++-- | The reason the activity began.+aCause :: Lens' Activity Text+aCause = lens _aCause (\ s a -> s{_aCause = a});++-- | The start time of the activity.+aStartTime :: Lens' Activity UTCTime+aStartTime = lens _aStartTime (\ s a -> s{_aStartTime = a}) . _Time;++-- | The current status of the activity.+aStatusCode :: Lens' Activity ScalingActivityStatusCode+aStatusCode = lens _aStatusCode (\ s a -> s{_aStatusCode = a});++instance FromXML Activity where+        parseXML x+          = Activity' <$>+              (x .@? "Progress") <*> (x .@? "StatusMessage") <*>+                (x .@? "Details")+                <*> (x .@? "EndTime")+                <*> (x .@? "Description")+                <*> (x .@ "ActivityId")+                <*> (x .@ "AutoScalingGroupName")+                <*> (x .@ "Cause")+                <*> (x .@ "StartTime")+                <*> (x .@ "StatusCode")++-- | Describes a policy adjustment type.+--+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-scale-based-on-demand.html Dynamic Scaling>+-- in the /Auto Scaling Developer Guide/.+--+-- /See:/ 'adjustmentType' smart constructor.+newtype AdjustmentType = AdjustmentType'+    { _atAdjustmentType :: Maybe Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AdjustmentType' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'atAdjustmentType'+adjustmentType+    :: AdjustmentType+adjustmentType =+    AdjustmentType'+    { _atAdjustmentType = Nothing+    }++-- | The policy adjustment type. The valid values are 'ChangeInCapacity',+-- 'ExactCapacity', and 'PercentChangeInCapacity'.+atAdjustmentType :: Lens' AdjustmentType (Maybe Text)+atAdjustmentType = lens _atAdjustmentType (\ s a -> s{_atAdjustmentType = a});++instance FromXML AdjustmentType where+        parseXML x+          = AdjustmentType' <$> (x .@? "AdjustmentType")++-- | Describes an alarm.+--+-- /See:/ 'alarm' smart constructor.+data Alarm = Alarm'+    { _aAlarmName :: !(Maybe Text)+    , _aAlarmARN  :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Alarm' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aAlarmName'+--+-- * 'aAlarmARN'+alarm+    :: Alarm+alarm =+    Alarm'+    { _aAlarmName = Nothing+    , _aAlarmARN = Nothing+    }++-- | The name of the alarm.+aAlarmName :: Lens' Alarm (Maybe Text)+aAlarmName = lens _aAlarmName (\ s a -> s{_aAlarmName = a});++-- | The Amazon Resource Name (ARN) of the alarm.+aAlarmARN :: Lens' Alarm (Maybe Text)+aAlarmARN = lens _aAlarmARN (\ s a -> s{_aAlarmARN = a});++instance FromXML Alarm where+        parseXML x+          = Alarm' <$>+              (x .@? "AlarmName") <*> (x .@? "AlarmARN")++-- | Describes an Auto Scaling group.+--+-- /See:/ 'autoScalingGroup' smart constructor.+data AutoScalingGroup = AutoScalingGroup'+    { _asgStatus                  :: !(Maybe Text)+    , _asgTerminationPolicies     :: !(Maybe [Text])+    , _asgHealthCheckGracePeriod  :: !(Maybe Int)+    , _asgVPCZoneIdentifier       :: !(Maybe Text)+    , _asgEnabledMetrics          :: !(Maybe [EnabledMetric])+    , _asgInstances               :: !(Maybe [Instance])+    , _asgAutoScalingGroupARN     :: !(Maybe Text)+    , _asgSuspendedProcesses      :: !(Maybe [SuspendedProcess])+    , _asgPlacementGroup          :: !(Maybe Text)+    , _asgLoadBalancerNames       :: !(Maybe [Text])+    , _asgTags                    :: !(Maybe [TagDescription])+    , _asgAutoScalingGroupName    :: !Text+    , _asgLaunchConfigurationName :: !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.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asgStatus'+--+-- * 'asgTerminationPolicies'+--+-- * 'asgHealthCheckGracePeriod'+--+-- * 'asgVPCZoneIdentifier'+--+-- * 'asgEnabledMetrics'+--+-- * 'asgInstances'+--+-- * 'asgAutoScalingGroupARN'+--+-- * 'asgSuspendedProcesses'+--+-- * 'asgPlacementGroup'+--+-- * 'asgLoadBalancerNames'+--+-- * 'asgTags'+--+-- * 'asgAutoScalingGroupName'+--+-- * 'asgLaunchConfigurationName'+--+-- * 'asgMinSize'+--+-- * 'asgMaxSize'+--+-- * 'asgDesiredCapacity'+--+-- * 'asgDefaultCooldown'+--+-- * 'asgAvailabilityZones'+--+-- * 'asgHealthCheckType'+--+-- * 'asgCreatedTime'+autoScalingGroup+    :: Text -- ^ 'asgAutoScalingGroupName'+    -> Text -- ^ 'asgLaunchConfigurationName'+    -> Int -- ^ 'asgMinSize'+    -> Int -- ^ 'asgMaxSize'+    -> Int -- ^ 'asgDesiredCapacity'+    -> Int -- ^ 'asgDefaultCooldown'+    -> NonEmpty Text -- ^ 'asgAvailabilityZones'+    -> Text -- ^ 'asgHealthCheckType'+    -> UTCTime -- ^ 'asgCreatedTime'+    -> AutoScalingGroup+autoScalingGroup pAutoScalingGroupName_ pLaunchConfigurationName_ pMinSize_ pMaxSize_ pDesiredCapacity_ pDefaultCooldown_ pAvailabilityZones_ pHealthCheckType_ pCreatedTime_ =+    AutoScalingGroup'+    { _asgStatus = Nothing+    , _asgTerminationPolicies = Nothing+    , _asgHealthCheckGracePeriod = Nothing+    , _asgVPCZoneIdentifier = Nothing+    , _asgEnabledMetrics = Nothing+    , _asgInstances = Nothing+    , _asgAutoScalingGroupARN = Nothing+    , _asgSuspendedProcesses = Nothing+    , _asgPlacementGroup = Nothing+    , _asgLoadBalancerNames = Nothing+    , _asgTags = Nothing+    , _asgAutoScalingGroupName = pAutoScalingGroupName_+    , _asgLaunchConfigurationName = pLaunchConfigurationName_+    , _asgMinSize = pMinSize_+    , _asgMaxSize = pMaxSize_+    , _asgDesiredCapacity = pDesiredCapacity_+    , _asgDefaultCooldown = pDefaultCooldown_+    , _asgAvailabilityZones = _List1 # pAvailabilityZones_+    , _asgHealthCheckType = pHealthCheckType_+    , _asgCreatedTime = _Time # pCreatedTime_+    }++-- | The current state of the group when DeleteAutoScalingGroup is in+-- progress.+asgStatus :: Lens' AutoScalingGroup (Maybe Text)+asgStatus = lens _asgStatus (\ s a -> s{_asgStatus = a});++-- | The termination policies for the group.+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.+asgHealthCheckGracePeriod :: Lens' AutoScalingGroup (Maybe Int)+asgHealthCheckGracePeriod = lens _asgHealthCheckGracePeriod (\ s a -> s{_asgHealthCheckGracePeriod = a});++-- | One or more subnet IDs, if applicable, separated by commas.+--+-- If you specify 'VPCZoneIdentifier' and 'AvailabilityZones', ensure that+-- the Availability Zones of the subnets match the values for+-- 'AvailabilityZones'.+asgVPCZoneIdentifier :: Lens' AutoScalingGroup (Maybe Text)+asgVPCZoneIdentifier = lens _asgVPCZoneIdentifier (\ s a -> s{_asgVPCZoneIdentifier = a});++-- | The metrics enabled for the group.+asgEnabledMetrics :: Lens' AutoScalingGroup [EnabledMetric]+asgEnabledMetrics = lens _asgEnabledMetrics (\ s a -> s{_asgEnabledMetrics = a}) . _Default . _Coerce;++-- | The EC2 instances associated with the group.+asgInstances :: Lens' AutoScalingGroup [Instance]+asgInstances = lens _asgInstances (\ s a -> s{_asgInstances = a}) . _Default . _Coerce;++-- | The Amazon Resource Name (ARN) of the group.+asgAutoScalingGroupARN :: Lens' AutoScalingGroup (Maybe Text)+asgAutoScalingGroupARN = lens _asgAutoScalingGroupARN (\ s a -> s{_asgAutoScalingGroupARN = a});++-- | The suspended processes associated with the group.+asgSuspendedProcesses :: Lens' AutoScalingGroup [SuspendedProcess]+asgSuspendedProcesses = lens _asgSuspendedProcesses (\ s a -> s{_asgSuspendedProcesses = a}) . _Default . _Coerce;++-- | The name of the placement group into which you\'ll launch your+-- instances, if any. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html Placement Groups>.+asgPlacementGroup :: Lens' AutoScalingGroup (Maybe Text)+asgPlacementGroup = lens _asgPlacementGroup (\ s a -> s{_asgPlacementGroup = a});++-- | One or more load balancers associated with the group.+asgLoadBalancerNames :: Lens' AutoScalingGroup [Text]+asgLoadBalancerNames = lens _asgLoadBalancerNames (\ s a -> s{_asgLoadBalancerNames = a}) . _Default . _Coerce;++-- | The tags for the group.+asgTags :: Lens' AutoScalingGroup [TagDescription]+asgTags = lens _asgTags (\ s a -> s{_asgTags = a}) . _Default . _Coerce;++-- | The name of the group.+asgAutoScalingGroupName :: Lens' AutoScalingGroup Text+asgAutoScalingGroupName = lens _asgAutoScalingGroupName (\ s a -> s{_asgAutoScalingGroupName = a});++-- | The name of the associated launch configuration.+asgLaunchConfigurationName :: Lens' AutoScalingGroup Text+asgLaunchConfigurationName = lens _asgLaunchConfigurationName (\ s a -> s{_asgLaunchConfigurationName = a});++-- | The minimum size of the group.+asgMinSize :: Lens' AutoScalingGroup Int+asgMinSize = lens _asgMinSize (\ s a -> s{_asgMinSize = a});++-- | The maximum size of the group.+asgMaxSize :: Lens' AutoScalingGroup Int+asgMaxSize = lens _asgMaxSize (\ s a -> s{_asgMaxSize = a});++-- | The desired size of the group.+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.+asgDefaultCooldown :: Lens' AutoScalingGroup Int+asgDefaultCooldown = lens _asgDefaultCooldown (\ s a -> s{_asgDefaultCooldown = a});++-- | One or more Availability Zones for the group.+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.+asgHealthCheckType :: Lens' AutoScalingGroup Text+asgHealthCheckType = lens _asgHealthCheckType (\ s a -> s{_asgHealthCheckType = a});++-- | The date and time the group was created.+asgCreatedTime :: Lens' AutoScalingGroup UTCTime+asgCreatedTime = lens _asgCreatedTime (\ s a -> s{_asgCreatedTime = a}) . _Time;++instance FromXML AutoScalingGroup where+        parseXML x+          = AutoScalingGroup' <$>+              (x .@? "Status") <*>+                (x .@? "TerminationPolicies" .!@ mempty >>=+                   may (parseXMLList "member"))+                <*> (x .@? "HealthCheckGracePeriod")+                <*> (x .@? "VPCZoneIdentifier")+                <*>+                (x .@? "EnabledMetrics" .!@ mempty >>=+                   may (parseXMLList "member"))+                <*>+                (x .@? "Instances" .!@ mempty >>=+                   may (parseXMLList "member"))+                <*> (x .@? "AutoScalingGroupARN")+                <*>+                (x .@? "SuspendedProcesses" .!@ mempty >>=+                   may (parseXMLList "member"))+                <*> (x .@? "PlacementGroup")+                <*>+                (x .@? "LoadBalancerNames" .!@ mempty >>=+                   may (parseXMLList "member"))+                <*>+                (x .@? "Tags" .!@ mempty >>=+                   may (parseXMLList "member"))+                <*> (x .@ "AutoScalingGroupName")+                <*> (x .@ "LaunchConfigurationName")+                <*> (x .@ "MinSize")+                <*> (x .@ "MaxSize")+                <*> (x .@ "DesiredCapacity")+                <*> (x .@ "DefaultCooldown")+                <*>+                (x .@? "AvailabilityZones" .!@ mempty >>=+                   parseXMLList1 "member")+                <*> (x .@ "HealthCheckType")+                <*> (x .@ "CreatedTime")++-- | Describes an EC2 instance associated with an Auto Scaling group.+--+-- /See:/ 'autoScalingInstanceDetails' smart constructor.+data AutoScalingInstanceDetails = AutoScalingInstanceDetails'+    { _asidInstanceId              :: !Text+    , _asidAutoScalingGroupName    :: !Text+    , _asidAvailabilityZone        :: !Text+    , _asidLifecycleState          :: !Text+    , _asidHealthStatus            :: !Text+    , _asidLaunchConfigurationName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoScalingInstanceDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asidInstanceId'+--+-- * 'asidAutoScalingGroupName'+--+-- * 'asidAvailabilityZone'+--+-- * 'asidLifecycleState'+--+-- * 'asidHealthStatus'+--+-- * 'asidLaunchConfigurationName'+autoScalingInstanceDetails+    :: Text -- ^ 'asidInstanceId'+    -> Text -- ^ 'asidAutoScalingGroupName'+    -> Text -- ^ 'asidAvailabilityZone'+    -> Text -- ^ 'asidLifecycleState'+    -> Text -- ^ 'asidHealthStatus'+    -> Text -- ^ 'asidLaunchConfigurationName'+    -> AutoScalingInstanceDetails+autoScalingInstanceDetails pInstanceId_ pAutoScalingGroupName_ pAvailabilityZone_ pLifecycleState_ pHealthStatus_ pLaunchConfigurationName_ =+    AutoScalingInstanceDetails'+    { _asidInstanceId = pInstanceId_+    , _asidAutoScalingGroupName = pAutoScalingGroupName_+    , _asidAvailabilityZone = pAvailabilityZone_+    , _asidLifecycleState = pLifecycleState_+    , _asidHealthStatus = pHealthStatus_+    , _asidLaunchConfigurationName = pLaunchConfigurationName_+    }++-- | The ID of the instance.+asidInstanceId :: Lens' AutoScalingInstanceDetails Text+asidInstanceId = lens _asidInstanceId (\ s a -> s{_asidInstanceId = a});++-- | The name of the Auto Scaling group associated with the instance.+asidAutoScalingGroupName :: Lens' AutoScalingInstanceDetails Text+asidAutoScalingGroupName = lens _asidAutoScalingGroupName (\ s a -> s{_asidAutoScalingGroupName = a});++-- | The Availability Zone for the instance.+asidAvailabilityZone :: Lens' AutoScalingInstanceDetails Text+asidAvailabilityZone = lens _asidAvailabilityZone (\ s a -> s{_asidAvailabilityZone = a});++-- | The lifecycle state for the instance. For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html#AutoScalingStates Auto Scaling Instance States>+-- in the /Auto Scaling Developer Guide/.+asidLifecycleState :: Lens' AutoScalingInstanceDetails Text+asidLifecycleState = lens _asidLifecycleState (\ s a -> s{_asidLifecycleState = a});++-- | The health status of this instance. \"Healthy\" means that the instance+-- is healthy and should remain in service. \"Unhealthy\" means that the+-- instance is unhealthy and Auto Scaling should terminate and replace it.+asidHealthStatus :: Lens' AutoScalingInstanceDetails Text+asidHealthStatus = lens _asidHealthStatus (\ s a -> s{_asidHealthStatus = a});++-- | The launch configuration associated with the instance.+asidLaunchConfigurationName :: Lens' AutoScalingInstanceDetails Text+asidLaunchConfigurationName = lens _asidLaunchConfigurationName (\ s a -> s{_asidLaunchConfigurationName = a});++instance FromXML AutoScalingInstanceDetails where+        parseXML x+          = AutoScalingInstanceDetails' <$>+              (x .@ "InstanceId") <*> (x .@ "AutoScalingGroupName")+                <*> (x .@ "AvailabilityZone")+                <*> (x .@ "LifecycleState")+                <*> (x .@ "HealthStatus")+                <*> (x .@ "LaunchConfigurationName")++-- | Describes a block device mapping.+--+-- /See:/ 'blockDeviceMapping' smart constructor.+data BlockDeviceMapping = BlockDeviceMapping'+    { _bdmVirtualName :: !(Maybe Text)+    , _bdmNoDevice    :: !(Maybe Bool)+    , _bdmEBS         :: !(Maybe EBS)+    , _bdmDeviceName  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'BlockDeviceMapping' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bdmVirtualName'+--+-- * 'bdmNoDevice'+--+-- * 'bdmEBS'+--+-- * 'bdmDeviceName'+blockDeviceMapping+    :: Text -- ^ 'bdmDeviceName'+    -> BlockDeviceMapping+blockDeviceMapping pDeviceName_ =+    BlockDeviceMapping'+    { _bdmVirtualName = Nothing+    , _bdmNoDevice = Nothing+    , _bdmEBS = Nothing+    , _bdmDeviceName = pDeviceName_+    }++-- | The name of the virtual device, 'ephemeral0' to 'ephemeral3'.+bdmVirtualName :: Lens' BlockDeviceMapping (Maybe Text)+bdmVirtualName = lens _bdmVirtualName (\ s a -> s{_bdmVirtualName = a});++-- | Suppresses a device mapping.+--+-- If this parameter is true for the root device, the instance might fail+-- the EC2 health check. Auto Scaling launches a replacement instance if+-- the instance fails the health check.+bdmNoDevice :: Lens' BlockDeviceMapping (Maybe Bool)+bdmNoDevice = lens _bdmNoDevice (\ s a -> s{_bdmNoDevice = a});++-- | The information about the Amazon EBS volume.+bdmEBS :: Lens' BlockDeviceMapping (Maybe EBS)+bdmEBS = lens _bdmEBS (\ s a -> s{_bdmEBS = a});++-- | The device name exposed to the EC2 instance (for example, '\/dev\/sdh'+-- or 'xvdh').+bdmDeviceName :: Lens' BlockDeviceMapping Text+bdmDeviceName = lens _bdmDeviceName (\ s a -> s{_bdmDeviceName = a});++instance FromXML BlockDeviceMapping where+        parseXML x+          = BlockDeviceMapping' <$>+              (x .@? "VirtualName") <*> (x .@? "NoDevice") <*>+                (x .@? "Ebs")+                <*> (x .@ "DeviceName")++instance ToQuery BlockDeviceMapping where+        toQuery BlockDeviceMapping'{..}+          = mconcat+              ["VirtualName" =: _bdmVirtualName,+               "NoDevice" =: _bdmNoDevice, "Ebs" =: _bdmEBS,+               "DeviceName" =: _bdmDeviceName]++-- | Describes an Amazon EBS volume.+--+-- /See:/ 'ebs' smart constructor.+data EBS = EBS'+    { _ebsDeleteOnTermination :: !(Maybe Bool)+    , _ebsVolumeSize          :: !(Maybe Nat)+    , _ebsIOPS                :: !(Maybe Nat)+    , _ebsVolumeType          :: !(Maybe Text)+    , _ebsSnapshotId          :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EBS' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ebsDeleteOnTermination'+--+-- * 'ebsVolumeSize'+--+-- * 'ebsIOPS'+--+-- * 'ebsVolumeType'+--+-- * 'ebsSnapshotId'+ebs+    :: EBS+ebs =+    EBS'+    { _ebsDeleteOnTermination = Nothing+    , _ebsVolumeSize = Nothing+    , _ebsIOPS = Nothing+    , _ebsVolumeType = Nothing+    , _ebsSnapshotId = Nothing+    }++-- | Indicates whether to delete the volume on instance termination.+--+-- Default: 'true'+ebsDeleteOnTermination :: Lens' EBS (Maybe Bool)+ebsDeleteOnTermination = lens _ebsDeleteOnTermination (\ s a -> s{_ebsDeleteOnTermination = a});++-- | The volume size, in gigabytes.+--+-- Valid values: If the volume type is 'io1', the minimum size of the+-- volume is 10 GiB. If you specify 'SnapshotId' and 'VolumeSize',+-- 'VolumeSize' must be equal to or larger than the size of the snapshot.+--+-- Default: If you create a volume from a snapshot and you don\'t specify a+-- volume size, the default is the size of the snapshot.+--+-- Required: Required when the volume type is 'io1'.+ebsVolumeSize :: Lens' EBS (Maybe Natural)+ebsVolumeSize = lens _ebsVolumeSize (\ s a -> s{_ebsVolumeSize = a}) . mapping _Nat;++-- | For Provisioned IOPS (SSD) volumes only. The number of I\/O operations+-- per second (IOPS) to provision for the volume.+--+-- Valid values: Range is 100 to 4000.+--+-- Default: None+ebsIOPS :: Lens' EBS (Maybe Natural)+ebsIOPS = lens _ebsIOPS (\ s a -> s{_ebsIOPS = a}) . mapping _Nat;++-- | The volume type.+--+-- Valid values: 'standard | io1 | gp2'+--+-- Default: 'standard'+ebsVolumeType :: Lens' EBS (Maybe Text)+ebsVolumeType = lens _ebsVolumeType (\ s a -> s{_ebsVolumeType = a});++-- | The ID of the snapshot.+ebsSnapshotId :: Lens' EBS (Maybe Text)+ebsSnapshotId = lens _ebsSnapshotId (\ s a -> s{_ebsSnapshotId = a});++instance FromXML EBS where+        parseXML x+          = EBS' <$>+              (x .@? "DeleteOnTermination") <*>+                (x .@? "VolumeSize")+                <*> (x .@? "Iops")+                <*> (x .@? "VolumeType")+                <*> (x .@? "SnapshotId")++instance ToQuery EBS where+        toQuery EBS'{..}+          = mconcat+              ["DeleteOnTermination" =: _ebsDeleteOnTermination,+               "VolumeSize" =: _ebsVolumeSize, "Iops" =: _ebsIOPS,+               "VolumeType" =: _ebsVolumeType,+               "SnapshotId" =: _ebsSnapshotId]++-- | Describes an enabled metric.+--+-- /See:/ 'enabledMetric' smart constructor.+data EnabledMetric = EnabledMetric'+    { _emGranularity :: !(Maybe Text)+    , _emMetric      :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnabledMetric' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'emGranularity'+--+-- * 'emMetric'+enabledMetric+    :: EnabledMetric+enabledMetric =+    EnabledMetric'+    { _emGranularity = Nothing+    , _emMetric = Nothing+    }++-- | The granularity of the metric. The only valid value is '1Minute'.+emGranularity :: Lens' EnabledMetric (Maybe Text)+emGranularity = lens _emGranularity (\ s a -> s{_emGranularity = a});++-- | The name of the metric.+--+-- -   'GroupMinSize'+--+-- -   'GroupMaxSize'+--+-- -   'GroupDesiredCapacity'+--+-- -   'GroupInServiceInstances'+--+-- -   'GroupPendingInstances'+--+-- -   'GroupStandbyInstances'+--+-- -   'GroupTerminatingInstances'+--+-- -   'GroupTotalInstances'+--+emMetric :: Lens' EnabledMetric (Maybe Text)+emMetric = lens _emMetric (\ s a -> s{_emMetric = a});++instance FromXML EnabledMetric where+        parseXML x+          = EnabledMetric' <$>+              (x .@? "Granularity") <*> (x .@? "Metric")++-- | Describes a filter.+--+-- /See:/ 'filter'' smart constructor.+data Filter = Filter'+    { _fValues :: !(Maybe [Text])+    , _fName   :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Filter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fValues'+--+-- * 'fName'+filter'+    :: Text -- ^ 'fName'+    -> Filter+filter' pName_ =+    Filter'+    { _fValues = Nothing+    , _fName = pName_+    }++-- | The value of the filter.+fValues :: Lens' Filter [Text]+fValues = lens _fValues (\ s a -> s{_fValues = a}) . _Default . _Coerce;++-- | The name of the filter. The valid values are: '\"auto-scaling-group\"',+-- '\"key\"', '\"value\"', and '\"propagate-at-launch\"'.+fName :: Lens' Filter Text+fName = lens _fName (\ s a -> s{_fName = a});++instance ToQuery Filter where+        toQuery Filter'{..}+          = mconcat+              ["Values" =:+                 toQuery (toQueryList "member" <$> _fValues),+               "Name" =: _fName]++-- | Describes an EC2 instance.+--+-- /See:/ 'instance'' smart constructor.+data Instance = Instance'+    { _iInstanceId              :: !Text+    , _iAvailabilityZone        :: !Text+    , _iLifecycleState          :: !LifecycleState+    , _iHealthStatus            :: !Text+    , _iLaunchConfigurationName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Instance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iInstanceId'+--+-- * 'iAvailabilityZone'+--+-- * 'iLifecycleState'+--+-- * 'iHealthStatus'+--+-- * 'iLaunchConfigurationName'+instance'+    :: Text -- ^ 'iInstanceId'+    -> Text -- ^ 'iAvailabilityZone'+    -> LifecycleState -- ^ 'iLifecycleState'+    -> Text -- ^ 'iHealthStatus'+    -> Text -- ^ 'iLaunchConfigurationName'+    -> Instance+instance' pInstanceId_ pAvailabilityZone_ pLifecycleState_ pHealthStatus_ pLaunchConfigurationName_ =+    Instance'+    { _iInstanceId = pInstanceId_+    , _iAvailabilityZone = pAvailabilityZone_+    , _iLifecycleState = pLifecycleState_+    , _iHealthStatus = pHealthStatus_+    , _iLaunchConfigurationName = pLaunchConfigurationName_+    }++-- | The ID of the instance.+iInstanceId :: Lens' Instance Text+iInstanceId = lens _iInstanceId (\ s a -> s{_iInstanceId = a});++-- | The Availability Zone in which the instance is running.+iAvailabilityZone :: Lens' Instance Text+iAvailabilityZone = lens _iAvailabilityZone (\ s a -> s{_iAvailabilityZone = a});++-- | A description of the current lifecycle state. Note that the+-- 'Quarantined' state is not used.+iLifecycleState :: Lens' Instance LifecycleState+iLifecycleState = lens _iLifecycleState (\ s a -> s{_iLifecycleState = a});++-- | The health status of the instance.+iHealthStatus :: Lens' Instance Text+iHealthStatus = lens _iHealthStatus (\ s a -> s{_iHealthStatus = a});++-- | The launch configuration associated with the instance.+iLaunchConfigurationName :: Lens' Instance Text+iLaunchConfigurationName = lens _iLaunchConfigurationName (\ s a -> s{_iLaunchConfigurationName = a});++instance FromXML Instance where+        parseXML x+          = Instance' <$>+              (x .@ "InstanceId") <*> (x .@ "AvailabilityZone") <*>+                (x .@ "LifecycleState")+                <*> (x .@ "HealthStatus")+                <*> (x .@ "LaunchConfigurationName")++-- | Describes whether instance monitoring is enabled.+--+-- /See:/ 'instanceMonitoring' smart constructor.+newtype InstanceMonitoring = InstanceMonitoring'+    { _imEnabled :: Maybe Bool+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceMonitoring' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'imEnabled'+instanceMonitoring+    :: InstanceMonitoring+instanceMonitoring =+    InstanceMonitoring'+    { _imEnabled = Nothing+    }++-- | If 'True', instance monitoring is enabled.+imEnabled :: Lens' InstanceMonitoring (Maybe Bool)+imEnabled = lens _imEnabled (\ s a -> s{_imEnabled = a});++instance FromXML InstanceMonitoring where+        parseXML x+          = InstanceMonitoring' <$> (x .@? "Enabled")++instance ToQuery InstanceMonitoring where+        toQuery InstanceMonitoring'{..}+          = mconcat ["Enabled" =: _imEnabled]++-- | Describes a launch configuration.+--+-- /See:/ 'launchConfiguration' smart constructor.+data LaunchConfiguration = LaunchConfiguration'+    { _lcSecurityGroups               :: !(Maybe [Text])+    , _lcAssociatePublicIPAddress     :: !(Maybe Bool)+    , _lcInstanceMonitoring           :: !(Maybe InstanceMonitoring)+    , _lcSpotPrice                    :: !(Maybe Text)+    , _lcKeyName                      :: !(Maybe Text)+    , _lcClassicLinkVPCSecurityGroups :: !(Maybe [Text])+    , _lcRAMDiskId                    :: !(Maybe Text)+    , _lcKernelId                     :: !(Maybe Text)+    , _lcEBSOptimized                 :: !(Maybe Bool)+    , _lcUserData                     :: !(Maybe Text)+    , _lcClassicLinkVPCId             :: !(Maybe Text)+    , _lcIAMInstanceProfile           :: !(Maybe Text)+    , _lcLaunchConfigurationARN       :: !(Maybe Text)+    , _lcPlacementTenancy             :: !(Maybe Text)+    , _lcBlockDeviceMappings          :: !(Maybe [BlockDeviceMapping])+    , _lcLaunchConfigurationName      :: !Text+    , _lcImageId                      :: !Text+    , _lcInstanceType                 :: !Text+    , _lcCreatedTime                  :: !ISO8601+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'LaunchConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcSecurityGroups'+--+-- * 'lcAssociatePublicIPAddress'+--+-- * 'lcInstanceMonitoring'+--+-- * 'lcSpotPrice'+--+-- * 'lcKeyName'+--+-- * 'lcClassicLinkVPCSecurityGroups'+--+-- * 'lcRAMDiskId'+--+-- * 'lcKernelId'+--+-- * 'lcEBSOptimized'+--+-- * 'lcUserData'+--+-- * 'lcClassicLinkVPCId'+--+-- * 'lcIAMInstanceProfile'+--+-- * 'lcLaunchConfigurationARN'+--+-- * 'lcPlacementTenancy'+--+-- * 'lcBlockDeviceMappings'+--+-- * 'lcLaunchConfigurationName'+--+-- * 'lcImageId'+--+-- * 'lcInstanceType'+--+-- * 'lcCreatedTime'+launchConfiguration+    :: Text -- ^ 'lcLaunchConfigurationName'+    -> Text -- ^ 'lcImageId'+    -> Text -- ^ 'lcInstanceType'+    -> UTCTime -- ^ 'lcCreatedTime'+    -> LaunchConfiguration+launchConfiguration pLaunchConfigurationName_ pImageId_ pInstanceType_ pCreatedTime_ =+    LaunchConfiguration'+    { _lcSecurityGroups = Nothing+    , _lcAssociatePublicIPAddress = Nothing+    , _lcInstanceMonitoring = Nothing+    , _lcSpotPrice = Nothing+    , _lcKeyName = Nothing+    , _lcClassicLinkVPCSecurityGroups = Nothing+    , _lcRAMDiskId = Nothing+    , _lcKernelId = Nothing+    , _lcEBSOptimized = Nothing+    , _lcUserData = Nothing+    , _lcClassicLinkVPCId = Nothing+    , _lcIAMInstanceProfile = Nothing+    , _lcLaunchConfigurationARN = Nothing+    , _lcPlacementTenancy = Nothing+    , _lcBlockDeviceMappings = Nothing+    , _lcLaunchConfigurationName = pLaunchConfigurationName_+    , _lcImageId = pImageId_+    , _lcInstanceType = pInstanceType_+    , _lcCreatedTime = _Time # pCreatedTime_+    }++-- | The security groups to associate with the instances.+lcSecurityGroups :: Lens' LaunchConfiguration [Text]+lcSecurityGroups = lens _lcSecurityGroups (\ s a -> s{_lcSecurityGroups = a}) . _Default . _Coerce;++-- | Specifies whether the instances are associated with a public IP address+-- ('true') or not ('false').+lcAssociatePublicIPAddress :: Lens' LaunchConfiguration (Maybe Bool)+lcAssociatePublicIPAddress = lens _lcAssociatePublicIPAddress (\ s a -> s{_lcAssociatePublicIPAddress = a});++-- | Controls whether instances in this group are launched with detailed+-- monitoring.+lcInstanceMonitoring :: Lens' LaunchConfiguration (Maybe InstanceMonitoring)+lcInstanceMonitoring = lens _lcInstanceMonitoring (\ s a -> s{_lcInstanceMonitoring = a});++-- | The price to bid when launching Spot Instances.+lcSpotPrice :: Lens' LaunchConfiguration (Maybe Text)+lcSpotPrice = lens _lcSpotPrice (\ s a -> s{_lcSpotPrice = a});++-- | The name of the key pair.+lcKeyName :: Lens' LaunchConfiguration (Maybe Text)+lcKeyName = lens _lcKeyName (\ s a -> s{_lcKeyName = a});++-- | The IDs of one or more security groups for the VPC specified in+-- 'ClassicLinkVPCId'. This parameter is required if 'ClassicLinkVPCId' is+-- specified, and cannot be used otherwise. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html ClassicLink>+-- in the /Amazon Elastic Compute Cloud User Guide/.+lcClassicLinkVPCSecurityGroups :: Lens' LaunchConfiguration [Text]+lcClassicLinkVPCSecurityGroups = lens _lcClassicLinkVPCSecurityGroups (\ s a -> s{_lcClassicLinkVPCSecurityGroups = a}) . _Default . _Coerce;++-- | The ID of the RAM disk associated with the AMI.+lcRAMDiskId :: Lens' LaunchConfiguration (Maybe Text)+lcRAMDiskId = lens _lcRAMDiskId (\ s a -> s{_lcRAMDiskId = a});++-- | The ID of the kernel associated with the AMI.+lcKernelId :: Lens' LaunchConfiguration (Maybe Text)+lcKernelId = lens _lcKernelId (\ s a -> s{_lcKernelId = a});++-- | Controls whether the instance is optimized for EBS I\/O ('true') or not+-- ('false').+lcEBSOptimized :: Lens' LaunchConfiguration (Maybe Bool)+lcEBSOptimized = lens _lcEBSOptimized (\ s a -> s{_lcEBSOptimized = a});++-- | The user data available to the instances.+lcUserData :: Lens' LaunchConfiguration (Maybe Text)+lcUserData = lens _lcUserData (\ s a -> s{_lcUserData = a});++-- | The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances+-- to. This parameter can only be used if you are launching EC2-Classic+-- instances. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html ClassicLink>+-- in the /Amazon Elastic Compute Cloud User Guide/.+lcClassicLinkVPCId :: Lens' LaunchConfiguration (Maybe Text)+lcClassicLinkVPCId = lens _lcClassicLinkVPCId (\ s a -> s{_lcClassicLinkVPCId = a});++-- | The name or Amazon Resource Name (ARN) of the instance profile+-- associated with the IAM role for the instance.+lcIAMInstanceProfile :: Lens' LaunchConfiguration (Maybe Text)+lcIAMInstanceProfile = lens _lcIAMInstanceProfile (\ s a -> s{_lcIAMInstanceProfile = a});++-- | The Amazon Resource Name (ARN) of the launch configuration.+lcLaunchConfigurationARN :: Lens' LaunchConfiguration (Maybe Text)+lcLaunchConfigurationARN = lens _lcLaunchConfigurationARN (\ s a -> s{_lcLaunchConfigurationARN = a});++-- | The tenancy of the instance, either 'default' or 'dedicated'. An+-- instance with 'dedicated' tenancy runs in an isolated, single-tenant+-- hardware and can only be launched into a VPC.+lcPlacementTenancy :: Lens' LaunchConfiguration (Maybe Text)+lcPlacementTenancy = lens _lcPlacementTenancy (\ s a -> s{_lcPlacementTenancy = a});++-- | A block device mapping, which specifies the block devices for the+-- instance.+lcBlockDeviceMappings :: Lens' LaunchConfiguration [BlockDeviceMapping]+lcBlockDeviceMappings = lens _lcBlockDeviceMappings (\ s a -> s{_lcBlockDeviceMappings = a}) . _Default . _Coerce;++-- | The name of the launch configuration.+lcLaunchConfigurationName :: Lens' LaunchConfiguration Text+lcLaunchConfigurationName = lens _lcLaunchConfigurationName (\ s a -> s{_lcLaunchConfigurationName = a});++-- | The ID of the Amazon Machine Image (AMI).+lcImageId :: Lens' LaunchConfiguration Text+lcImageId = lens _lcImageId (\ s a -> s{_lcImageId = a});++-- | The instance type for the instances.+lcInstanceType :: Lens' LaunchConfiguration Text+lcInstanceType = lens _lcInstanceType (\ s a -> s{_lcInstanceType = a});++-- | The creation date and time for the launch configuration.+lcCreatedTime :: Lens' LaunchConfiguration UTCTime+lcCreatedTime = lens _lcCreatedTime (\ s a -> s{_lcCreatedTime = a}) . _Time;++instance FromXML LaunchConfiguration where+        parseXML x+          = LaunchConfiguration' <$>+              (x .@? "SecurityGroups" .!@ mempty >>=+                 may (parseXMLList "member"))+                <*> (x .@? "AssociatePublicIpAddress")+                <*> (x .@? "InstanceMonitoring")+                <*> (x .@? "SpotPrice")+                <*> (x .@? "KeyName")+                <*>+                (x .@? "ClassicLinkVPCSecurityGroups" .!@ mempty >>=+                   may (parseXMLList "member"))+                <*> (x .@? "RamdiskId")+                <*> (x .@? "KernelId")+                <*> (x .@? "EbsOptimized")+                <*> (x .@? "UserData")+                <*> (x .@? "ClassicLinkVPCId")+                <*> (x .@? "IamInstanceProfile")+                <*> (x .@? "LaunchConfigurationARN")+                <*> (x .@? "PlacementTenancy")+                <*>+                (x .@? "BlockDeviceMappings" .!@ mempty >>=+                   may (parseXMLList "member"))+                <*> (x .@ "LaunchConfigurationName")+                <*> (x .@ "ImageId")+                <*> (x .@ "InstanceType")+                <*> (x .@ "CreatedTime")++-- | Describes a lifecycle hook, which tells Auto Scaling that you want to+-- perform an action when an instance launches or terminates. When you have+-- a lifecycle hook in place, the Auto Scaling group will either:+--+-- -   Pause the instance after it launches, but before it is put into+--     service+-- -   Pause the instance as it terminates, but before it is fully+--     terminated+--+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingPendingState.html Auto Scaling Pending State>+-- and+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingTerminatingState.html Auto Scaling Terminating State>+-- in the /Auto Scaling Developer Guide/.+--+-- /See:/ 'lifecycleHook' smart constructor.+data LifecycleHook = LifecycleHook'+    { _lhDefaultResult         :: !(Maybe Text)+    , _lhLifecycleHookName     :: !(Maybe Text)+    , _lhHeartbeatTimeout      :: !(Maybe Int)+    , _lhAutoScalingGroupName  :: !(Maybe Text)+    , _lhNotificationMetadata  :: !(Maybe Text)+    , _lhGlobalTimeout         :: !(Maybe Int)+    , _lhRoleARN               :: !(Maybe Text)+    , _lhLifecycleTransition   :: !(Maybe Text)+    , _lhNotificationTargetARN :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'LifecycleHook' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lhDefaultResult'+--+-- * 'lhLifecycleHookName'+--+-- * 'lhHeartbeatTimeout'+--+-- * 'lhAutoScalingGroupName'+--+-- * 'lhNotificationMetadata'+--+-- * 'lhGlobalTimeout'+--+-- * 'lhRoleARN'+--+-- * 'lhLifecycleTransition'+--+-- * 'lhNotificationTargetARN'+lifecycleHook+    :: LifecycleHook+lifecycleHook =+    LifecycleHook'+    { _lhDefaultResult = Nothing+    , _lhLifecycleHookName = Nothing+    , _lhHeartbeatTimeout = Nothing+    , _lhAutoScalingGroupName = Nothing+    , _lhNotificationMetadata = Nothing+    , _lhGlobalTimeout = Nothing+    , _lhRoleARN = Nothing+    , _lhLifecycleTransition = Nothing+    , _lhNotificationTargetARN = Nothing+    }++-- | Defines the action the Auto Scaling group should take when the lifecycle+-- hook timeout elapses or if an unexpected failure occurs. The valid+-- values are 'CONTINUE' and 'ABANDON'. The default value is 'CONTINUE'.+lhDefaultResult :: Lens' LifecycleHook (Maybe Text)+lhDefaultResult = lens _lhDefaultResult (\ s a -> s{_lhDefaultResult = a});++-- | The name of the lifecycle hook.+lhLifecycleHookName :: Lens' LifecycleHook (Maybe Text)+lhLifecycleHookName = lens _lhLifecycleHookName (\ s a -> s{_lhLifecycleHookName = a});++-- | The amount of time that can elapse before the lifecycle hook times out.+-- When the lifecycle hook times out, Auto Scaling performs the action+-- defined in the 'DefaultResult' parameter. You can prevent the lifecycle+-- hook from timing out by calling RecordLifecycleActionHeartbeat.+lhHeartbeatTimeout :: Lens' LifecycleHook (Maybe Int)+lhHeartbeatTimeout = lens _lhHeartbeatTimeout (\ s a -> s{_lhHeartbeatTimeout = a});++-- | The name of the Auto Scaling group for the lifecycle hook.+lhAutoScalingGroupName :: Lens' LifecycleHook (Maybe Text)+lhAutoScalingGroupName = lens _lhAutoScalingGroupName (\ s a -> s{_lhAutoScalingGroupName = a});++-- | Additional information that you want to include any time Auto Scaling+-- sends a message to the notification target.+lhNotificationMetadata :: Lens' LifecycleHook (Maybe Text)+lhNotificationMetadata = lens _lhNotificationMetadata (\ s a -> s{_lhNotificationMetadata = a});++-- | The maximum length of time an instance can remain in a 'Pending:Wait' or+-- 'Terminating:Wait' state. Currently, the maximum is set to 48 hours.+lhGlobalTimeout :: Lens' LifecycleHook (Maybe Int)+lhGlobalTimeout = lens _lhGlobalTimeout (\ s a -> s{_lhGlobalTimeout = a});++-- | The ARN of the IAM role that allows the Auto Scaling group to publish to+-- the specified notification target.+lhRoleARN :: Lens' LifecycleHook (Maybe Text)+lhRoleARN = lens _lhRoleARN (\ s a -> s{_lhRoleARN = a});++-- | The state of the EC2 instance to which you want to attach the lifecycle+-- hook. For a list of lifecycle hook types, see+-- DescribeLifecycleHookTypes.+lhLifecycleTransition :: Lens' LifecycleHook (Maybe Text)+lhLifecycleTransition = lens _lhLifecycleTransition (\ s a -> s{_lhLifecycleTransition = a});++-- | The ARN of the notification target that Auto Scaling uses to notify you+-- when an instance is in the transition state for the lifecycle hook. This+-- ARN target can be either an SQS queue or an SNS topic. The notification+-- message sent to the target includes the following:+--+-- -   Lifecycle action token+-- -   User account ID+-- -   Name of the Auto Scaling group+-- -   Lifecycle hook name+-- -   EC2 instance ID+-- -   Lifecycle transition+-- -   Notification metadata+lhNotificationTargetARN :: Lens' LifecycleHook (Maybe Text)+lhNotificationTargetARN = lens _lhNotificationTargetARN (\ s a -> s{_lhNotificationTargetARN = a});++instance FromXML LifecycleHook where+        parseXML x+          = LifecycleHook' <$>+              (x .@? "DefaultResult") <*>+                (x .@? "LifecycleHookName")+                <*> (x .@? "HeartbeatTimeout")+                <*> (x .@? "AutoScalingGroupName")+                <*> (x .@? "NotificationMetadata")+                <*> (x .@? "GlobalTimeout")+                <*> (x .@? "RoleARN")+                <*> (x .@? "LifecycleTransition")+                <*> (x .@? "NotificationTargetARN")++-- | Describes the state of a load balancer.+--+-- /See:/ 'loadBalancerState' smart constructor.+data LoadBalancerState = LoadBalancerState'+    { _lbsState            :: !(Maybe Text)+    , _lbsLoadBalancerName :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'LoadBalancerState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lbsState'+--+-- * 'lbsLoadBalancerName'+loadBalancerState+    :: LoadBalancerState+loadBalancerState =+    LoadBalancerState'+    { _lbsState = Nothing+    , _lbsLoadBalancerName = Nothing+    }++-- | The state of the load balancer.+--+-- -   'Adding' - The instances in the group are being registered with the+--     load balancer.+--+-- -   'Added' - All instances in the group are registered with the load+--     balancer.+--+-- -   'InService' - At least one instance in the group passed an ELB+--     health check.+--+-- -   'Removing' - The instances are being deregistered from the load+--     balancer. If connection draining is enabled, Elastic Load Balancing+--     waits for in-flight requests to complete before deregistering the+--     instances.+--+lbsState :: Lens' LoadBalancerState (Maybe Text)+lbsState = lens _lbsState (\ s a -> s{_lbsState = a});++-- | The name of the load balancer.+lbsLoadBalancerName :: Lens' LoadBalancerState (Maybe Text)+lbsLoadBalancerName = lens _lbsLoadBalancerName (\ s a -> s{_lbsLoadBalancerName = a});++instance FromXML LoadBalancerState where+        parseXML x+          = LoadBalancerState' <$>+              (x .@? "State") <*> (x .@? "LoadBalancerName")++-- | Describes a metric.+--+-- /See:/ 'metricCollectionType' smart constructor.+newtype MetricCollectionType = MetricCollectionType'+    { _mctMetric :: Maybe Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'MetricCollectionType' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mctMetric'+metricCollectionType+    :: MetricCollectionType+metricCollectionType =+    MetricCollectionType'+    { _mctMetric = Nothing+    }++-- | The metric.+--+-- -   'GroupMinSize'+--+-- -   'GroupMaxSize'+--+-- -   'GroupDesiredCapacity'+--+-- -   'GroupInServiceInstances'+--+-- -   'GroupPendingInstances'+--+-- -   'GroupStandbyInstances'+--+-- -   'GroupTerminatingInstances'+--+-- -   'GroupTotalInstances'+--+mctMetric :: Lens' MetricCollectionType (Maybe Text)+mctMetric = lens _mctMetric (\ s a -> s{_mctMetric = a});++instance FromXML MetricCollectionType where+        parseXML x+          = MetricCollectionType' <$> (x .@? "Metric")++-- | Describes a granularity of a metric.+--+-- /See:/ 'metricGranularityType' smart constructor.+newtype MetricGranularityType = MetricGranularityType'+    { _mgtGranularity :: Maybe Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'MetricGranularityType' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mgtGranularity'+metricGranularityType+    :: MetricGranularityType+metricGranularityType =+    MetricGranularityType'+    { _mgtGranularity = Nothing+    }++-- | The granularity. The only valid value is '1Minute'.+mgtGranularity :: Lens' MetricGranularityType (Maybe Text)+mgtGranularity = lens _mgtGranularity (\ s a -> s{_mgtGranularity = a});++instance FromXML MetricGranularityType where+        parseXML x+          = MetricGranularityType' <$> (x .@? "Granularity")++-- | Describes a notification.+--+-- /See:/ 'notificationConfiguration' smart constructor.+data NotificationConfiguration = NotificationConfiguration'+    { _ncTopicARN             :: !(Maybe Text)+    , _ncAutoScalingGroupName :: !(Maybe Text)+    , _ncNotificationType     :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NotificationConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ncTopicARN'+--+-- * 'ncAutoScalingGroupName'+--+-- * 'ncNotificationType'+notificationConfiguration+    :: NotificationConfiguration+notificationConfiguration =+    NotificationConfiguration'+    { _ncTopicARN = Nothing+    , _ncAutoScalingGroupName = Nothing+    , _ncNotificationType = Nothing+    }++-- | The Amazon Resource Name (ARN) of the Amazon Simple Notification Service+-- (SNS) topic.+ncTopicARN :: Lens' NotificationConfiguration (Maybe Text)+ncTopicARN = lens _ncTopicARN (\ s a -> s{_ncTopicARN = a});++-- | The name of the group.+ncAutoScalingGroupName :: Lens' NotificationConfiguration (Maybe Text)+ncAutoScalingGroupName = lens _ncAutoScalingGroupName (\ s a -> s{_ncAutoScalingGroupName = a});++-- | The types of events for an action to start.+--+-- -   'autoscaling:EC2_INSTANCE_LAUNCH'+--+-- -   'autoscaling:EC2_INSTANCE_LAUNCH_ERROR'+--+-- -   'autoscaling:EC2_INSTANCE_TERMINATE'+--+-- -   'autoscaling:EC2_INSTANCE_TERMINATE_ERROR'+--+-- -   'autoscaling:TEST_NOTIFICATION'+--+ncNotificationType :: Lens' NotificationConfiguration (Maybe Text)+ncNotificationType = lens _ncNotificationType (\ s a -> s{_ncNotificationType = a});++instance FromXML NotificationConfiguration where+        parseXML x+          = NotificationConfiguration' <$>+              (x .@? "TopicARN") <*> (x .@? "AutoScalingGroupName")+                <*> (x .@? "NotificationType")++-- | Describes a process type.+--+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US_SuspendResume.html#process-types Auto Scaling Processes>+-- in the /Auto Scaling Developer Guide/.+--+-- /See:/ 'processType' smart constructor.+newtype ProcessType = ProcessType'+    { _ptProcessName :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProcessType' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ptProcessName'+processType+    :: Text -- ^ 'ptProcessName'+    -> ProcessType+processType pProcessName_ =+    ProcessType'+    { _ptProcessName = pProcessName_+    }++-- | The name of the process.+--+-- -   'Launch'+--+-- -   'Terminate'+--+-- -   'AddToLoadBalancer'+--+-- -   'AlarmNotification'+--+-- -   'AZRebalance'+--+-- -   'HealthCheck'+--+-- -   'ReplaceUnhealthy'+--+-- -   'ScheduledActions'+--+ptProcessName :: Lens' ProcessType Text+ptProcessName = lens _ptProcessName (\ s a -> s{_ptProcessName = a});++instance FromXML ProcessType where+        parseXML x = ProcessType' <$> (x .@ "ProcessName")++-- | Describes a scaling policy.+--+-- /See:/ 'scalingPolicy' smart constructor.+data ScalingPolicy = ScalingPolicy'+    { _sEstimatedInstanceWarmup :: !(Maybe Int)+    , _sMinAdjustmentStep       :: !(Maybe Int)+    , _sPolicyName              :: !(Maybe Text)+    , _sPolicyType              :: !(Maybe Text)+    , _sStepAdjustments         :: !(Maybe [StepAdjustment])+    , _sAdjustmentType          :: !(Maybe Text)+    , _sScalingAdjustment       :: !(Maybe Int)+    , _sAutoScalingGroupName    :: !(Maybe Text)+    , _sCooldown                :: !(Maybe Int)+    , _sPolicyARN               :: !(Maybe Text)+    , _sAlarms                  :: !(Maybe [Alarm])+    , _sMetricAggregationType   :: !(Maybe Text)+    , _sMinAdjustmentMagnitude  :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ScalingPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sEstimatedInstanceWarmup'+--+-- * 'sMinAdjustmentStep'+--+-- * 'sPolicyName'+--+-- * 'sPolicyType'+--+-- * 'sStepAdjustments'+--+-- * 'sAdjustmentType'+--+-- * 'sScalingAdjustment'+--+-- * 'sAutoScalingGroupName'+--+-- * 'sCooldown'+--+-- * 'sPolicyARN'+--+-- * 'sAlarms'+--+-- * 'sMetricAggregationType'+--+-- * 'sMinAdjustmentMagnitude'+scalingPolicy+    :: ScalingPolicy+scalingPolicy =+    ScalingPolicy'+    { _sEstimatedInstanceWarmup = Nothing+    , _sMinAdjustmentStep = Nothing+    , _sPolicyName = Nothing+    , _sPolicyType = Nothing+    , _sStepAdjustments = Nothing+    , _sAdjustmentType = Nothing+    , _sScalingAdjustment = Nothing+    , _sAutoScalingGroupName = Nothing+    , _sCooldown = Nothing+    , _sPolicyARN = Nothing+    , _sAlarms = Nothing+    , _sMetricAggregationType = Nothing+    , _sMinAdjustmentMagnitude = Nothing+    }++-- | The estimated time, in seconds, until a newly launched instance can+-- contribute to the CloudWatch metrics.+sEstimatedInstanceWarmup :: Lens' ScalingPolicy (Maybe Int)+sEstimatedInstanceWarmup = lens _sEstimatedInstanceWarmup (\ s a -> s{_sEstimatedInstanceWarmup = a});++-- | Available for backward compatibility. Use 'MinAdjustmentMagnitude'+-- instead.+sMinAdjustmentStep :: Lens' ScalingPolicy (Maybe Int)+sMinAdjustmentStep = lens _sMinAdjustmentStep (\ s a -> s{_sMinAdjustmentStep = a});++-- | The name of the scaling policy.+sPolicyName :: Lens' ScalingPolicy (Maybe Text)+sPolicyName = lens _sPolicyName (\ s a -> s{_sPolicyName = a});++-- | The policy type. Valid values are 'SimpleScaling' and 'StepScaling'.+sPolicyType :: Lens' ScalingPolicy (Maybe Text)+sPolicyType = lens _sPolicyType (\ s a -> s{_sPolicyType = a});++-- | A set of adjustments that enable you to scale based on the size of the+-- alarm breach.+sStepAdjustments :: Lens' ScalingPolicy [StepAdjustment]+sStepAdjustments = lens _sStepAdjustments (\ s a -> s{_sStepAdjustments = a}) . _Default . _Coerce;++-- | The adjustment type, which specifies how 'ScalingAdjustment' is+-- interpreted. Valid values are 'ChangeInCapacity', 'ExactCapacity', and+-- 'PercentChangeInCapacity'.+sAdjustmentType :: Lens' ScalingPolicy (Maybe Text)+sAdjustmentType = lens _sAdjustmentType (\ s a -> s{_sAdjustmentType = a});++-- | The amount by which to scale, based on the specified adjustment type. A+-- positive value adds to the current capacity while a negative number+-- removes from the current capacity.+sScalingAdjustment :: Lens' ScalingPolicy (Maybe Int)+sScalingAdjustment = lens _sScalingAdjustment (\ s a -> s{_sScalingAdjustment = a});++-- | The name of the Auto Scaling group associated with this scaling policy.+sAutoScalingGroupName :: Lens' ScalingPolicy (Maybe Text)+sAutoScalingGroupName = lens _sAutoScalingGroupName (\ s a -> s{_sAutoScalingGroupName = a});++-- | The amount of time, in seconds, after a scaling activity completes+-- before any further trigger-related scaling activities can start.+sCooldown :: Lens' ScalingPolicy (Maybe Int)+sCooldown = lens _sCooldown (\ s a -> s{_sCooldown = a});++-- | The Amazon Resource Name (ARN) of the policy.+sPolicyARN :: Lens' ScalingPolicy (Maybe Text)+sPolicyARN = lens _sPolicyARN (\ s a -> s{_sPolicyARN = a});++-- | The CloudWatch alarms related to the policy.+sAlarms :: Lens' ScalingPolicy [Alarm]+sAlarms = lens _sAlarms (\ s a -> s{_sAlarms = a}) . _Default . _Coerce;++-- | The aggregation type for the CloudWatch metrics. Valid values are+-- 'Minimum', 'Maximum', and 'Average'.+sMetricAggregationType :: Lens' ScalingPolicy (Maybe Text)+sMetricAggregationType = lens _sMetricAggregationType (\ s a -> s{_sMetricAggregationType = a});++-- | The minimum number of instances to scale. If the value of+-- 'AdjustmentType' is 'PercentChangeInCapacity', the scaling policy+-- changes the 'DesiredCapacity' of the Auto Scaling group by at least this+-- many instances. Otherwise, the error is 'ValidationError'.+sMinAdjustmentMagnitude :: Lens' ScalingPolicy (Maybe Int)+sMinAdjustmentMagnitude = lens _sMinAdjustmentMagnitude (\ s a -> s{_sMinAdjustmentMagnitude = a});++instance FromXML ScalingPolicy where+        parseXML x+          = ScalingPolicy' <$>+              (x .@? "EstimatedInstanceWarmup") <*>+                (x .@? "MinAdjustmentStep")+                <*> (x .@? "PolicyName")+                <*> (x .@? "PolicyType")+                <*>+                (x .@? "StepAdjustments" .!@ mempty >>=+                   may (parseXMLList "member"))+                <*> (x .@? "AdjustmentType")+                <*> (x .@? "ScalingAdjustment")+                <*> (x .@? "AutoScalingGroupName")+                <*> (x .@? "Cooldown")+                <*> (x .@? "PolicyARN")+                <*>+                (x .@? "Alarms" .!@ mempty >>=+                   may (parseXMLList "member"))+                <*> (x .@? "MetricAggregationType")+                <*> (x .@? "MinAdjustmentMagnitude")++-- | /See:/ 'scalingProcessQuery' smart constructor.+data ScalingProcessQuery = ScalingProcessQuery'+    { _spqScalingProcesses     :: !(Maybe [Text])+    , _spqAutoScalingGroupName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ScalingProcessQuery' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'spqScalingProcesses'+--+-- * 'spqAutoScalingGroupName'+scalingProcessQuery+    :: Text -- ^ 'spqAutoScalingGroupName'+    -> ScalingProcessQuery+scalingProcessQuery pAutoScalingGroupName_ =+    ScalingProcessQuery'+    { _spqScalingProcesses = Nothing+    , _spqAutoScalingGroupName = pAutoScalingGroupName_+    }++-- | One or more of the following processes:+--+-- -   'Launch'+--+-- -   'Terminate'+--+-- -   'HealthCheck'+--+-- -   'ReplaceUnhealthy'+--+-- -   'AZRebalance'+--+-- -   'AlarmNotification'+--+-- -   'ScheduledActions'+--+-- -   'AddToLoadBalancer'+--+spqScalingProcesses :: Lens' ScalingProcessQuery [Text]+spqScalingProcesses = lens _spqScalingProcesses (\ s a -> s{_spqScalingProcesses = a}) . _Default . _Coerce;++-- | The name or Amazon Resource Name (ARN) of the Auto Scaling group.+spqAutoScalingGroupName :: Lens' ScalingProcessQuery Text+spqAutoScalingGroupName = lens _spqAutoScalingGroupName (\ s a -> s{_spqAutoScalingGroupName = a});++instance ToQuery ScalingProcessQuery where+        toQuery ScalingProcessQuery'{..}+          = mconcat+              ["ScalingProcesses" =:+                 toQuery+                   (toQueryList "member" <$> _spqScalingProcesses),+               "AutoScalingGroupName" =: _spqAutoScalingGroupName]++-- | Describes a scheduled update to an Auto Scaling group.+--+-- /See:/ 'scheduledUpdateGroupAction' smart constructor.+data ScheduledUpdateGroupAction = ScheduledUpdateGroupAction'+    { _sugaScheduledActionARN   :: !(Maybe Text)+    , _sugaTime                 :: !(Maybe ISO8601)+    , _sugaStartTime            :: !(Maybe ISO8601)+    , _sugaScheduledActionName  :: !(Maybe Text)+    , _sugaMaxSize              :: !(Maybe Int)+    , _sugaDesiredCapacity      :: !(Maybe Int)+    , _sugaRecurrence           :: !(Maybe Text)+    , _sugaMinSize              :: !(Maybe Int)+    , _sugaEndTime              :: !(Maybe ISO8601)+    , _sugaAutoScalingGroupName :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ScheduledUpdateGroupAction' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sugaScheduledActionARN'+--+-- * 'sugaTime'+--+-- * 'sugaStartTime'+--+-- * 'sugaScheduledActionName'+--+-- * 'sugaMaxSize'+--+-- * 'sugaDesiredCapacity'+--+-- * 'sugaRecurrence'+--+-- * 'sugaMinSize'+--+-- * 'sugaEndTime'+--+-- * 'sugaAutoScalingGroupName'+scheduledUpdateGroupAction+    :: ScheduledUpdateGroupAction+scheduledUpdateGroupAction =+    ScheduledUpdateGroupAction'+    { _sugaScheduledActionARN = Nothing+    , _sugaTime = Nothing+    , _sugaStartTime = Nothing+    , _sugaScheduledActionName = Nothing+    , _sugaMaxSize = Nothing+    , _sugaDesiredCapacity = Nothing+    , _sugaRecurrence = Nothing+    , _sugaMinSize = Nothing+    , _sugaEndTime = Nothing+    , _sugaAutoScalingGroupName = Nothing+    }++-- | The Amazon Resource Name (ARN) of the scheduled action.+sugaScheduledActionARN :: Lens' ScheduledUpdateGroupAction (Maybe Text)+sugaScheduledActionARN = lens _sugaScheduledActionARN (\ s a -> s{_sugaScheduledActionARN = a});++-- | This parameter is deprecated; use 'StartTime' instead.+sugaTime :: Lens' ScheduledUpdateGroupAction (Maybe UTCTime)+sugaTime = lens _sugaTime (\ s a -> s{_sugaTime = a}) . mapping _Time;++-- | The date and time that the action is scheduled to begin. This date and+-- time can be up to one month in the future.+--+-- When 'StartTime' and 'EndTime' are specified with 'Recurrence', they+-- form the boundaries of when the recurring action will start and stop.+sugaStartTime :: Lens' ScheduledUpdateGroupAction (Maybe UTCTime)+sugaStartTime = lens _sugaStartTime (\ s a -> s{_sugaStartTime = a}) . mapping _Time;++-- | The name of the scheduled action.+sugaScheduledActionName :: Lens' ScheduledUpdateGroupAction (Maybe Text)+sugaScheduledActionName = lens _sugaScheduledActionName (\ s a -> s{_sugaScheduledActionName = a});++-- | The maximum size of the group.+sugaMaxSize :: Lens' ScheduledUpdateGroupAction (Maybe Int)+sugaMaxSize = lens _sugaMaxSize (\ s a -> s{_sugaMaxSize = a});++-- | The number of instances you prefer to maintain in the group.+sugaDesiredCapacity :: Lens' ScheduledUpdateGroupAction (Maybe Int)+sugaDesiredCapacity = lens _sugaDesiredCapacity (\ s a -> s{_sugaDesiredCapacity = a});++-- | The recurring schedule for the action.+sugaRecurrence :: Lens' ScheduledUpdateGroupAction (Maybe Text)+sugaRecurrence = lens _sugaRecurrence (\ s a -> s{_sugaRecurrence = a});++-- | The minimum size of the group.+sugaMinSize :: Lens' ScheduledUpdateGroupAction (Maybe Int)+sugaMinSize = lens _sugaMinSize (\ s a -> s{_sugaMinSize = a});++-- | The date and time that the action is scheduled to end. This date and+-- time can be up to one month in the future.+sugaEndTime :: Lens' ScheduledUpdateGroupAction (Maybe UTCTime)+sugaEndTime = lens _sugaEndTime (\ s a -> s{_sugaEndTime = a}) . mapping _Time;++-- | The name of the group.+sugaAutoScalingGroupName :: Lens' ScheduledUpdateGroupAction (Maybe Text)+sugaAutoScalingGroupName = lens _sugaAutoScalingGroupName (\ s a -> s{_sugaAutoScalingGroupName = a});++instance FromXML ScheduledUpdateGroupAction where+        parseXML x+          = ScheduledUpdateGroupAction' <$>+              (x .@? "ScheduledActionARN") <*> (x .@? "Time") <*>+                (x .@? "StartTime")+                <*> (x .@? "ScheduledActionName")+                <*> (x .@? "MaxSize")+                <*> (x .@? "DesiredCapacity")+                <*> (x .@? "Recurrence")+                <*> (x .@? "MinSize")+                <*> (x .@? "EndTime")+                <*> (x .@? "AutoScalingGroupName")++-- | Describes an adjustment based on the difference between the value of the+-- aggregated CloudWatch metric and the breach threshold that you\'ve+-- defined for the alarm.+--+-- For the following examples, suppose that you have an alarm with a breach+-- threshold of 50:+--+-- -   If you want the adjustment to be triggered when the metric is+--     greater than or equal to 50 and less than 60, specify a lower bound+--     of 0 and an upper bound of 10.+--+-- -   If you want the adjustment to be triggered when the metric is+--     greater than 40 and less than or equal to 50, specify a lower bound+--     of -10 and an upper bound of 0.+--+-- There are a few rules for the step adjustments for your step policy:+--+-- -   The ranges of your step adjustments can\'t overlap or have a gap.+--+-- -   At most one step adjustment can have a null lower bound. If one step+--     adjustment has a negative lower bound, then there must be a step+--     adjustment with a null lower bound.+--+-- -   At most one step adjustment can have a null upper bound. If one step+--     adjustment has a positive upper bound, then there must be a step+--     adjustment with a null upper bound.+--+-- -   The upper and lower bound can\'t be null in the same step+--     adjustment.+--+--+-- /See:/ 'stepAdjustment' smart constructor.+data StepAdjustment = StepAdjustment'+    { _saMetricIntervalLowerBound :: !(Maybe Double)+    , _saMetricIntervalUpperBound :: !(Maybe Double)+    , _saScalingAdjustment        :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'StepAdjustment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'saMetricIntervalLowerBound'+--+-- * 'saMetricIntervalUpperBound'+--+-- * 'saScalingAdjustment'+stepAdjustment+    :: Int -- ^ 'saScalingAdjustment'+    -> StepAdjustment+stepAdjustment pScalingAdjustment_ =+    StepAdjustment'+    { _saMetricIntervalLowerBound = Nothing+    , _saMetricIntervalUpperBound = Nothing+    , _saScalingAdjustment = pScalingAdjustment_+    }++-- | The lower bound for the difference between the alarm threshold and the+-- CloudWatch metric. If the metric value is above the breach threshold,+-- the lower bound is inclusive (the metric must be greater than or equal+-- to the threshold plus the lower bound). Otherwise, it is exclusive (the+-- metric must be greater than the threshold plus the lower bound). A null+-- value indicates negative infinity.+saMetricIntervalLowerBound :: Lens' StepAdjustment (Maybe Double)+saMetricIntervalLowerBound = lens _saMetricIntervalLowerBound (\ s a -> s{_saMetricIntervalLowerBound = a});++-- | The upper bound for the difference between the alarm threshold and the+-- CloudWatch metric. If the metric value is above the breach threshold,+-- the upper bound is exclusive (the metric must be less than the threshold+-- plus the upper bound). Otherwise, it is inclusive (the metric must be+-- less than or equal to the threshold plus the upper bound). A null value+-- indicates positive infinity.+--+-- The upper bound must be greater than the lower bound.+saMetricIntervalUpperBound :: Lens' StepAdjustment (Maybe Double)+saMetricIntervalUpperBound = lens _saMetricIntervalUpperBound (\ s a -> s{_saMetricIntervalUpperBound = a});++-- | The amount by which to scale, based on the specified adjustment type. A+-- positive value adds to the current capacity while a negative number+-- removes from the current capacity.+saScalingAdjustment :: Lens' StepAdjustment Int+saScalingAdjustment = lens _saScalingAdjustment (\ s a -> s{_saScalingAdjustment = a});++instance FromXML StepAdjustment where+        parseXML x+          = StepAdjustment' <$>+              (x .@? "MetricIntervalLowerBound") <*>+                (x .@? "MetricIntervalUpperBound")+                <*> (x .@ "ScalingAdjustment")++instance ToQuery StepAdjustment where+        toQuery StepAdjustment'{..}+          = mconcat+              ["MetricIntervalLowerBound" =:+                 _saMetricIntervalLowerBound,+               "MetricIntervalUpperBound" =:+                 _saMetricIntervalUpperBound,+               "ScalingAdjustment" =: _saScalingAdjustment]++-- | Describes an Auto Scaling process that has been suspended. For more+-- information, see ProcessType.+--+-- /See:/ 'suspendedProcess' smart constructor.+data SuspendedProcess = SuspendedProcess'+    { _spProcessName      :: !(Maybe Text)+    , _spSuspensionReason :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SuspendedProcess' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'spProcessName'+--+-- * 'spSuspensionReason'+suspendedProcess+    :: SuspendedProcess+suspendedProcess =+    SuspendedProcess'+    { _spProcessName = Nothing+    , _spSuspensionReason = Nothing+    }++-- | The name of the suspended process.+spProcessName :: Lens' SuspendedProcess (Maybe Text)+spProcessName = lens _spProcessName (\ s a -> s{_spProcessName = a});++-- | The reason that the process was suspended.+spSuspensionReason :: Lens' SuspendedProcess (Maybe Text)+spSuspensionReason = lens _spSuspensionReason (\ s a -> s{_spSuspensionReason = a});++instance FromXML SuspendedProcess where+        parseXML x+          = SuspendedProcess' <$>+              (x .@? "ProcessName") <*> (x .@? "SuspensionReason")++-- | Describes a tag for an Auto Scaling group.+--+-- /See:/ 'tag' smart constructor.+data Tag = Tag'+    { _tagKey               :: !Text+    , _tagResourceId        :: !Text+    , _tagResourceType      :: !Text+    , _tagPropagateAtLaunch :: !Bool+    , _tagValue             :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Tag' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tagKey'+--+-- * 'tagResourceId'+--+-- * 'tagResourceType'+--+-- * 'tagPropagateAtLaunch'+--+-- * 'tagValue'+tag+    :: Text -- ^ 'tagKey'+    -> Text -- ^ 'tagResourceId'+    -> Text -- ^ 'tagResourceType'+    -> Bool -- ^ 'tagPropagateAtLaunch'+    -> Text -- ^ 'tagValue'+    -> Tag+tag pKey_ pResourceId_ pResourceType_ pPropagateAtLaunch_ pValue_ =+    Tag'+    { _tagKey = pKey_+    , _tagResourceId = pResourceId_+    , _tagResourceType = pResourceType_+    , _tagPropagateAtLaunch = pPropagateAtLaunch_+    , _tagValue = pValue_+    }++-- | The tag key.+tagKey :: Lens' Tag Text+tagKey = lens _tagKey (\ s a -> s{_tagKey = a});++-- | The name of the group.+tagResourceId :: Lens' Tag Text+tagResourceId = lens _tagResourceId (\ s a -> s{_tagResourceId = a});++-- | The type of resource. The only supported value is 'auto-scaling-group'.+tagResourceType :: Lens' Tag Text+tagResourceType = lens _tagResourceType (\ s a -> s{_tagResourceType = a});++-- | Determines whether the tag is added to new instances as they are+-- launched in the group.+tagPropagateAtLaunch :: Lens' Tag Bool+tagPropagateAtLaunch = lens _tagPropagateAtLaunch (\ s a -> s{_tagPropagateAtLaunch = a});++-- | The tag value.+tagValue :: Lens' Tag Text+tagValue = lens _tagValue (\ s a -> s{_tagValue = a});++instance ToQuery Tag where+        toQuery Tag'{..}+          = mconcat+              ["Key" =: _tagKey, "ResourceId" =: _tagResourceId,+               "ResourceType" =: _tagResourceType,+               "PropagateAtLaunch" =: _tagPropagateAtLaunch,+               "Value" =: _tagValue]++-- | Describes a tag for an Auto Scaling group.+--+-- /See:/ 'tagDescription' smart constructor.+data TagDescription = TagDescription'+    { _tdResourceId        :: !Text+    , _tdResourceType      :: !Text+    , _tdKey               :: !Text+    , _tdPropagateAtLaunch :: !Bool+    , _tdValue             :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'TagDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tdResourceId'+--+-- * 'tdResourceType'+--+-- * 'tdKey'+--+-- * 'tdPropagateAtLaunch'+--+-- * 'tdValue'+tagDescription+    :: Text -- ^ 'tdResourceId'+    -> Text -- ^ 'tdResourceType'+    -> Text -- ^ 'tdKey'+    -> Bool -- ^ 'tdPropagateAtLaunch'+    -> Text -- ^ 'tdValue'+    -> TagDescription+tagDescription pResourceId_ pResourceType_ pKey_ pPropagateAtLaunch_ pValue_ =+    TagDescription'+    { _tdResourceId = pResourceId_+    , _tdResourceType = pResourceType_+    , _tdKey = pKey_+    , _tdPropagateAtLaunch = pPropagateAtLaunch_+    , _tdValue = pValue_+    }++-- | The name of the group.+tdResourceId :: Lens' TagDescription Text+tdResourceId = lens _tdResourceId (\ s a -> s{_tdResourceId = a});++-- | The type of resource. The only supported value is 'auto-scaling-group'.+tdResourceType :: Lens' TagDescription Text+tdResourceType = lens _tdResourceType (\ s a -> s{_tdResourceType = a});++-- | The tag key.+tdKey :: Lens' TagDescription Text+tdKey = lens _tdKey (\ s a -> s{_tdKey = a});++-- | Determines whether the tag is added to new instances as they are+-- launched in the group.+tdPropagateAtLaunch :: Lens' TagDescription Bool+tdPropagateAtLaunch = lens _tdPropagateAtLaunch (\ s a -> s{_tdPropagateAtLaunch = a});++-- | The tag value.+tdValue :: Lens' TagDescription Text+tdValue = lens _tdValue (\ s a -> s{_tdValue = a});++instance FromXML TagDescription where+        parseXML x+          = TagDescription' <$>+              (x .@ "ResourceId") <*> (x .@ "ResourceType") <*>+                (x .@ "Key")+                <*> (x .@ "PropagateAtLaunch")+                <*> (x .@ "Value")
+ gen/Network/AWS/AutoScaling/Types/Sum.hs view
@@ -0,0 +1,130 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.AutoScaling.Types.Sum+-- 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)+--+module Network.AWS.AutoScaling.Types.Sum where++import           Network.AWS.Prelude++data LifecycleState+    = Detached+    | Detaching+    | EnteringStandby+    | InService+    | Pending+    | PendingProceed+    | PendingWait+    | Quarantined+    | Standby+    | Terminated+    | Terminating+    | TerminatingProceed+    | TerminatingWait+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText LifecycleState where+    parser = takeLowerText >>= \case+        "detached" -> pure Detached+        "detaching" -> pure Detaching+        "enteringstandby" -> pure EnteringStandby+        "inservice" -> pure InService+        "pending" -> pure Pending+        "pending:proceed" -> pure PendingProceed+        "pending:wait" -> pure PendingWait+        "quarantined" -> pure Quarantined+        "standby" -> pure Standby+        "terminated" -> pure Terminated+        "terminating" -> pure Terminating+        "terminating:proceed" -> pure TerminatingProceed+        "terminating:wait" -> pure TerminatingWait+        e -> fromTextError $ "Failure parsing LifecycleState from value: '" <> e+           <> "'. Accepted values: detached, detaching, enteringstandby, inservice, pending, pending:proceed, pending:wait, quarantined, standby, terminated, terminating, terminating:proceed, terminating:wait"++instance ToText LifecycleState where+    toText = \case+        Detached -> "detached"+        Detaching -> "detaching"+        EnteringStandby -> "enteringstandby"+        InService -> "inservice"+        Pending -> "pending"+        PendingProceed -> "pending:proceed"+        PendingWait -> "pending:wait"+        Quarantined -> "quarantined"+        Standby -> "standby"+        Terminated -> "terminated"+        Terminating -> "terminating"+        TerminatingProceed -> "terminating:proceed"+        TerminatingWait -> "terminating:wait"++instance Hashable     LifecycleState+instance ToByteString LifecycleState+instance ToQuery      LifecycleState+instance ToHeader     LifecycleState++instance FromXML LifecycleState where+    parseXML = parseXMLText "LifecycleState"++data ScalingActivityStatusCode+    = Cancelled+    | Failed+    | InProgress+    | MidLifecycleAction+    | PreInService+    | Successful+    | WaitingForELBConnectionDraining+    | WaitingForInstanceId+    | WaitingForInstanceWarmup+    | WaitingForSpotInstanceId+    | WaitingForSpotInstanceRequestId+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ScalingActivityStatusCode where+    parser = takeLowerText >>= \case+        "cancelled" -> pure Cancelled+        "failed" -> pure Failed+        "inprogress" -> pure InProgress+        "midlifecycleaction" -> pure MidLifecycleAction+        "preinservice" -> pure PreInService+        "successful" -> pure Successful+        "waitingforelbconnectiondraining" -> pure WaitingForELBConnectionDraining+        "waitingforinstanceid" -> pure WaitingForInstanceId+        "waitingforinstancewarmup" -> pure WaitingForInstanceWarmup+        "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"++instance ToText ScalingActivityStatusCode where+    toText = \case+        Cancelled -> "cancelled"+        Failed -> "failed"+        InProgress -> "inprogress"+        MidLifecycleAction -> "midlifecycleaction"+        PreInService -> "preinservice"+        Successful -> "successful"+        WaitingForELBConnectionDraining -> "waitingforelbconnectiondraining"+        WaitingForInstanceId -> "waitingforinstanceid"+        WaitingForInstanceWarmup -> "waitingforinstancewarmup"+        WaitingForSpotInstanceId -> "waitingforspotinstanceid"+        WaitingForSpotInstanceRequestId -> "waitingforspotinstancerequestid"++instance Hashable     ScalingActivityStatusCode+instance ToByteString ScalingActivityStatusCode+instance ToQuery      ScalingActivityStatusCode+instance ToHeader     ScalingActivityStatusCode++instance FromXML ScalingActivityStatusCode where+    parseXML = parseXMLText "ScalingActivityStatusCode"
gen/Network/AWS/AutoScaling/UpdateAutoScalingGroup.hs view
@@ -1,258 +1,264 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# 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.UpdateAutoScalingGroup--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Updates the configuration for the specified 'AutoScalingGroup'.+-- Updates the configuration for the specified Auto Scaling group. ----- To update an Auto Scaling group with a launch configuration that has the 'InstanceMonitoring' flag set to 'False', you must first ensure that collection of group metrics is--- disabled. Otherwise, calls to 'UpdateAutoScalingGroup' will fail. If you have--- previously enabled group metrics collection, you can disable collection of--- all group metrics by calling 'DisableMetricsCollection'.+-- To update an Auto Scaling group with a launch configuration with+-- 'InstanceMonitoring' set to 'False', you must first disable the+-- collection of group metrics. Otherwise, you will get an error. If you+-- have previously enabled the collection of group metrics, you can disable+-- it using DisableMetricsCollection. -- -- The new settings are registered upon the completion of this call. Any--- launch configuration settings take effect on any triggers after this call--- returns. Scaling activities that are currently in progress aren't affected.+-- launch configuration settings take effect on any triggers after this+-- call returns. Scaling activities that are currently in progress aren\'t+-- affected. ----- If a new value is specified for /MinSize/ without specifying the value for /DesiredCapacity/, and if the new /MinSize/ is larger than the current size of the Auto Scaling--- group, there will be an implicit call to 'SetDesiredCapacity' to set the group--- to the new /MinSize/.+-- Note the following: ----- If a new value is specified for /MaxSize/ without specifying the value for /DesiredCapacity/, and the new /MaxSize/ is smaller than the current size of the Auto Scaling--- group, there will be an implicit call to 'SetDesiredCapacity' to set the group--- to the new /MaxSize/.+-- -   If you specify a new value for 'MinSize' without specifying a value+--     for 'DesiredCapacity', and the new 'MinSize' is larger than the+--     current size of the group, we implicitly call SetDesiredCapacity to+--     set the size of the group to the new value of 'MinSize'. ----- All other optional parameters are left unchanged if not passed in the--- request.+-- -   If you specify a new value for 'MaxSize' without specifying a value+--     for 'DesiredCapacity', and the new 'MaxSize' is smaller than the+--     current size of the group, we implicitly call SetDesiredCapacity to+--     set the size of the group to the new value of 'MaxSize'. --+-- -   All other optional parameters are left unchanged if not specified. -- ----- <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_UpdateAutoScalingGroup.html>+-- /See:/ <http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_UpdateAutoScalingGroup.html AWS API Reference> for UpdateAutoScalingGroup. module Network.AWS.AutoScaling.UpdateAutoScalingGroup     (-    -- * Request-      UpdateAutoScalingGroup-    -- ** Request constructor-    , updateAutoScalingGroup-    -- ** Request lenses-    , uasgAutoScalingGroupName-    , uasgAvailabilityZones+    -- * Creating a Request+      updateAutoScalingGroup+    , UpdateAutoScalingGroup+    -- * Request Lenses+    , uasgTerminationPolicies+    , uasgHealthCheckGracePeriod+    , uasgVPCZoneIdentifier     , uasgDefaultCooldown+    , uasgMaxSize     , uasgDesiredCapacity-    , uasgHealthCheckGracePeriod+    , uasgAvailabilityZones+    , uasgMinSize     , uasgHealthCheckType     , uasgLaunchConfigurationName-    , uasgMaxSize-    , uasgMinSize     , uasgPlacementGroup-    , uasgTerminationPolicies-    , uasgVPCZoneIdentifier+    , uasgAutoScalingGroupName -    -- * Response-    , UpdateAutoScalingGroupResponse-    -- ** Response constructor+    -- * Destructuring the Response     , updateAutoScalingGroupResponse+    , UpdateAutoScalingGroupResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.AutoScaling.Types-import qualified GHC.Exts+import           Network.AWS.AutoScaling.Types+import           Network.AWS.AutoScaling.Types.Product+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response -data UpdateAutoScalingGroup = UpdateAutoScalingGroup-    { _uasgAutoScalingGroupName    :: Text-    , _uasgAvailabilityZones       :: List1 "member" Text-    , _uasgDefaultCooldown         :: Maybe Int-    , _uasgDesiredCapacity         :: Maybe Int-    , _uasgHealthCheckGracePeriod  :: Maybe Int-    , _uasgHealthCheckType         :: Maybe Text-    , _uasgLaunchConfigurationName :: Maybe Text-    , _uasgMaxSize                 :: Maybe Int-    , _uasgMinSize                 :: Maybe Int-    , _uasgPlacementGroup          :: Maybe Text-    , _uasgTerminationPolicies     :: List "member" Text-    , _uasgVPCZoneIdentifier       :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'updateAutoScalingGroup' smart constructor.+data UpdateAutoScalingGroup = UpdateAutoScalingGroup'+    { _uasgTerminationPolicies     :: !(Maybe [Text])+    , _uasgHealthCheckGracePeriod  :: !(Maybe Int)+    , _uasgVPCZoneIdentifier       :: !(Maybe Text)+    , _uasgDefaultCooldown         :: !(Maybe Int)+    , _uasgMaxSize                 :: !(Maybe Int)+    , _uasgDesiredCapacity         :: !(Maybe Int)+    , _uasgAvailabilityZones       :: !(Maybe (List1 Text))+    , _uasgMinSize                 :: !(Maybe Int)+    , _uasgHealthCheckType         :: !(Maybe Text)+    , _uasgLaunchConfigurationName :: !(Maybe Text)+    , _uasgPlacementGroup          :: !(Maybe Text)+    , _uasgAutoScalingGroupName    :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'UpdateAutoScalingGroup' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'UpdateAutoScalingGroup' with the minimum fields required to make a request. ----- * 'uasgAutoScalingGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'uasgAvailabilityZones' @::@ 'NonEmpty' 'Text'+-- * 'uasgTerminationPolicies' ----- * 'uasgDefaultCooldown' @::@ 'Maybe' 'Int'+-- * 'uasgHealthCheckGracePeriod' ----- * 'uasgDesiredCapacity' @::@ 'Maybe' 'Int'+-- * 'uasgVPCZoneIdentifier' ----- * 'uasgHealthCheckGracePeriod' @::@ 'Maybe' 'Int'+-- * 'uasgDefaultCooldown' ----- * 'uasgHealthCheckType' @::@ 'Maybe' 'Text'+-- * 'uasgMaxSize' ----- * 'uasgLaunchConfigurationName' @::@ 'Maybe' 'Text'+-- * 'uasgDesiredCapacity' ----- * 'uasgMaxSize' @::@ 'Maybe' 'Int'+-- * 'uasgAvailabilityZones' ----- * 'uasgMinSize' @::@ 'Maybe' 'Int'+-- * 'uasgMinSize' ----- * 'uasgPlacementGroup' @::@ 'Maybe' 'Text'+-- * 'uasgHealthCheckType' ----- * 'uasgTerminationPolicies' @::@ ['Text']+-- * 'uasgLaunchConfigurationName' ----- * 'uasgVPCZoneIdentifier' @::@ 'Maybe' 'Text'+-- * 'uasgPlacementGroup' ---updateAutoScalingGroup :: Text -- ^ 'uasgAutoScalingGroupName'-                       -> NonEmpty Text -- ^ 'uasgAvailabilityZones'-                       -> UpdateAutoScalingGroup-updateAutoScalingGroup p1 p2 = UpdateAutoScalingGroup-    { _uasgAutoScalingGroupName    = p1-    , _uasgAvailabilityZones       = withIso _List1 (const id) p2+-- * 'uasgAutoScalingGroupName'+updateAutoScalingGroup+    :: Text -- ^ 'uasgAutoScalingGroupName'+    -> UpdateAutoScalingGroup+updateAutoScalingGroup pAutoScalingGroupName_ =+    UpdateAutoScalingGroup'+    { _uasgTerminationPolicies = Nothing+    , _uasgHealthCheckGracePeriod = Nothing+    , _uasgVPCZoneIdentifier = Nothing+    , _uasgDefaultCooldown = Nothing+    , _uasgMaxSize = Nothing+    , _uasgDesiredCapacity = Nothing+    , _uasgAvailabilityZones = Nothing+    , _uasgMinSize = Nothing+    , _uasgHealthCheckType = Nothing     , _uasgLaunchConfigurationName = Nothing-    , _uasgMinSize                 = Nothing-    , _uasgMaxSize                 = Nothing-    , _uasgDesiredCapacity         = Nothing-    , _uasgDefaultCooldown         = Nothing-    , _uasgHealthCheckType         = Nothing-    , _uasgHealthCheckGracePeriod  = Nothing-    , _uasgPlacementGroup          = Nothing-    , _uasgVPCZoneIdentifier       = Nothing-    , _uasgTerminationPolicies     = mempty+    , _uasgPlacementGroup = Nothing+    , _uasgAutoScalingGroupName = pAutoScalingGroupName_     } --- | The name of the Auto Scaling group.-uasgAutoScalingGroupName :: Lens' UpdateAutoScalingGroup Text-uasgAutoScalingGroupName =-    lens _uasgAutoScalingGroupName-        (\s a -> s { _uasgAutoScalingGroupName = a })+-- | A standalone termination policy or a list of termination policies used+-- to select the instance to terminate. The policies are executed in the+-- order that they are listed.+--+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/us-termination-policy.html Choosing a Termination Policy for Your Auto Scaling Group>+-- in the /Auto Scaling Developer Guide/.+uasgTerminationPolicies :: Lens' UpdateAutoScalingGroup [Text]+uasgTerminationPolicies = lens _uasgTerminationPolicies (\ s a -> s{_uasgTerminationPolicies = a}) . _Default . _Coerce; --- | One or more Availability Zones for the group.-uasgAvailabilityZones :: Lens' UpdateAutoScalingGroup (NonEmpty Text)-uasgAvailabilityZones =-    lens _uasgAvailabilityZones (\s a -> s { _uasgAvailabilityZones = a })-        . _List1+-- | 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 < >.+uasgHealthCheckGracePeriod :: Lens' UpdateAutoScalingGroup (Maybe Int)+uasgHealthCheckGracePeriod = lens _uasgHealthCheckGracePeriod (\ s a -> s{_uasgHealthCheckGracePeriod = a}); --- | The amount of time, in seconds, after a scaling activity completes before--- another scaling activity can start. For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/Cooldown.html UnderstandingAuto Scaling Cooldowns>.+-- | The ID of the subnet, if you are launching into a VPC. You can specify+-- several subnets in a comma-separated list.+--+-- When you specify 'VPCZoneIdentifier' with 'AvailabilityZones', ensure+-- that the subnets\' Availability Zones match the values you specify for+-- 'AvailabilityZones'.+--+-- For more information, see+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/autoscalingsubnets.html Auto Scaling and Amazon Virtual Private Cloud>+-- in the /Auto Scaling Developer Guide/.+uasgVPCZoneIdentifier :: Lens' UpdateAutoScalingGroup (Maybe Text)+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+-- <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/Cooldown.html Understanding Auto Scaling Cooldowns>. uasgDefaultCooldown :: Lens' UpdateAutoScalingGroup (Maybe Int)-uasgDefaultCooldown =-    lens _uasgDefaultCooldown (\s a -> s { _uasgDefaultCooldown = a })+uasgDefaultCooldown = lens _uasgDefaultCooldown (\ s a -> s{_uasgDefaultCooldown = a}); --- | The number of EC2 instances that should be running in the Auto Scaling group.--- This value must be greater than or equal to the minimum size of the group and--- less than or equal to the maximum size of the group.+-- | The maximum size of the Auto Scaling group.+uasgMaxSize :: Lens' UpdateAutoScalingGroup (Maybe Int)+uasgMaxSize = lens _uasgMaxSize (\ s a -> s{_uasgMaxSize = a});++-- | The number of EC2 instances that should be running in the Auto Scaling+-- group. This number must be greater than or equal to the minimum size of+-- the group and less than or equal to the maximum size of the group. uasgDesiredCapacity :: Lens' UpdateAutoScalingGroup (Maybe Int)-uasgDesiredCapacity =-    lens _uasgDesiredCapacity (\s a -> s { _uasgDesiredCapacity = a })+uasgDesiredCapacity = lens _uasgDesiredCapacity (\ s a -> s{_uasgDesiredCapacity = a}); --- | The amount of time, in second, that Auto Scaling waits before checking the--- health status of an instance. The grace period begins when the instance--- passes System Status and the Instance Status checks from Amazon EC2. For more--- information, see <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInstanceStatus.html DescribeInstanceStatus>.-uasgHealthCheckGracePeriod :: Lens' UpdateAutoScalingGroup (Maybe Int)-uasgHealthCheckGracePeriod =-    lens _uasgHealthCheckGracePeriod-        (\s a -> s { _uasgHealthCheckGracePeriod = a })+-- | One or more Availability Zones for the group.+uasgAvailabilityZones :: Lens' UpdateAutoScalingGroup (Maybe (NonEmpty Text))+uasgAvailabilityZones = lens _uasgAvailabilityZones (\ s a -> s{_uasgAvailabilityZones = a}) . mapping _List1; --- | 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 minimum size of the Auto Scaling group.+uasgMinSize :: Lens' UpdateAutoScalingGroup (Maybe Int)+uasgMinSize = lens _uasgMinSize (\ s a -> s{_uasgMinSize = 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. uasgHealthCheckType :: Lens' UpdateAutoScalingGroup (Maybe Text)-uasgHealthCheckType =-    lens _uasgHealthCheckType (\s a -> s { _uasgHealthCheckType = a })+uasgHealthCheckType = lens _uasgHealthCheckType (\ s a -> s{_uasgHealthCheckType = a});  -- | The name of the launch configuration. uasgLaunchConfigurationName :: Lens' UpdateAutoScalingGroup (Maybe Text)-uasgLaunchConfigurationName =-    lens _uasgLaunchConfigurationName-        (\s a -> s { _uasgLaunchConfigurationName = a })---- | The maximum size of the Auto Scaling group.-uasgMaxSize :: Lens' UpdateAutoScalingGroup (Maybe Int)-uasgMaxSize = lens _uasgMaxSize (\s a -> s { _uasgMaxSize = a })---- | The minimum size of the Auto Scaling group.-uasgMinSize :: Lens' UpdateAutoScalingGroup (Maybe Int)-uasgMinSize = lens _uasgMinSize (\s a -> s { _uasgMinSize = a })+uasgLaunchConfigurationName = lens _uasgLaunchConfigurationName (\ s a -> s{_uasgLaunchConfigurationName = a}); --- | The name of the placement group into which you'll launch your instances, if--- any. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html Placement Groups>.+-- | The name of the placement group into which you\'ll launch your+-- instances, if any. For more information, see+-- <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html Placement Groups>. uasgPlacementGroup :: Lens' UpdateAutoScalingGroup (Maybe Text)-uasgPlacementGroup =-    lens _uasgPlacementGroup (\s a -> s { _uasgPlacementGroup = a })---- | A standalone termination policy or a list of termination policies used to--- select the instance to terminate. The policies are executed in the order that--- they are listed.------ For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/us-termination-policy.html Choosing a Termination Policy for Your AutoScaling Group> in the /Auto Scaling Developer Guide/.-uasgTerminationPolicies :: Lens' UpdateAutoScalingGroup [Text]-uasgTerminationPolicies =-    lens _uasgTerminationPolicies (\s a -> s { _uasgTerminationPolicies = a })-        . _List+uasgPlacementGroup = lens _uasgPlacementGroup (\ s a -> s{_uasgPlacementGroup = a}); --- | The subnet identifier for the Amazon VPC connection, if applicable. You can--- specify several subnets in a comma-separated list.------ When you specify 'VPCZoneIdentifier' with 'AvailabilityZones', ensure that the--- subnets' Availability Zones match the values you specify for 'AvailabilityZones'--- .------ For more information, see <http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/autoscalingsubnets.html Auto Scaling and Amazon VPC> in the /Auto ScalingDeveloper Guide/.-uasgVPCZoneIdentifier :: Lens' UpdateAutoScalingGroup (Maybe Text)-uasgVPCZoneIdentifier =-    lens _uasgVPCZoneIdentifier (\s a -> s { _uasgVPCZoneIdentifier = a })+-- | The name of the Auto Scaling group.+uasgAutoScalingGroupName :: Lens' UpdateAutoScalingGroup Text+uasgAutoScalingGroupName = lens _uasgAutoScalingGroupName (\ s a -> s{_uasgAutoScalingGroupName = a}); -data UpdateAutoScalingGroupResponse = UpdateAutoScalingGroupResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest UpdateAutoScalingGroup where+        type Sv UpdateAutoScalingGroup = AutoScaling+        type Rs UpdateAutoScalingGroup =+             UpdateAutoScalingGroupResponse+        request = postQuery+        response+          = receiveNull UpdateAutoScalingGroupResponse' --- | 'UpdateAutoScalingGroupResponse' constructor.-updateAutoScalingGroupResponse :: UpdateAutoScalingGroupResponse-updateAutoScalingGroupResponse = UpdateAutoScalingGroupResponse+instance ToHeaders UpdateAutoScalingGroup where+        toHeaders = const mempty  instance ToPath UpdateAutoScalingGroup where-    toPath = const "/"+        toPath = const "/"  instance ToQuery UpdateAutoScalingGroup where-    toQuery UpdateAutoScalingGroup{..} = mconcat-        [ "AutoScalingGroupName"    =? _uasgAutoScalingGroupName-        , "AvailabilityZones"       =? _uasgAvailabilityZones-        , "DefaultCooldown"         =? _uasgDefaultCooldown-        , "DesiredCapacity"         =? _uasgDesiredCapacity-        , "HealthCheckGracePeriod"  =? _uasgHealthCheckGracePeriod-        , "HealthCheckType"         =? _uasgHealthCheckType-        , "LaunchConfigurationName" =? _uasgLaunchConfigurationName-        , "MaxSize"                 =? _uasgMaxSize-        , "MinSize"                 =? _uasgMinSize-        , "PlacementGroup"          =? _uasgPlacementGroup-        , "TerminationPolicies"     =? _uasgTerminationPolicies-        , "VPCZoneIdentifier"       =? _uasgVPCZoneIdentifier-        ]--instance ToHeaders UpdateAutoScalingGroup+        toQuery UpdateAutoScalingGroup'{..}+          = mconcat+              ["Action" =:+                 ("UpdateAutoScalingGroup" :: ByteString),+               "Version" =: ("2011-01-01" :: ByteString),+               "TerminationPolicies" =:+                 toQuery+                   (toQueryList "member" <$> _uasgTerminationPolicies),+               "HealthCheckGracePeriod" =:+                 _uasgHealthCheckGracePeriod,+               "VPCZoneIdentifier" =: _uasgVPCZoneIdentifier,+               "DefaultCooldown" =: _uasgDefaultCooldown,+               "MaxSize" =: _uasgMaxSize,+               "DesiredCapacity" =: _uasgDesiredCapacity,+               "AvailabilityZones" =:+                 toQuery+                   (toQueryList "member" <$> _uasgAvailabilityZones),+               "MinSize" =: _uasgMinSize,+               "HealthCheckType" =: _uasgHealthCheckType,+               "LaunchConfigurationName" =:+                 _uasgLaunchConfigurationName,+               "PlacementGroup" =: _uasgPlacementGroup,+               "AutoScalingGroupName" =: _uasgAutoScalingGroupName] -instance AWSRequest UpdateAutoScalingGroup where-    type Sv UpdateAutoScalingGroup = AutoScaling-    type Rs UpdateAutoScalingGroup = UpdateAutoScalingGroupResponse+-- | /See:/ 'updateAutoScalingGroupResponse' smart constructor.+data UpdateAutoScalingGroupResponse =+    UpdateAutoScalingGroupResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "UpdateAutoScalingGroup"-    response = nullResponse UpdateAutoScalingGroupResponse+-- | Creates a value of 'UpdateAutoScalingGroupResponse' with the minimum fields required to make a request.+--+updateAutoScalingGroupResponse+    :: UpdateAutoScalingGroupResponse+updateAutoScalingGroupResponse = UpdateAutoScalingGroupResponse'
+ gen/Network/AWS/AutoScaling/Waiters.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeFamilies      #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.AutoScaling.Waiters+-- 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)+--+module Network.AWS.AutoScaling.Waiters where++import           Network.AWS.AutoScaling.Types+import           Network.AWS.Prelude+import           Network.AWS.Waiter
+ test/Main.hs view
@@ -0,0 +1,21 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Main+-- 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)+--+module Main (main) where++import Test.Tasty+import Test.AWS.AutoScaling+import Test.AWS.AutoScaling.Internal++main :: IO ()+main = defaultMain $ testGroup "AutoScaling"+    [ testGroup "tests"    tests+    , testGroup "fixtures" fixtures+    ]
+ test/Test/AWS/AutoScaling.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE OverloadedStrings #-}++-- Module      : Test.AWS.AutoScaling+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : This Source Code Form is subject to the terms of+--               the Mozilla Public License, v. 2.0.+--               A copy of the MPL can be found in the LICENSE file or+--               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++module Test.AWS.AutoScaling+    ( tests+    , fixtures+    ) where++import           Network.AWS.AutoScaling+import           Test.AWS.Gen.AutoScaling+import           Test.Tasty++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/AWS/AutoScaling/Internal.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Test.AWS.AutoScaling.Internal+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : This Source Code Form is subject to the terms of+--               the Mozilla Public License, v. 2.0.+--               A copy of the MPL can be found in the LICENSE file or+--               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++module Test.AWS.AutoScaling.Internal where++import Test.AWS.Prelude
+ test/Test/AWS/Gen/AutoScaling.hs view
@@ -0,0 +1,855 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-orphans        #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Test.AWS.Gen.AutoScaling+-- 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)+--+module Test.AWS.Gen.AutoScaling where++import Data.Proxy+import Test.AWS.Fixture+import Test.AWS.Prelude+import Test.Tasty+import Network.AWS.AutoScaling+import Test.AWS.AutoScaling.Internal++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ testDescribeMetricCollectionTypes $+--             describeMetricCollectionTypes+--+--         , testPutScalingPolicy $+--             putScalingPolicy+--+--         , testDeleteNotificationConfiguration $+--             deleteNotificationConfiguration+--+--         , testDescribeTags $+--             describeTags+--+--         , testDeleteLaunchConfiguration $+--             deleteLaunchConfiguration+--+--         , testDescribeLoadBalancers $+--             describeLoadBalancers+--+--         , testPutNotificationConfiguration $+--             putNotificationConfiguration+--+--         , testSetInstanceHealth $+--             setInstanceHealth+--+--         , testEnterStandby $+--             enterStandby+--+--         , testSuspendProcesses $+--             suspendProcesses+--+--         , testExitStandby $+--             exitStandby+--+--         , testDescribeTerminationPolicyTypes $+--             describeTerminationPolicyTypes+--+--         , testDescribeAutoScalingInstances $+--             describeAutoScalingInstances+--+--         , testDetachInstances $+--             detachInstances+--+--         , testDisableMetricsCollection $+--             disableMetricsCollection+--+--         , testRecordLifecycleActionHeartbeat $+--             recordLifecycleActionHeartbeat+--+--         , testDeleteTags $+--             deleteTags+--+--         , testDescribeScalingProcessTypes $+--             describeScalingProcessTypes+--+--         , testEnableMetricsCollection $+--             enableMetricsCollection+--+--         , testDescribeLifecycleHooks $+--             describeLifecycleHooks+--+--         , testDescribeAutoScalingGroups $+--             describeAutoScalingGroups+--+--         , testSetDesiredCapacity $+--             setDesiredCapacity+--+--         , testDetachLoadBalancers $+--             detachLoadBalancers+--+--         , testDeleteScheduledAction $+--             deleteScheduledAction+--+--         , testCreateOrUpdateTags $+--             createOrUpdateTags+--+--         , testDeletePolicy $+--             deletePolicy+--+--         , testDescribeAutoScalingNotificationTypes $+--             describeAutoScalingNotificationTypes+--+--         , testCompleteLifecycleAction $+--             completeLifecycleAction+--+--         , testAttachInstances $+--             attachInstances+--+--         , testDescribeScheduledActions $+--             describeScheduledActions+--+--         , testDeleteAutoScalingGroup $+--             deleteAutoScalingGroup+--+--         , testPutLifecycleHook $+--             putLifecycleHook+--+--         , testUpdateAutoScalingGroup $+--             updateAutoScalingGroup+--+--         , testDeleteLifecycleHook $+--             deleteLifecycleHook+--+--         , testResumeProcesses $+--             resumeProcesses+--+--         , testExecutePolicy $+--             executePolicy+--+--         , testTerminateInstanceInAutoScalingGroup $+--             terminateInstanceInAutoScalingGroup+--+--         , testDescribeAccountLimits $+--             describeAccountLimits+--+--         , testAttachLoadBalancers $+--             attachLoadBalancers+--+--         , testPutScheduledUpdateGroupAction $+--             putScheduledUpdateGroupAction+--+--         , testDescribePolicies $+--             describePolicies+--+--         , testDescribeNotificationConfigurations $+--             describeNotificationConfigurations+--+--         , testDescribeLaunchConfigurations $+--             describeLaunchConfigurations+--+--         , testDescribeLifecycleHookTypes $+--             describeLifecycleHookTypes+--+--         , testDescribeScalingActivities $+--             describeScalingActivities+--+--         , testCreateAutoScalingGroup $+--             createAutoScalingGroup+--+--         , testCreateLaunchConfiguration $+--             createLaunchConfiguration+--+--         , testDescribeAdjustmentTypes $+--             describeAdjustmentTypes+--+--           ]++--     , testGroup "response"+--         [ testDescribeMetricCollectionTypesResponse $+--             describeMetricCollectionTypesResponse+--+--         , testPutScalingPolicyResponse $+--             putScalingPolicyResponse+--+--         , testDeleteNotificationConfigurationResponse $+--             deleteNotificationConfigurationResponse+--+--         , testDescribeTagsResponse $+--             describeTagsResponse+--+--         , testDeleteLaunchConfigurationResponse $+--             deleteLaunchConfigurationResponse+--+--         , testDescribeLoadBalancersResponse $+--             describeLoadBalancersResponse+--+--         , testPutNotificationConfigurationResponse $+--             putNotificationConfigurationResponse+--+--         , testSetInstanceHealthResponse $+--             setInstanceHealthResponse+--+--         , testEnterStandbyResponse $+--             enterStandbyResponse+--+--         , testSuspendProcessesResponse $+--             suspendProcessesResponse+--+--         , testExitStandbyResponse $+--             exitStandbyResponse+--+--         , testDescribeTerminationPolicyTypesResponse $+--             describeTerminationPolicyTypesResponse+--+--         , testDescribeAutoScalingInstancesResponse $+--             describeAutoScalingInstancesResponse+--+--         , testDetachInstancesResponse $+--             detachInstancesResponse+--+--         , testDisableMetricsCollectionResponse $+--             disableMetricsCollectionResponse+--+--         , testRecordLifecycleActionHeartbeatResponse $+--             recordLifecycleActionHeartbeatResponse+--+--         , testDeleteTagsResponse $+--             deleteTagsResponse+--+--         , testDescribeScalingProcessTypesResponse $+--             describeScalingProcessTypesResponse+--+--         , testEnableMetricsCollectionResponse $+--             enableMetricsCollectionResponse+--+--         , testDescribeLifecycleHooksResponse $+--             describeLifecycleHooksResponse+--+--         , testDescribeAutoScalingGroupsResponse $+--             describeAutoScalingGroupsResponse+--+--         , testSetDesiredCapacityResponse $+--             setDesiredCapacityResponse+--+--         , testDetachLoadBalancersResponse $+--             detachLoadBalancersResponse+--+--         , testDeleteScheduledActionResponse $+--             deleteScheduledActionResponse+--+--         , testCreateOrUpdateTagsResponse $+--             createOrUpdateTagsResponse+--+--         , testDeletePolicyResponse $+--             deletePolicyResponse+--+--         , testDescribeAutoScalingNotificationTypesResponse $+--             describeAutoScalingNotificationTypesResponse+--+--         , testCompleteLifecycleActionResponse $+--             completeLifecycleActionResponse+--+--         , testAttachInstancesResponse $+--             attachInstancesResponse+--+--         , testDescribeScheduledActionsResponse $+--             describeScheduledActionsResponse+--+--         , testDeleteAutoScalingGroupResponse $+--             deleteAutoScalingGroupResponse+--+--         , testPutLifecycleHookResponse $+--             putLifecycleHookResponse+--+--         , testUpdateAutoScalingGroupResponse $+--             updateAutoScalingGroupResponse+--+--         , testDeleteLifecycleHookResponse $+--             deleteLifecycleHookResponse+--+--         , testResumeProcessesResponse $+--             resumeProcessesResponse+--+--         , testExecutePolicyResponse $+--             executePolicyResponse+--+--         , testTerminateInstanceInAutoScalingGroupResponse $+--             terminateInstanceInAutoScalingGroupResponse+--+--         , testDescribeAccountLimitsResponse $+--             describeAccountLimitsResponse+--+--         , testAttachLoadBalancersResponse $+--             attachLoadBalancersResponse+--+--         , testPutScheduledUpdateGroupActionResponse $+--             putScheduledUpdateGroupActionResponse+--+--         , testDescribePoliciesResponse $+--             describePoliciesResponse+--+--         , testDescribeNotificationConfigurationsResponse $+--             describeNotificationConfigurationsResponse+--+--         , testDescribeLaunchConfigurationsResponse $+--             describeLaunchConfigurationsResponse+--+--         , testDescribeLifecycleHookTypesResponse $+--             describeLifecycleHookTypesResponse+--+--         , testDescribeScalingActivitiesResponse $+--             describeScalingActivitiesResponse+--+--         , testCreateAutoScalingGroupResponse $+--             createAutoScalingGroupResponse+--+--         , testCreateLaunchConfigurationResponse $+--             createLaunchConfigurationResponse+--+--         , testDescribeAdjustmentTypesResponse $+--             describeAdjustmentTypesResponse+--+--           ]+--     ]++-- Requests++testDescribeMetricCollectionTypes :: DescribeMetricCollectionTypes -> TestTree+testDescribeMetricCollectionTypes = req+    "DescribeMetricCollectionTypes"+    "fixture/DescribeMetricCollectionTypes"++testPutScalingPolicy :: PutScalingPolicy -> TestTree+testPutScalingPolicy = req+    "PutScalingPolicy"+    "fixture/PutScalingPolicy"++testDeleteNotificationConfiguration :: DeleteNotificationConfiguration -> TestTree+testDeleteNotificationConfiguration = req+    "DeleteNotificationConfiguration"+    "fixture/DeleteNotificationConfiguration"++testDescribeTags :: DescribeTags -> TestTree+testDescribeTags = req+    "DescribeTags"+    "fixture/DescribeTags"++testDeleteLaunchConfiguration :: DeleteLaunchConfiguration -> TestTree+testDeleteLaunchConfiguration = req+    "DeleteLaunchConfiguration"+    "fixture/DeleteLaunchConfiguration"++testDescribeLoadBalancers :: DescribeLoadBalancers -> TestTree+testDescribeLoadBalancers = req+    "DescribeLoadBalancers"+    "fixture/DescribeLoadBalancers"++testPutNotificationConfiguration :: PutNotificationConfiguration -> TestTree+testPutNotificationConfiguration = req+    "PutNotificationConfiguration"+    "fixture/PutNotificationConfiguration"++testSetInstanceHealth :: SetInstanceHealth -> TestTree+testSetInstanceHealth = req+    "SetInstanceHealth"+    "fixture/SetInstanceHealth"++testEnterStandby :: EnterStandby -> TestTree+testEnterStandby = req+    "EnterStandby"+    "fixture/EnterStandby"++testSuspendProcesses :: SuspendProcesses -> TestTree+testSuspendProcesses = req+    "SuspendProcesses"+    "fixture/SuspendProcesses"++testExitStandby :: ExitStandby -> TestTree+testExitStandby = req+    "ExitStandby"+    "fixture/ExitStandby"++testDescribeTerminationPolicyTypes :: DescribeTerminationPolicyTypes -> TestTree+testDescribeTerminationPolicyTypes = req+    "DescribeTerminationPolicyTypes"+    "fixture/DescribeTerminationPolicyTypes"++testDescribeAutoScalingInstances :: DescribeAutoScalingInstances -> TestTree+testDescribeAutoScalingInstances = req+    "DescribeAutoScalingInstances"+    "fixture/DescribeAutoScalingInstances"++testDetachInstances :: DetachInstances -> TestTree+testDetachInstances = req+    "DetachInstances"+    "fixture/DetachInstances"++testDisableMetricsCollection :: DisableMetricsCollection -> TestTree+testDisableMetricsCollection = req+    "DisableMetricsCollection"+    "fixture/DisableMetricsCollection"++testRecordLifecycleActionHeartbeat :: RecordLifecycleActionHeartbeat -> TestTree+testRecordLifecycleActionHeartbeat = req+    "RecordLifecycleActionHeartbeat"+    "fixture/RecordLifecycleActionHeartbeat"++testDeleteTags :: DeleteTags -> TestTree+testDeleteTags = req+    "DeleteTags"+    "fixture/DeleteTags"++testDescribeScalingProcessTypes :: DescribeScalingProcessTypes -> TestTree+testDescribeScalingProcessTypes = req+    "DescribeScalingProcessTypes"+    "fixture/DescribeScalingProcessTypes"++testEnableMetricsCollection :: EnableMetricsCollection -> TestTree+testEnableMetricsCollection = req+    "EnableMetricsCollection"+    "fixture/EnableMetricsCollection"++testDescribeLifecycleHooks :: DescribeLifecycleHooks -> TestTree+testDescribeLifecycleHooks = req+    "DescribeLifecycleHooks"+    "fixture/DescribeLifecycleHooks"++testDescribeAutoScalingGroups :: DescribeAutoScalingGroups -> TestTree+testDescribeAutoScalingGroups = req+    "DescribeAutoScalingGroups"+    "fixture/DescribeAutoScalingGroups"++testSetDesiredCapacity :: SetDesiredCapacity -> TestTree+testSetDesiredCapacity = req+    "SetDesiredCapacity"+    "fixture/SetDesiredCapacity"++testDetachLoadBalancers :: DetachLoadBalancers -> TestTree+testDetachLoadBalancers = req+    "DetachLoadBalancers"+    "fixture/DetachLoadBalancers"++testDeleteScheduledAction :: DeleteScheduledAction -> TestTree+testDeleteScheduledAction = req+    "DeleteScheduledAction"+    "fixture/DeleteScheduledAction"++testCreateOrUpdateTags :: CreateOrUpdateTags -> TestTree+testCreateOrUpdateTags = req+    "CreateOrUpdateTags"+    "fixture/CreateOrUpdateTags"++testDeletePolicy :: DeletePolicy -> TestTree+testDeletePolicy = req+    "DeletePolicy"+    "fixture/DeletePolicy"++testDescribeAutoScalingNotificationTypes :: DescribeAutoScalingNotificationTypes -> TestTree+testDescribeAutoScalingNotificationTypes = req+    "DescribeAutoScalingNotificationTypes"+    "fixture/DescribeAutoScalingNotificationTypes"++testCompleteLifecycleAction :: CompleteLifecycleAction -> TestTree+testCompleteLifecycleAction = req+    "CompleteLifecycleAction"+    "fixture/CompleteLifecycleAction"++testAttachInstances :: AttachInstances -> TestTree+testAttachInstances = req+    "AttachInstances"+    "fixture/AttachInstances"++testDescribeScheduledActions :: DescribeScheduledActions -> TestTree+testDescribeScheduledActions = req+    "DescribeScheduledActions"+    "fixture/DescribeScheduledActions"++testDeleteAutoScalingGroup :: DeleteAutoScalingGroup -> TestTree+testDeleteAutoScalingGroup = req+    "DeleteAutoScalingGroup"+    "fixture/DeleteAutoScalingGroup"++testPutLifecycleHook :: PutLifecycleHook -> TestTree+testPutLifecycleHook = req+    "PutLifecycleHook"+    "fixture/PutLifecycleHook"++testUpdateAutoScalingGroup :: UpdateAutoScalingGroup -> TestTree+testUpdateAutoScalingGroup = req+    "UpdateAutoScalingGroup"+    "fixture/UpdateAutoScalingGroup"++testDeleteLifecycleHook :: DeleteLifecycleHook -> TestTree+testDeleteLifecycleHook = req+    "DeleteLifecycleHook"+    "fixture/DeleteLifecycleHook"++testResumeProcesses :: ResumeProcesses -> TestTree+testResumeProcesses = req+    "ResumeProcesses"+    "fixture/ResumeProcesses"++testExecutePolicy :: ExecutePolicy -> TestTree+testExecutePolicy = req+    "ExecutePolicy"+    "fixture/ExecutePolicy"++testTerminateInstanceInAutoScalingGroup :: TerminateInstanceInAutoScalingGroup -> TestTree+testTerminateInstanceInAutoScalingGroup = req+    "TerminateInstanceInAutoScalingGroup"+    "fixture/TerminateInstanceInAutoScalingGroup"++testDescribeAccountLimits :: DescribeAccountLimits -> TestTree+testDescribeAccountLimits = req+    "DescribeAccountLimits"+    "fixture/DescribeAccountLimits"++testAttachLoadBalancers :: AttachLoadBalancers -> TestTree+testAttachLoadBalancers = req+    "AttachLoadBalancers"+    "fixture/AttachLoadBalancers"++testPutScheduledUpdateGroupAction :: PutScheduledUpdateGroupAction -> TestTree+testPutScheduledUpdateGroupAction = req+    "PutScheduledUpdateGroupAction"+    "fixture/PutScheduledUpdateGroupAction"++testDescribePolicies :: DescribePolicies -> TestTree+testDescribePolicies = req+    "DescribePolicies"+    "fixture/DescribePolicies"++testDescribeNotificationConfigurations :: DescribeNotificationConfigurations -> TestTree+testDescribeNotificationConfigurations = req+    "DescribeNotificationConfigurations"+    "fixture/DescribeNotificationConfigurations"++testDescribeLaunchConfigurations :: DescribeLaunchConfigurations -> TestTree+testDescribeLaunchConfigurations = req+    "DescribeLaunchConfigurations"+    "fixture/DescribeLaunchConfigurations"++testDescribeLifecycleHookTypes :: DescribeLifecycleHookTypes -> TestTree+testDescribeLifecycleHookTypes = req+    "DescribeLifecycleHookTypes"+    "fixture/DescribeLifecycleHookTypes"++testDescribeScalingActivities :: DescribeScalingActivities -> TestTree+testDescribeScalingActivities = req+    "DescribeScalingActivities"+    "fixture/DescribeScalingActivities"++testCreateAutoScalingGroup :: CreateAutoScalingGroup -> TestTree+testCreateAutoScalingGroup = req+    "CreateAutoScalingGroup"+    "fixture/CreateAutoScalingGroup"++testCreateLaunchConfiguration :: CreateLaunchConfiguration -> TestTree+testCreateLaunchConfiguration = req+    "CreateLaunchConfiguration"+    "fixture/CreateLaunchConfiguration"++testDescribeAdjustmentTypes :: DescribeAdjustmentTypes -> TestTree+testDescribeAdjustmentTypes = req+    "DescribeAdjustmentTypes"+    "fixture/DescribeAdjustmentTypes"++-- Responses++testDescribeMetricCollectionTypesResponse :: DescribeMetricCollectionTypesResponse -> TestTree+testDescribeMetricCollectionTypesResponse = res+    "DescribeMetricCollectionTypesResponse"+    "fixture/DescribeMetricCollectionTypesResponse"+    (Proxy :: Proxy DescribeMetricCollectionTypes)++testPutScalingPolicyResponse :: PutScalingPolicyResponse -> TestTree+testPutScalingPolicyResponse = res+    "PutScalingPolicyResponse"+    "fixture/PutScalingPolicyResponse"+    (Proxy :: Proxy PutScalingPolicy)++testDeleteNotificationConfigurationResponse :: DeleteNotificationConfigurationResponse -> TestTree+testDeleteNotificationConfigurationResponse = res+    "DeleteNotificationConfigurationResponse"+    "fixture/DeleteNotificationConfigurationResponse"+    (Proxy :: Proxy DeleteNotificationConfiguration)++testDescribeTagsResponse :: DescribeTagsResponse -> TestTree+testDescribeTagsResponse = res+    "DescribeTagsResponse"+    "fixture/DescribeTagsResponse"+    (Proxy :: Proxy DescribeTags)++testDeleteLaunchConfigurationResponse :: DeleteLaunchConfigurationResponse -> TestTree+testDeleteLaunchConfigurationResponse = res+    "DeleteLaunchConfigurationResponse"+    "fixture/DeleteLaunchConfigurationResponse"+    (Proxy :: Proxy DeleteLaunchConfiguration)++testDescribeLoadBalancersResponse :: DescribeLoadBalancersResponse -> TestTree+testDescribeLoadBalancersResponse = res+    "DescribeLoadBalancersResponse"+    "fixture/DescribeLoadBalancersResponse"+    (Proxy :: Proxy DescribeLoadBalancers)++testPutNotificationConfigurationResponse :: PutNotificationConfigurationResponse -> TestTree+testPutNotificationConfigurationResponse = res+    "PutNotificationConfigurationResponse"+    "fixture/PutNotificationConfigurationResponse"+    (Proxy :: Proxy PutNotificationConfiguration)++testSetInstanceHealthResponse :: SetInstanceHealthResponse -> TestTree+testSetInstanceHealthResponse = res+    "SetInstanceHealthResponse"+    "fixture/SetInstanceHealthResponse"+    (Proxy :: Proxy SetInstanceHealth)++testEnterStandbyResponse :: EnterStandbyResponse -> TestTree+testEnterStandbyResponse = res+    "EnterStandbyResponse"+    "fixture/EnterStandbyResponse"+    (Proxy :: Proxy EnterStandby)++testSuspendProcessesResponse :: SuspendProcessesResponse -> TestTree+testSuspendProcessesResponse = res+    "SuspendProcessesResponse"+    "fixture/SuspendProcessesResponse"+    (Proxy :: Proxy SuspendProcesses)++testExitStandbyResponse :: ExitStandbyResponse -> TestTree+testExitStandbyResponse = res+    "ExitStandbyResponse"+    "fixture/ExitStandbyResponse"+    (Proxy :: Proxy ExitStandby)++testDescribeTerminationPolicyTypesResponse :: DescribeTerminationPolicyTypesResponse -> TestTree+testDescribeTerminationPolicyTypesResponse = res+    "DescribeTerminationPolicyTypesResponse"+    "fixture/DescribeTerminationPolicyTypesResponse"+    (Proxy :: Proxy DescribeTerminationPolicyTypes)++testDescribeAutoScalingInstancesResponse :: DescribeAutoScalingInstancesResponse -> TestTree+testDescribeAutoScalingInstancesResponse = res+    "DescribeAutoScalingInstancesResponse"+    "fixture/DescribeAutoScalingInstancesResponse"+    (Proxy :: Proxy DescribeAutoScalingInstances)++testDetachInstancesResponse :: DetachInstancesResponse -> TestTree+testDetachInstancesResponse = res+    "DetachInstancesResponse"+    "fixture/DetachInstancesResponse"+    (Proxy :: Proxy DetachInstances)++testDisableMetricsCollectionResponse :: DisableMetricsCollectionResponse -> TestTree+testDisableMetricsCollectionResponse = res+    "DisableMetricsCollectionResponse"+    "fixture/DisableMetricsCollectionResponse"+    (Proxy :: Proxy DisableMetricsCollection)++testRecordLifecycleActionHeartbeatResponse :: RecordLifecycleActionHeartbeatResponse -> TestTree+testRecordLifecycleActionHeartbeatResponse = res+    "RecordLifecycleActionHeartbeatResponse"+    "fixture/RecordLifecycleActionHeartbeatResponse"+    (Proxy :: Proxy RecordLifecycleActionHeartbeat)++testDeleteTagsResponse :: DeleteTagsResponse -> TestTree+testDeleteTagsResponse = res+    "DeleteTagsResponse"+    "fixture/DeleteTagsResponse"+    (Proxy :: Proxy DeleteTags)++testDescribeScalingProcessTypesResponse :: DescribeScalingProcessTypesResponse -> TestTree+testDescribeScalingProcessTypesResponse = res+    "DescribeScalingProcessTypesResponse"+    "fixture/DescribeScalingProcessTypesResponse"+    (Proxy :: Proxy DescribeScalingProcessTypes)++testEnableMetricsCollectionResponse :: EnableMetricsCollectionResponse -> TestTree+testEnableMetricsCollectionResponse = res+    "EnableMetricsCollectionResponse"+    "fixture/EnableMetricsCollectionResponse"+    (Proxy :: Proxy EnableMetricsCollection)++testDescribeLifecycleHooksResponse :: DescribeLifecycleHooksResponse -> TestTree+testDescribeLifecycleHooksResponse = res+    "DescribeLifecycleHooksResponse"+    "fixture/DescribeLifecycleHooksResponse"+    (Proxy :: Proxy DescribeLifecycleHooks)++testDescribeAutoScalingGroupsResponse :: DescribeAutoScalingGroupsResponse -> TestTree+testDescribeAutoScalingGroupsResponse = res+    "DescribeAutoScalingGroupsResponse"+    "fixture/DescribeAutoScalingGroupsResponse"+    (Proxy :: Proxy DescribeAutoScalingGroups)++testSetDesiredCapacityResponse :: SetDesiredCapacityResponse -> TestTree+testSetDesiredCapacityResponse = res+    "SetDesiredCapacityResponse"+    "fixture/SetDesiredCapacityResponse"+    (Proxy :: Proxy SetDesiredCapacity)++testDetachLoadBalancersResponse :: DetachLoadBalancersResponse -> TestTree+testDetachLoadBalancersResponse = res+    "DetachLoadBalancersResponse"+    "fixture/DetachLoadBalancersResponse"+    (Proxy :: Proxy DetachLoadBalancers)++testDeleteScheduledActionResponse :: DeleteScheduledActionResponse -> TestTree+testDeleteScheduledActionResponse = res+    "DeleteScheduledActionResponse"+    "fixture/DeleteScheduledActionResponse"+    (Proxy :: Proxy DeleteScheduledAction)++testCreateOrUpdateTagsResponse :: CreateOrUpdateTagsResponse -> TestTree+testCreateOrUpdateTagsResponse = res+    "CreateOrUpdateTagsResponse"+    "fixture/CreateOrUpdateTagsResponse"+    (Proxy :: Proxy CreateOrUpdateTags)++testDeletePolicyResponse :: DeletePolicyResponse -> TestTree+testDeletePolicyResponse = res+    "DeletePolicyResponse"+    "fixture/DeletePolicyResponse"+    (Proxy :: Proxy DeletePolicy)++testDescribeAutoScalingNotificationTypesResponse :: DescribeAutoScalingNotificationTypesResponse -> TestTree+testDescribeAutoScalingNotificationTypesResponse = res+    "DescribeAutoScalingNotificationTypesResponse"+    "fixture/DescribeAutoScalingNotificationTypesResponse"+    (Proxy :: Proxy DescribeAutoScalingNotificationTypes)++testCompleteLifecycleActionResponse :: CompleteLifecycleActionResponse -> TestTree+testCompleteLifecycleActionResponse = res+    "CompleteLifecycleActionResponse"+    "fixture/CompleteLifecycleActionResponse"+    (Proxy :: Proxy CompleteLifecycleAction)++testAttachInstancesResponse :: AttachInstancesResponse -> TestTree+testAttachInstancesResponse = res+    "AttachInstancesResponse"+    "fixture/AttachInstancesResponse"+    (Proxy :: Proxy AttachInstances)++testDescribeScheduledActionsResponse :: DescribeScheduledActionsResponse -> TestTree+testDescribeScheduledActionsResponse = res+    "DescribeScheduledActionsResponse"+    "fixture/DescribeScheduledActionsResponse"+    (Proxy :: Proxy DescribeScheduledActions)++testDeleteAutoScalingGroupResponse :: DeleteAutoScalingGroupResponse -> TestTree+testDeleteAutoScalingGroupResponse = res+    "DeleteAutoScalingGroupResponse"+    "fixture/DeleteAutoScalingGroupResponse"+    (Proxy :: Proxy DeleteAutoScalingGroup)++testPutLifecycleHookResponse :: PutLifecycleHookResponse -> TestTree+testPutLifecycleHookResponse = res+    "PutLifecycleHookResponse"+    "fixture/PutLifecycleHookResponse"+    (Proxy :: Proxy PutLifecycleHook)++testUpdateAutoScalingGroupResponse :: UpdateAutoScalingGroupResponse -> TestTree+testUpdateAutoScalingGroupResponse = res+    "UpdateAutoScalingGroupResponse"+    "fixture/UpdateAutoScalingGroupResponse"+    (Proxy :: Proxy UpdateAutoScalingGroup)++testDeleteLifecycleHookResponse :: DeleteLifecycleHookResponse -> TestTree+testDeleteLifecycleHookResponse = res+    "DeleteLifecycleHookResponse"+    "fixture/DeleteLifecycleHookResponse"+    (Proxy :: Proxy DeleteLifecycleHook)++testResumeProcessesResponse :: ResumeProcessesResponse -> TestTree+testResumeProcessesResponse = res+    "ResumeProcessesResponse"+    "fixture/ResumeProcessesResponse"+    (Proxy :: Proxy ResumeProcesses)++testExecutePolicyResponse :: ExecutePolicyResponse -> TestTree+testExecutePolicyResponse = res+    "ExecutePolicyResponse"+    "fixture/ExecutePolicyResponse"+    (Proxy :: Proxy ExecutePolicy)++testTerminateInstanceInAutoScalingGroupResponse :: TerminateInstanceInAutoScalingGroupResponse -> TestTree+testTerminateInstanceInAutoScalingGroupResponse = res+    "TerminateInstanceInAutoScalingGroupResponse"+    "fixture/TerminateInstanceInAutoScalingGroupResponse"+    (Proxy :: Proxy TerminateInstanceInAutoScalingGroup)++testDescribeAccountLimitsResponse :: DescribeAccountLimitsResponse -> TestTree+testDescribeAccountLimitsResponse = res+    "DescribeAccountLimitsResponse"+    "fixture/DescribeAccountLimitsResponse"+    (Proxy :: Proxy DescribeAccountLimits)++testAttachLoadBalancersResponse :: AttachLoadBalancersResponse -> TestTree+testAttachLoadBalancersResponse = res+    "AttachLoadBalancersResponse"+    "fixture/AttachLoadBalancersResponse"+    (Proxy :: Proxy AttachLoadBalancers)++testPutScheduledUpdateGroupActionResponse :: PutScheduledUpdateGroupActionResponse -> TestTree+testPutScheduledUpdateGroupActionResponse = res+    "PutScheduledUpdateGroupActionResponse"+    "fixture/PutScheduledUpdateGroupActionResponse"+    (Proxy :: Proxy PutScheduledUpdateGroupAction)++testDescribePoliciesResponse :: DescribePoliciesResponse -> TestTree+testDescribePoliciesResponse = res+    "DescribePoliciesResponse"+    "fixture/DescribePoliciesResponse"+    (Proxy :: Proxy DescribePolicies)++testDescribeNotificationConfigurationsResponse :: DescribeNotificationConfigurationsResponse -> TestTree+testDescribeNotificationConfigurationsResponse = res+    "DescribeNotificationConfigurationsResponse"+    "fixture/DescribeNotificationConfigurationsResponse"+    (Proxy :: Proxy DescribeNotificationConfigurations)++testDescribeLaunchConfigurationsResponse :: DescribeLaunchConfigurationsResponse -> TestTree+testDescribeLaunchConfigurationsResponse = res+    "DescribeLaunchConfigurationsResponse"+    "fixture/DescribeLaunchConfigurationsResponse"+    (Proxy :: Proxy DescribeLaunchConfigurations)++testDescribeLifecycleHookTypesResponse :: DescribeLifecycleHookTypesResponse -> TestTree+testDescribeLifecycleHookTypesResponse = res+    "DescribeLifecycleHookTypesResponse"+    "fixture/DescribeLifecycleHookTypesResponse"+    (Proxy :: Proxy DescribeLifecycleHookTypes)++testDescribeScalingActivitiesResponse :: DescribeScalingActivitiesResponse -> TestTree+testDescribeScalingActivitiesResponse = res+    "DescribeScalingActivitiesResponse"+    "fixture/DescribeScalingActivitiesResponse"+    (Proxy :: Proxy DescribeScalingActivities)++testCreateAutoScalingGroupResponse :: CreateAutoScalingGroupResponse -> TestTree+testCreateAutoScalingGroupResponse = res+    "CreateAutoScalingGroupResponse"+    "fixture/CreateAutoScalingGroupResponse"+    (Proxy :: Proxy CreateAutoScalingGroup)++testCreateLaunchConfigurationResponse :: CreateLaunchConfigurationResponse -> TestTree+testCreateLaunchConfigurationResponse = res+    "CreateLaunchConfigurationResponse"+    "fixture/CreateLaunchConfigurationResponse"+    (Proxy :: Proxy CreateLaunchConfiguration)++testDescribeAdjustmentTypesResponse :: DescribeAdjustmentTypesResponse -> TestTree+testDescribeAdjustmentTypesResponse = res+    "DescribeAdjustmentTypesResponse"+    "fixture/DescribeAdjustmentTypesResponse"+    (Proxy :: Proxy DescribeAdjustmentTypes)