packages feed

amazonka-elbv2 1.4.5 → 1.5.0

raw patch · 53 files changed

+2759/−1609 lines, 53 filesdep ~amazonka-coredep ~amazonka-elbv2dep ~amazonka-testPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: amazonka-core, amazonka-elbv2, amazonka-test

API changes (from Hackage documentation)

+ Network.AWS.ELBv2: ActiveImpaired :: LoadBalancerStateEnum
+ Network.AWS.ELBv2: Dualstack :: IPAddressType
+ Network.AWS.ELBv2: IP :: TargetTypeEnum
+ Network.AWS.ELBv2: IPV4 :: IPAddressType
+ Network.AWS.ELBv2: Instance :: TargetTypeEnum
+ Network.AWS.ELBv2: Network :: LoadBalancerTypeEnum
+ Network.AWS.ELBv2: TCP :: ProtocolEnum
+ Network.AWS.ELBv2: Target_IPUnusable :: TargetHealthReasonEnum
+ Network.AWS.ELBv2: Unavailable :: TargetHealthStateEnum
+ Network.AWS.ELBv2: _AllocationIdNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ELBv2: _AvailabilityZoneNotSupportedException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ELBv2: azLoadBalancerAddresses :: Lens' AvailabilityZone [LoadBalancerAddress]
+ Network.AWS.ELBv2: cIsDefault :: Lens' Certificate (Maybe Bool)
+ Network.AWS.ELBv2: data IPAddressType
+ Network.AWS.ELBv2: data Limit
+ Network.AWS.ELBv2: data LoadBalancerAddress
+ Network.AWS.ELBv2: data SubnetMapping
+ Network.AWS.ELBv2: data TargetTypeEnum
+ Network.AWS.ELBv2: lMax :: Lens' Limit (Maybe Text)
+ Network.AWS.ELBv2: lName :: Lens' Limit (Maybe Text)
+ Network.AWS.ELBv2: lbIPAddressType :: Lens' LoadBalancer (Maybe IPAddressType)
+ Network.AWS.ELBv2: lbaAllocationId :: Lens' LoadBalancerAddress (Maybe Text)
+ Network.AWS.ELBv2: lbaIPAddress :: Lens' LoadBalancerAddress (Maybe Text)
+ Network.AWS.ELBv2: limit :: Limit
+ Network.AWS.ELBv2: loadBalancerAddress :: LoadBalancerAddress
+ Network.AWS.ELBv2: smAllocationId :: Lens' SubnetMapping (Maybe Text)
+ Network.AWS.ELBv2: smSubnetId :: Lens' SubnetMapping (Maybe Text)
+ Network.AWS.ELBv2: subnetMapping :: SubnetMapping
+ Network.AWS.ELBv2: tdAvailabilityZone :: Lens' TargetDescription (Maybe Text)
+ Network.AWS.ELBv2: tgTargetType :: Lens' TargetGroup (Maybe TargetTypeEnum)
+ Network.AWS.ELBv2.AddListenerCertificates: addListenerCertificates :: Text -> AddListenerCertificates
+ Network.AWS.ELBv2.AddListenerCertificates: addListenerCertificatesResponse :: Int -> AddListenerCertificatesResponse
+ Network.AWS.ELBv2.AddListenerCertificates: alcCertificates :: Lens' AddListenerCertificates [Certificate]
+ Network.AWS.ELBv2.AddListenerCertificates: alcListenerARN :: Lens' AddListenerCertificates Text
+ Network.AWS.ELBv2.AddListenerCertificates: alcrsCertificates :: Lens' AddListenerCertificatesResponse [Certificate]
+ Network.AWS.ELBv2.AddListenerCertificates: alcrsResponseStatus :: Lens' AddListenerCertificatesResponse Int
+ Network.AWS.ELBv2.AddListenerCertificates: data AddListenerCertificates
+ Network.AWS.ELBv2.AddListenerCertificates: data AddListenerCertificatesResponse
+ Network.AWS.ELBv2.AddListenerCertificates: instance Control.DeepSeq.NFData Network.AWS.ELBv2.AddListenerCertificates.AddListenerCertificates
+ Network.AWS.ELBv2.AddListenerCertificates: instance Control.DeepSeq.NFData Network.AWS.ELBv2.AddListenerCertificates.AddListenerCertificatesResponse
+ Network.AWS.ELBv2.AddListenerCertificates: instance Data.Data.Data Network.AWS.ELBv2.AddListenerCertificates.AddListenerCertificates
+ Network.AWS.ELBv2.AddListenerCertificates: instance Data.Data.Data Network.AWS.ELBv2.AddListenerCertificates.AddListenerCertificatesResponse
+ Network.AWS.ELBv2.AddListenerCertificates: instance Data.Hashable.Class.Hashable Network.AWS.ELBv2.AddListenerCertificates.AddListenerCertificates
+ Network.AWS.ELBv2.AddListenerCertificates: instance GHC.Classes.Eq Network.AWS.ELBv2.AddListenerCertificates.AddListenerCertificates
+ Network.AWS.ELBv2.AddListenerCertificates: instance GHC.Classes.Eq Network.AWS.ELBv2.AddListenerCertificates.AddListenerCertificatesResponse
+ Network.AWS.ELBv2.AddListenerCertificates: instance GHC.Generics.Generic Network.AWS.ELBv2.AddListenerCertificates.AddListenerCertificates
+ Network.AWS.ELBv2.AddListenerCertificates: instance GHC.Generics.Generic Network.AWS.ELBv2.AddListenerCertificates.AddListenerCertificatesResponse
+ Network.AWS.ELBv2.AddListenerCertificates: instance GHC.Read.Read Network.AWS.ELBv2.AddListenerCertificates.AddListenerCertificates
+ Network.AWS.ELBv2.AddListenerCertificates: instance GHC.Read.Read Network.AWS.ELBv2.AddListenerCertificates.AddListenerCertificatesResponse
+ Network.AWS.ELBv2.AddListenerCertificates: instance GHC.Show.Show Network.AWS.ELBv2.AddListenerCertificates.AddListenerCertificates
+ Network.AWS.ELBv2.AddListenerCertificates: instance GHC.Show.Show Network.AWS.ELBv2.AddListenerCertificates.AddListenerCertificatesResponse
+ Network.AWS.ELBv2.AddListenerCertificates: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.ELBv2.AddListenerCertificates.AddListenerCertificates
+ Network.AWS.ELBv2.AddListenerCertificates: instance Network.AWS.Data.Path.ToPath Network.AWS.ELBv2.AddListenerCertificates.AddListenerCertificates
+ Network.AWS.ELBv2.AddListenerCertificates: instance Network.AWS.Data.Query.ToQuery Network.AWS.ELBv2.AddListenerCertificates.AddListenerCertificates
+ Network.AWS.ELBv2.AddListenerCertificates: instance Network.AWS.Types.AWSRequest Network.AWS.ELBv2.AddListenerCertificates.AddListenerCertificates
+ Network.AWS.ELBv2.CreateLoadBalancer: clbIPAddressType :: Lens' CreateLoadBalancer (Maybe IPAddressType)
+ Network.AWS.ELBv2.CreateLoadBalancer: clbSubnetMappings :: Lens' CreateLoadBalancer [SubnetMapping]
+ Network.AWS.ELBv2.CreateLoadBalancer: clbType :: Lens' CreateLoadBalancer (Maybe LoadBalancerTypeEnum)
+ Network.AWS.ELBv2.CreateTargetGroup: ctgTargetType :: Lens' CreateTargetGroup (Maybe TargetTypeEnum)
+ Network.AWS.ELBv2.DescribeAccountLimits: dalMarker :: Lens' DescribeAccountLimits (Maybe Text)
+ Network.AWS.ELBv2.DescribeAccountLimits: dalPageSize :: Lens' DescribeAccountLimits (Maybe Natural)
+ Network.AWS.ELBv2.DescribeAccountLimits: dalrsLimits :: Lens' DescribeAccountLimitsResponse [Limit]
+ Network.AWS.ELBv2.DescribeAccountLimits: dalrsNextMarker :: Lens' DescribeAccountLimitsResponse (Maybe Text)
+ Network.AWS.ELBv2.DescribeAccountLimits: dalrsResponseStatus :: Lens' DescribeAccountLimitsResponse Int
+ Network.AWS.ELBv2.DescribeAccountLimits: data DescribeAccountLimits
+ Network.AWS.ELBv2.DescribeAccountLimits: data DescribeAccountLimitsResponse
+ Network.AWS.ELBv2.DescribeAccountLimits: describeAccountLimits :: DescribeAccountLimits
+ Network.AWS.ELBv2.DescribeAccountLimits: describeAccountLimitsResponse :: Int -> DescribeAccountLimitsResponse
+ Network.AWS.ELBv2.DescribeAccountLimits: instance Control.DeepSeq.NFData Network.AWS.ELBv2.DescribeAccountLimits.DescribeAccountLimits
+ Network.AWS.ELBv2.DescribeAccountLimits: instance Control.DeepSeq.NFData Network.AWS.ELBv2.DescribeAccountLimits.DescribeAccountLimitsResponse
+ Network.AWS.ELBv2.DescribeAccountLimits: instance Data.Data.Data Network.AWS.ELBv2.DescribeAccountLimits.DescribeAccountLimits
+ Network.AWS.ELBv2.DescribeAccountLimits: instance Data.Data.Data Network.AWS.ELBv2.DescribeAccountLimits.DescribeAccountLimitsResponse
+ Network.AWS.ELBv2.DescribeAccountLimits: instance Data.Hashable.Class.Hashable Network.AWS.ELBv2.DescribeAccountLimits.DescribeAccountLimits
+ Network.AWS.ELBv2.DescribeAccountLimits: instance GHC.Classes.Eq Network.AWS.ELBv2.DescribeAccountLimits.DescribeAccountLimits
+ Network.AWS.ELBv2.DescribeAccountLimits: instance GHC.Classes.Eq Network.AWS.ELBv2.DescribeAccountLimits.DescribeAccountLimitsResponse
+ Network.AWS.ELBv2.DescribeAccountLimits: instance GHC.Generics.Generic Network.AWS.ELBv2.DescribeAccountLimits.DescribeAccountLimits
+ Network.AWS.ELBv2.DescribeAccountLimits: instance GHC.Generics.Generic Network.AWS.ELBv2.DescribeAccountLimits.DescribeAccountLimitsResponse
+ Network.AWS.ELBv2.DescribeAccountLimits: instance GHC.Read.Read Network.AWS.ELBv2.DescribeAccountLimits.DescribeAccountLimits
+ Network.AWS.ELBv2.DescribeAccountLimits: instance GHC.Read.Read Network.AWS.ELBv2.DescribeAccountLimits.DescribeAccountLimitsResponse
+ Network.AWS.ELBv2.DescribeAccountLimits: instance GHC.Show.Show Network.AWS.ELBv2.DescribeAccountLimits.DescribeAccountLimits
+ Network.AWS.ELBv2.DescribeAccountLimits: instance GHC.Show.Show Network.AWS.ELBv2.DescribeAccountLimits.DescribeAccountLimitsResponse
+ Network.AWS.ELBv2.DescribeAccountLimits: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.ELBv2.DescribeAccountLimits.DescribeAccountLimits
+ Network.AWS.ELBv2.DescribeAccountLimits: instance Network.AWS.Data.Path.ToPath Network.AWS.ELBv2.DescribeAccountLimits.DescribeAccountLimits
+ Network.AWS.ELBv2.DescribeAccountLimits: instance Network.AWS.Data.Query.ToQuery Network.AWS.ELBv2.DescribeAccountLimits.DescribeAccountLimits
+ Network.AWS.ELBv2.DescribeAccountLimits: instance Network.AWS.Types.AWSRequest Network.AWS.ELBv2.DescribeAccountLimits.DescribeAccountLimits
+ Network.AWS.ELBv2.DescribeListenerCertificates: data DescribeListenerCertificates
+ Network.AWS.ELBv2.DescribeListenerCertificates: data DescribeListenerCertificatesResponse
+ Network.AWS.ELBv2.DescribeListenerCertificates: describeListenerCertificates :: Text -> DescribeListenerCertificates
+ Network.AWS.ELBv2.DescribeListenerCertificates: describeListenerCertificatesResponse :: Int -> DescribeListenerCertificatesResponse
+ Network.AWS.ELBv2.DescribeListenerCertificates: dlcListenerARN :: Lens' DescribeListenerCertificates Text
+ Network.AWS.ELBv2.DescribeListenerCertificates: dlcMarker :: Lens' DescribeListenerCertificates (Maybe Text)
+ Network.AWS.ELBv2.DescribeListenerCertificates: dlcPageSize :: Lens' DescribeListenerCertificates (Maybe Natural)
+ Network.AWS.ELBv2.DescribeListenerCertificates: dlcrsCertificates :: Lens' DescribeListenerCertificatesResponse [Certificate]
+ Network.AWS.ELBv2.DescribeListenerCertificates: dlcrsNextMarker :: Lens' DescribeListenerCertificatesResponse (Maybe Text)
+ Network.AWS.ELBv2.DescribeListenerCertificates: dlcrsResponseStatus :: Lens' DescribeListenerCertificatesResponse Int
+ Network.AWS.ELBv2.DescribeListenerCertificates: instance Control.DeepSeq.NFData Network.AWS.ELBv2.DescribeListenerCertificates.DescribeListenerCertificates
+ Network.AWS.ELBv2.DescribeListenerCertificates: instance Control.DeepSeq.NFData Network.AWS.ELBv2.DescribeListenerCertificates.DescribeListenerCertificatesResponse
+ Network.AWS.ELBv2.DescribeListenerCertificates: instance Data.Data.Data Network.AWS.ELBv2.DescribeListenerCertificates.DescribeListenerCertificates
+ Network.AWS.ELBv2.DescribeListenerCertificates: instance Data.Data.Data Network.AWS.ELBv2.DescribeListenerCertificates.DescribeListenerCertificatesResponse
+ Network.AWS.ELBv2.DescribeListenerCertificates: instance Data.Hashable.Class.Hashable Network.AWS.ELBv2.DescribeListenerCertificates.DescribeListenerCertificates
+ Network.AWS.ELBv2.DescribeListenerCertificates: instance GHC.Classes.Eq Network.AWS.ELBv2.DescribeListenerCertificates.DescribeListenerCertificates
+ Network.AWS.ELBv2.DescribeListenerCertificates: instance GHC.Classes.Eq Network.AWS.ELBv2.DescribeListenerCertificates.DescribeListenerCertificatesResponse
+ Network.AWS.ELBv2.DescribeListenerCertificates: instance GHC.Generics.Generic Network.AWS.ELBv2.DescribeListenerCertificates.DescribeListenerCertificates
+ Network.AWS.ELBv2.DescribeListenerCertificates: instance GHC.Generics.Generic Network.AWS.ELBv2.DescribeListenerCertificates.DescribeListenerCertificatesResponse
+ Network.AWS.ELBv2.DescribeListenerCertificates: instance GHC.Read.Read Network.AWS.ELBv2.DescribeListenerCertificates.DescribeListenerCertificates
+ Network.AWS.ELBv2.DescribeListenerCertificates: instance GHC.Read.Read Network.AWS.ELBv2.DescribeListenerCertificates.DescribeListenerCertificatesResponse
+ Network.AWS.ELBv2.DescribeListenerCertificates: instance GHC.Show.Show Network.AWS.ELBv2.DescribeListenerCertificates.DescribeListenerCertificates
+ Network.AWS.ELBv2.DescribeListenerCertificates: instance GHC.Show.Show Network.AWS.ELBv2.DescribeListenerCertificates.DescribeListenerCertificatesResponse
+ Network.AWS.ELBv2.DescribeListenerCertificates: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.ELBv2.DescribeListenerCertificates.DescribeListenerCertificates
+ Network.AWS.ELBv2.DescribeListenerCertificates: instance Network.AWS.Data.Path.ToPath Network.AWS.ELBv2.DescribeListenerCertificates.DescribeListenerCertificates
+ Network.AWS.ELBv2.DescribeListenerCertificates: instance Network.AWS.Data.Query.ToQuery Network.AWS.ELBv2.DescribeListenerCertificates.DescribeListenerCertificates
+ Network.AWS.ELBv2.DescribeListenerCertificates: instance Network.AWS.Types.AWSRequest Network.AWS.ELBv2.DescribeListenerCertificates.DescribeListenerCertificates
+ Network.AWS.ELBv2.DescribeRules: drMarker :: Lens' DescribeRules (Maybe Text)
+ Network.AWS.ELBv2.DescribeRules: drPageSize :: Lens' DescribeRules (Maybe Natural)
+ Network.AWS.ELBv2.DescribeRules: drsrsNextMarker :: Lens' DescribeRulesResponse (Maybe Text)
+ Network.AWS.ELBv2.RemoveListenerCertificates: data RemoveListenerCertificates
+ Network.AWS.ELBv2.RemoveListenerCertificates: data RemoveListenerCertificatesResponse
+ Network.AWS.ELBv2.RemoveListenerCertificates: instance Control.DeepSeq.NFData Network.AWS.ELBv2.RemoveListenerCertificates.RemoveListenerCertificates
+ Network.AWS.ELBv2.RemoveListenerCertificates: instance Control.DeepSeq.NFData Network.AWS.ELBv2.RemoveListenerCertificates.RemoveListenerCertificatesResponse
+ Network.AWS.ELBv2.RemoveListenerCertificates: instance Data.Data.Data Network.AWS.ELBv2.RemoveListenerCertificates.RemoveListenerCertificates
+ Network.AWS.ELBv2.RemoveListenerCertificates: instance Data.Data.Data Network.AWS.ELBv2.RemoveListenerCertificates.RemoveListenerCertificatesResponse
+ Network.AWS.ELBv2.RemoveListenerCertificates: instance Data.Hashable.Class.Hashable Network.AWS.ELBv2.RemoveListenerCertificates.RemoveListenerCertificates
+ Network.AWS.ELBv2.RemoveListenerCertificates: instance GHC.Classes.Eq Network.AWS.ELBv2.RemoveListenerCertificates.RemoveListenerCertificates
+ Network.AWS.ELBv2.RemoveListenerCertificates: instance GHC.Classes.Eq Network.AWS.ELBv2.RemoveListenerCertificates.RemoveListenerCertificatesResponse
+ Network.AWS.ELBv2.RemoveListenerCertificates: instance GHC.Generics.Generic Network.AWS.ELBv2.RemoveListenerCertificates.RemoveListenerCertificates
+ Network.AWS.ELBv2.RemoveListenerCertificates: instance GHC.Generics.Generic Network.AWS.ELBv2.RemoveListenerCertificates.RemoveListenerCertificatesResponse
+ Network.AWS.ELBv2.RemoveListenerCertificates: instance GHC.Read.Read Network.AWS.ELBv2.RemoveListenerCertificates.RemoveListenerCertificates
+ Network.AWS.ELBv2.RemoveListenerCertificates: instance GHC.Read.Read Network.AWS.ELBv2.RemoveListenerCertificates.RemoveListenerCertificatesResponse
+ Network.AWS.ELBv2.RemoveListenerCertificates: instance GHC.Show.Show Network.AWS.ELBv2.RemoveListenerCertificates.RemoveListenerCertificates
+ Network.AWS.ELBv2.RemoveListenerCertificates: instance GHC.Show.Show Network.AWS.ELBv2.RemoveListenerCertificates.RemoveListenerCertificatesResponse
+ Network.AWS.ELBv2.RemoveListenerCertificates: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.ELBv2.RemoveListenerCertificates.RemoveListenerCertificates
+ Network.AWS.ELBv2.RemoveListenerCertificates: instance Network.AWS.Data.Path.ToPath Network.AWS.ELBv2.RemoveListenerCertificates.RemoveListenerCertificates
+ Network.AWS.ELBv2.RemoveListenerCertificates: instance Network.AWS.Data.Query.ToQuery Network.AWS.ELBv2.RemoveListenerCertificates.RemoveListenerCertificates
+ Network.AWS.ELBv2.RemoveListenerCertificates: instance Network.AWS.Types.AWSRequest Network.AWS.ELBv2.RemoveListenerCertificates.RemoveListenerCertificates
+ Network.AWS.ELBv2.RemoveListenerCertificates: removeListenerCertificates :: Text -> RemoveListenerCertificates
+ Network.AWS.ELBv2.RemoveListenerCertificates: removeListenerCertificatesResponse :: Int -> RemoveListenerCertificatesResponse
+ Network.AWS.ELBv2.RemoveListenerCertificates: rlcCertificates :: Lens' RemoveListenerCertificates [Certificate]
+ Network.AWS.ELBv2.RemoveListenerCertificates: rlcListenerARN :: Lens' RemoveListenerCertificates Text
+ Network.AWS.ELBv2.RemoveListenerCertificates: rlcrsResponseStatus :: Lens' RemoveListenerCertificatesResponse Int
+ Network.AWS.ELBv2.SetIPAddressType: data SetIPAddressType
+ Network.AWS.ELBv2.SetIPAddressType: data SetIPAddressTypeResponse
+ Network.AWS.ELBv2.SetIPAddressType: instance Control.DeepSeq.NFData Network.AWS.ELBv2.SetIPAddressType.SetIPAddressType
+ Network.AWS.ELBv2.SetIPAddressType: instance Control.DeepSeq.NFData Network.AWS.ELBv2.SetIPAddressType.SetIPAddressTypeResponse
+ Network.AWS.ELBv2.SetIPAddressType: instance Data.Data.Data Network.AWS.ELBv2.SetIPAddressType.SetIPAddressType
+ Network.AWS.ELBv2.SetIPAddressType: instance Data.Data.Data Network.AWS.ELBv2.SetIPAddressType.SetIPAddressTypeResponse
+ Network.AWS.ELBv2.SetIPAddressType: instance Data.Hashable.Class.Hashable Network.AWS.ELBv2.SetIPAddressType.SetIPAddressType
+ Network.AWS.ELBv2.SetIPAddressType: instance GHC.Classes.Eq Network.AWS.ELBv2.SetIPAddressType.SetIPAddressType
+ Network.AWS.ELBv2.SetIPAddressType: instance GHC.Classes.Eq Network.AWS.ELBv2.SetIPAddressType.SetIPAddressTypeResponse
+ Network.AWS.ELBv2.SetIPAddressType: instance GHC.Generics.Generic Network.AWS.ELBv2.SetIPAddressType.SetIPAddressType
+ Network.AWS.ELBv2.SetIPAddressType: instance GHC.Generics.Generic Network.AWS.ELBv2.SetIPAddressType.SetIPAddressTypeResponse
+ Network.AWS.ELBv2.SetIPAddressType: instance GHC.Read.Read Network.AWS.ELBv2.SetIPAddressType.SetIPAddressType
+ Network.AWS.ELBv2.SetIPAddressType: instance GHC.Read.Read Network.AWS.ELBv2.SetIPAddressType.SetIPAddressTypeResponse
+ Network.AWS.ELBv2.SetIPAddressType: instance GHC.Show.Show Network.AWS.ELBv2.SetIPAddressType.SetIPAddressType
+ Network.AWS.ELBv2.SetIPAddressType: instance GHC.Show.Show Network.AWS.ELBv2.SetIPAddressType.SetIPAddressTypeResponse
+ Network.AWS.ELBv2.SetIPAddressType: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.ELBv2.SetIPAddressType.SetIPAddressType
+ Network.AWS.ELBv2.SetIPAddressType: instance Network.AWS.Data.Path.ToPath Network.AWS.ELBv2.SetIPAddressType.SetIPAddressType
+ Network.AWS.ELBv2.SetIPAddressType: instance Network.AWS.Data.Query.ToQuery Network.AWS.ELBv2.SetIPAddressType.SetIPAddressType
+ Network.AWS.ELBv2.SetIPAddressType: instance Network.AWS.Types.AWSRequest Network.AWS.ELBv2.SetIPAddressType.SetIPAddressType
+ Network.AWS.ELBv2.SetIPAddressType: setIPAddressType :: Text -> IPAddressType -> SetIPAddressType
+ Network.AWS.ELBv2.SetIPAddressType: setIPAddressTypeResponse :: Int -> SetIPAddressTypeResponse
+ Network.AWS.ELBv2.SetIPAddressType: siatIPAddressType :: Lens' SetIPAddressType IPAddressType
+ Network.AWS.ELBv2.SetIPAddressType: siatLoadBalancerARN :: Lens' SetIPAddressType Text
+ Network.AWS.ELBv2.SetIPAddressType: siatrsIPAddressType :: Lens' SetIPAddressTypeResponse (Maybe IPAddressType)
+ Network.AWS.ELBv2.SetIPAddressType: siatrsResponseStatus :: Lens' SetIPAddressTypeResponse Int
+ Network.AWS.ELBv2.SetSubnets: ssSubnetMappings :: Lens' SetSubnets [SubnetMapping]
+ Network.AWS.ELBv2.Types: ActiveImpaired :: LoadBalancerStateEnum
+ Network.AWS.ELBv2.Types: Dualstack :: IPAddressType
+ Network.AWS.ELBv2.Types: IP :: TargetTypeEnum
+ Network.AWS.ELBv2.Types: IPV4 :: IPAddressType
+ Network.AWS.ELBv2.Types: Instance :: TargetTypeEnum
+ Network.AWS.ELBv2.Types: Network :: LoadBalancerTypeEnum
+ Network.AWS.ELBv2.Types: TCP :: ProtocolEnum
+ Network.AWS.ELBv2.Types: Target_IPUnusable :: TargetHealthReasonEnum
+ Network.AWS.ELBv2.Types: Unavailable :: TargetHealthStateEnum
+ Network.AWS.ELBv2.Types: _AllocationIdNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ELBv2.Types: _AvailabilityZoneNotSupportedException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.ELBv2.Types: azLoadBalancerAddresses :: Lens' AvailabilityZone [LoadBalancerAddress]
+ Network.AWS.ELBv2.Types: cIsDefault :: Lens' Certificate (Maybe Bool)
+ Network.AWS.ELBv2.Types: data IPAddressType
+ Network.AWS.ELBv2.Types: data Limit
+ Network.AWS.ELBv2.Types: data LoadBalancerAddress
+ Network.AWS.ELBv2.Types: data SubnetMapping
+ Network.AWS.ELBv2.Types: data TargetTypeEnum
+ Network.AWS.ELBv2.Types: lMax :: Lens' Limit (Maybe Text)
+ Network.AWS.ELBv2.Types: lName :: Lens' Limit (Maybe Text)
+ Network.AWS.ELBv2.Types: lbIPAddressType :: Lens' LoadBalancer (Maybe IPAddressType)
+ Network.AWS.ELBv2.Types: lbaAllocationId :: Lens' LoadBalancerAddress (Maybe Text)
+ Network.AWS.ELBv2.Types: lbaIPAddress :: Lens' LoadBalancerAddress (Maybe Text)
+ Network.AWS.ELBv2.Types: limit :: Limit
+ Network.AWS.ELBv2.Types: loadBalancerAddress :: LoadBalancerAddress
+ Network.AWS.ELBv2.Types: smAllocationId :: Lens' SubnetMapping (Maybe Text)
+ Network.AWS.ELBv2.Types: smSubnetId :: Lens' SubnetMapping (Maybe Text)
+ Network.AWS.ELBv2.Types: subnetMapping :: SubnetMapping
+ Network.AWS.ELBv2.Types: tdAvailabilityZone :: Lens' TargetDescription (Maybe Text)
+ Network.AWS.ELBv2.Types: tgTargetType :: Lens' TargetGroup (Maybe TargetTypeEnum)

Files

README.md view
@@ -8,7 +8,7 @@  ## Version -`1.4.5`+`1.5.0`   ## Description
amazonka-elbv2.cabal view
@@ -1,13 +1,13 @@ name:                  amazonka-elbv2-version:               1.4.5+version:               1.5.0 synopsis:              Amazon Elastic Load Balancing SDK. homepage:              https://github.com/brendanhay/amazonka bug-reports:           https://github.com/brendanhay/amazonka/issues-license:               OtherLicense+license:               MPL-2.0 license-file:          LICENSE author:                Brendan Hay-maintainer:            Brendan Hay <brendan.g.hay@gmail.com>-copyright:             Copyright (c) 2013-2016 Brendan Hay+maintainer:            Brendan Hay <brendan.g.hay+amazonka@gmail.com>+copyright:             Copyright (c) 2013-2017 Brendan Hay category:              Network, AWS, Cloud, Distributed Computing build-type:            Simple cabal-version:         >= 1.10@@ -29,17 +29,23 @@     to get started.  source-repository head-    type:     git-    location: git://github.com/brendanhay/amazonka.git+    type:              git+    location:          git://github.com/brendanhay/amazonka.git+    subdir:            amazonka-elbv2  library     default-language:  Haskell2010     hs-source-dirs:    src gen -    ghc-options:       -Wall+    ghc-options:+        -Wall+        -fwarn-incomplete-uni-patterns+        -fwarn-incomplete-record-updates+        -funbox-strict-fields      exposed-modules:           Network.AWS.ELBv2+        , Network.AWS.ELBv2.AddListenerCertificates         , Network.AWS.ELBv2.AddTags         , Network.AWS.ELBv2.CreateListener         , Network.AWS.ELBv2.CreateLoadBalancer@@ -50,6 +56,8 @@         , Network.AWS.ELBv2.DeleteRule         , Network.AWS.ELBv2.DeleteTargetGroup         , Network.AWS.ELBv2.DeregisterTargets+        , Network.AWS.ELBv2.DescribeAccountLimits+        , Network.AWS.ELBv2.DescribeListenerCertificates         , Network.AWS.ELBv2.DescribeListeners         , Network.AWS.ELBv2.DescribeLoadBalancerAttributes         , Network.AWS.ELBv2.DescribeLoadBalancers@@ -65,7 +73,9 @@         , Network.AWS.ELBv2.ModifyTargetGroup         , Network.AWS.ELBv2.ModifyTargetGroupAttributes         , Network.AWS.ELBv2.RegisterTargets+        , Network.AWS.ELBv2.RemoveListenerCertificates         , Network.AWS.ELBv2.RemoveTags+        , Network.AWS.ELBv2.SetIPAddressType         , Network.AWS.ELBv2.SetRulePriorities         , Network.AWS.ELBv2.SetSecurityGroups         , Network.AWS.ELBv2.SetSubnets@@ -77,7 +87,7 @@         , Network.AWS.ELBv2.Types.Sum      build-depends:-          amazonka-core == 1.4.5.*+          amazonka-core == 1.5.0.*         , base          >= 4.7     && < 5  test-suite amazonka-elbv2-test@@ -97,9 +107,9 @@         , Test.AWS.ELBv2.Internal      build-depends:-          amazonka-core == 1.4.5.*-        , amazonka-test == 1.4.5.*-        , amazonka-elbv2 == 1.4.5.*+          amazonka-core == 1.5.0.*+        , amazonka-test == 1.5.0.*+        , amazonka-elbv2         , base         , bytestring         , tasty
+ fixture/AddListenerCertificates.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/elasticloadbalancing/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  elasticloadbalancing.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/AddListenerCertificatesResponse.proto view
+ fixture/DescribeAccountLimits.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/elasticloadbalancing/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  elasticloadbalancing.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeAccountLimitsResponse.proto view
+ fixture/DescribeListenerCertificates.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/elasticloadbalancing/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  elasticloadbalancing.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeListenerCertificatesResponse.proto view
+ fixture/RemoveListenerCertificates.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/elasticloadbalancing/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  elasticloadbalancing.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/RemoveListenerCertificatesResponse.proto view
+ fixture/SetIPAddressType.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/elasticloadbalancing/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  elasticloadbalancing.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/SetIPAddressTypeResponse.proto view
gen/Network/AWS/ELBv2.hs view
@@ -5,9 +5,9 @@  -- | -- Module      : Network.AWS.ELBv2--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -15,13 +15,17 @@ -- -- A load balancer distributes incoming traffic across targets, such as your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered targets and ensures that it routes traffic only to healthy targets. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer. You configure a target group with a protocol and port number for connections from the load balancer to the targets, and with health check settings to be used when checking the health status of the targets. ----- Elastic Load Balancing supports two types of load balancers: Classic Load Balancers and Application Load Balancers. A Classic Load Balancer makes routing and load balancing decisions either at the transport layer (TCP/SSL) or the application layer (HTTP/HTTPS), and supports either EC2-Classic or a VPC. An Application Load Balancer makes routing and load balancing decisions at the application layer (HTTP/HTTPS), supports path-based routing, and can route requests to one or more ports on each EC2 instance or container instance in your virtual private cloud (VPC). For more information, see the <http://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/ Elastic Load Balancing User Guide> .+-- Elastic Load Balancing supports the following types of load balancers: Application Load Balancers, Network Load Balancers, and Classic Load Balancers. ----- This reference covers the 2015-12-01 API, which supports Application Load Balancers. The 2012-06-01 API supports Classic Load Balancers.+-- An Application Load Balancer makes routing and load balancing decisions at the application layer (HTTP/HTTPS). A Network Load Balancer makes routing and load balancing decisions at the transport layer (TCP). Both Application Load Balancers and Network Load Balancers can route requests to one or more ports on each EC2 instance or container instance in your virtual private cloud (VPC). --+-- A Classic Load Balancer makes routing and load balancing decisions either at the transport layer (TCP/SSL) or the application layer (HTTP/HTTPS), and supports either EC2-Classic or a VPC. For more information, see the <http://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/ Elastic Load Balancing User Guide> .+--+-- This reference covers the 2015-12-01 API, which supports Application Load Balancers and Network Load Balancers. The 2012-06-01 API supports Classic Load Balancers.+-- -- To get started, complete the following tasks: -----     * Create an Application Load Balancer using 'CreateLoadBalancer' .+--     * Create a load balancer using 'CreateLoadBalancer' . -- --     * Create a target group using 'CreateTargetGroup' . --@@ -29,11 +33,9 @@ -- --     * Create one or more listeners for your load balancer using 'CreateListener' . -----     * (Optional) Create one or more rules for content routing based on URL using 'CreateRule' . -- -------- To delete an Application Load Balancer and its related resources, complete the following tasks:+-- To delete a load balancer and its related resources, complete the following tasks: -- --     * Delete the load balancer using 'DeleteLoadBalancer' . --@@ -96,6 +98,9 @@     -- ** HealthUnavailableException     , _HealthUnavailableException +    -- ** AllocationIdNotFoundException+    , _AllocationIdNotFoundException+     -- ** PriorityInUseException     , _PriorityInUseException @@ -135,6 +140,9 @@     -- ** InvalidSchemeException     , _InvalidSchemeException +    -- ** AvailabilityZoneNotSupportedException+    , _AvailabilityZoneNotSupportedException+     -- ** LoadBalancerNotFoundException     , _LoadBalancerNotFoundException @@ -171,6 +179,9 @@     -- ** CreateRule     , module Network.AWS.ELBv2.CreateRule +    -- ** DescribeListenerCertificates+    , module Network.AWS.ELBv2.DescribeListenerCertificates+     -- ** SetSecurityGroups     , module Network.AWS.ELBv2.SetSecurityGroups @@ -207,6 +218,9 @@     -- ** DescribeSSLPolicies     , module Network.AWS.ELBv2.DescribeSSLPolicies +    -- ** DescribeAccountLimits+    , module Network.AWS.ELBv2.DescribeAccountLimits+     -- ** DeregisterTargets     , module Network.AWS.ELBv2.DeregisterTargets @@ -219,6 +233,9 @@     -- ** ModifyLoadBalancerAttributes     , module Network.AWS.ELBv2.ModifyLoadBalancerAttributes +    -- ** SetIPAddressType+    , module Network.AWS.ELBv2.SetIPAddressType+     -- ** AddTags     , module Network.AWS.ELBv2.AddTags @@ -234,14 +251,23 @@     -- ** CreateLoadBalancer     , module Network.AWS.ELBv2.CreateLoadBalancer +    -- ** RemoveListenerCertificates+    , module Network.AWS.ELBv2.RemoveListenerCertificates+     -- ** ModifyRule     , module Network.AWS.ELBv2.ModifyRule +    -- ** AddListenerCertificates+    , module Network.AWS.ELBv2.AddListenerCertificates+     -- * Types      -- ** ActionTypeEnum     , ActionTypeEnum (..) +    -- ** IPAddressType+    , IPAddressType (..)+     -- ** LoadBalancerSchemeEnum     , LoadBalancerSchemeEnum (..) @@ -260,6 +286,9 @@     -- ** TargetHealthStateEnum     , TargetHealthStateEnum (..) +    -- ** TargetTypeEnum+    , TargetTypeEnum (..)+     -- ** Action     , Action     , action@@ -271,11 +300,13 @@     , availabilityZone     , azSubnetId     , azZoneName+    , azLoadBalancerAddresses      -- ** Certificate     , Certificate     , certificate     , cCertificateARN+    , cIsDefault      -- ** Cipher     , Cipher@@ -283,6 +314,12 @@     , cPriority     , cName +    -- ** Limit+    , Limit+    , limit+    , lMax+    , lName+     -- ** Listener     , Listener     , listener@@ -305,10 +342,17 @@     , lbCanonicalHostedZoneId     , lbAvailabilityZones     , lbLoadBalancerARN+    , lbIPAddressType     , lbScheme     , lbType     , lbDNSName +    -- ** LoadBalancerAddress+    , LoadBalancerAddress+    , loadBalancerAddress+    , lbaIPAddress+    , lbaAllocationId+     -- ** LoadBalancerAttribute     , LoadBalancerAttribute     , loadBalancerAttribute@@ -354,6 +398,12 @@     , spName     , spSSLProtocols +    -- ** SubnetMapping+    , SubnetMapping+    , subnetMapping+    , smAllocationId+    , smSubnetId+     -- ** Tag     , Tag     , tag@@ -369,6 +419,7 @@     -- ** TargetDescription     , TargetDescription     , targetDescription+    , tdAvailabilityZone     , tdPort     , tdId @@ -382,6 +433,7 @@     , tgTargetGroupARN     , tgProtocol     , tgHealthCheckIntervalSeconds+    , tgTargetType     , tgHealthyThresholdCount     , tgHealthCheckProtocol     , tgLoadBalancerARNs@@ -411,37 +463,42 @@     , thdTarget     ) where -import           Network.AWS.ELBv2.AddTags-import           Network.AWS.ELBv2.CreateListener-import           Network.AWS.ELBv2.CreateLoadBalancer-import           Network.AWS.ELBv2.CreateRule-import           Network.AWS.ELBv2.CreateTargetGroup-import           Network.AWS.ELBv2.DeleteListener-import           Network.AWS.ELBv2.DeleteLoadBalancer-import           Network.AWS.ELBv2.DeleteRule-import           Network.AWS.ELBv2.DeleteTargetGroup-import           Network.AWS.ELBv2.DeregisterTargets-import           Network.AWS.ELBv2.DescribeListeners-import           Network.AWS.ELBv2.DescribeLoadBalancerAttributes-import           Network.AWS.ELBv2.DescribeLoadBalancers-import           Network.AWS.ELBv2.DescribeRules-import           Network.AWS.ELBv2.DescribeSSLPolicies-import           Network.AWS.ELBv2.DescribeTags-import           Network.AWS.ELBv2.DescribeTargetGroupAttributes-import           Network.AWS.ELBv2.DescribeTargetGroups-import           Network.AWS.ELBv2.DescribeTargetHealth-import           Network.AWS.ELBv2.ModifyListener-import           Network.AWS.ELBv2.ModifyLoadBalancerAttributes-import           Network.AWS.ELBv2.ModifyRule-import           Network.AWS.ELBv2.ModifyTargetGroup-import           Network.AWS.ELBv2.ModifyTargetGroupAttributes-import           Network.AWS.ELBv2.RegisterTargets-import           Network.AWS.ELBv2.RemoveTags-import           Network.AWS.ELBv2.SetRulePriorities-import           Network.AWS.ELBv2.SetSecurityGroups-import           Network.AWS.ELBv2.SetSubnets-import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Waiters+import Network.AWS.ELBv2.AddListenerCertificates+import Network.AWS.ELBv2.AddTags+import Network.AWS.ELBv2.CreateListener+import Network.AWS.ELBv2.CreateLoadBalancer+import Network.AWS.ELBv2.CreateRule+import Network.AWS.ELBv2.CreateTargetGroup+import Network.AWS.ELBv2.DeleteListener+import Network.AWS.ELBv2.DeleteLoadBalancer+import Network.AWS.ELBv2.DeleteRule+import Network.AWS.ELBv2.DeleteTargetGroup+import Network.AWS.ELBv2.DeregisterTargets+import Network.AWS.ELBv2.DescribeAccountLimits+import Network.AWS.ELBv2.DescribeListenerCertificates+import Network.AWS.ELBv2.DescribeListeners+import Network.AWS.ELBv2.DescribeLoadBalancerAttributes+import Network.AWS.ELBv2.DescribeLoadBalancers+import Network.AWS.ELBv2.DescribeRules+import Network.AWS.ELBv2.DescribeSSLPolicies+import Network.AWS.ELBv2.DescribeTags+import Network.AWS.ELBv2.DescribeTargetGroupAttributes+import Network.AWS.ELBv2.DescribeTargetGroups+import Network.AWS.ELBv2.DescribeTargetHealth+import Network.AWS.ELBv2.ModifyListener+import Network.AWS.ELBv2.ModifyLoadBalancerAttributes+import Network.AWS.ELBv2.ModifyRule+import Network.AWS.ELBv2.ModifyTargetGroup+import Network.AWS.ELBv2.ModifyTargetGroupAttributes+import Network.AWS.ELBv2.RegisterTargets+import Network.AWS.ELBv2.RemoveListenerCertificates+import Network.AWS.ELBv2.RemoveTags+import Network.AWS.ELBv2.SetIPAddressType+import Network.AWS.ELBv2.SetRulePriorities+import Network.AWS.ELBv2.SetSecurityGroups+import Network.AWS.ELBv2.SetSubnets+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Waiters  {- $errors Error matchers are designed for use with the functions provided by
+ gen/Network/AWS/ELBv2/AddListenerCertificates.hs view
@@ -0,0 +1,144 @@+{-# 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.ELBv2.AddListenerCertificates+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds the specified certificate to the specified secure listener.+--+--+-- If the certificate was already added, the call is successful but the certificate is not added again.+--+-- To list the certificates for your listener, use 'DescribeListenerCertificates' . To remove certificates from your listener, use 'RemoveListenerCertificates' .+--+module Network.AWS.ELBv2.AddListenerCertificates+    (+    -- * Creating a Request+      addListenerCertificates+    , AddListenerCertificates+    -- * Request Lenses+    , alcListenerARN+    , alcCertificates++    -- * Destructuring the Response+    , addListenerCertificatesResponse+    , AddListenerCertificatesResponse+    -- * Response Lenses+    , alcrsCertificates+    , alcrsResponseStatus+    ) where++import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'addListenerCertificates' smart constructor.+data AddListenerCertificates = AddListenerCertificates'+  { _alcListenerARN  :: !Text+  , _alcCertificates :: ![Certificate]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AddListenerCertificates' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'alcListenerARN' - The Amazon Resource Name (ARN) of the listener.+--+-- * 'alcCertificates' - The certificate to add. You can specify one certificate per call.+addListenerCertificates+    :: Text -- ^ 'alcListenerARN'+    -> AddListenerCertificates+addListenerCertificates pListenerARN_ =+  AddListenerCertificates'+  {_alcListenerARN = pListenerARN_, _alcCertificates = mempty}+++-- | The Amazon Resource Name (ARN) of the listener.+alcListenerARN :: Lens' AddListenerCertificates Text+alcListenerARN = lens _alcListenerARN (\ s a -> s{_alcListenerARN = a});++-- | The certificate to add. You can specify one certificate per call.+alcCertificates :: Lens' AddListenerCertificates [Certificate]+alcCertificates = lens _alcCertificates (\ s a -> s{_alcCertificates = a}) . _Coerce;++instance AWSRequest AddListenerCertificates where+        type Rs AddListenerCertificates =+             AddListenerCertificatesResponse+        request = postQuery eLBv2+        response+          = receiveXMLWrapper "AddListenerCertificatesResult"+              (\ s h x ->+                 AddListenerCertificatesResponse' <$>+                   (x .@? "Certificates" .!@ mempty >>=+                      may (parseXMLList "member"))+                     <*> (pure (fromEnum s)))++instance Hashable AddListenerCertificates where++instance NFData AddListenerCertificates where++instance ToHeaders AddListenerCertificates where+        toHeaders = const mempty++instance ToPath AddListenerCertificates where+        toPath = const "/"++instance ToQuery AddListenerCertificates where+        toQuery AddListenerCertificates'{..}+          = mconcat+              ["Action" =:+                 ("AddListenerCertificates" :: ByteString),+               "Version" =: ("2015-12-01" :: ByteString),+               "ListenerArn" =: _alcListenerARN,+               "Certificates" =:+                 toQueryList "member" _alcCertificates]++-- | /See:/ 'addListenerCertificatesResponse' smart constructor.+data AddListenerCertificatesResponse = AddListenerCertificatesResponse'+  { _alcrsCertificates   :: !(Maybe [Certificate])+  , _alcrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AddListenerCertificatesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'alcrsCertificates' - Information about the certificates.+--+-- * 'alcrsResponseStatus' - -- | The response status code.+addListenerCertificatesResponse+    :: Int -- ^ 'alcrsResponseStatus'+    -> AddListenerCertificatesResponse+addListenerCertificatesResponse pResponseStatus_ =+  AddListenerCertificatesResponse'+  {_alcrsCertificates = Nothing, _alcrsResponseStatus = pResponseStatus_}+++-- | Information about the certificates.+alcrsCertificates :: Lens' AddListenerCertificatesResponse [Certificate]+alcrsCertificates = lens _alcrsCertificates (\ s a -> s{_alcrsCertificates = a}) . _Default . _Coerce;++-- | -- | The response status code.+alcrsResponseStatus :: Lens' AddListenerCertificatesResponse Int+alcrsResponseStatus = lens _alcrsResponseStatus (\ s a -> s{_alcrsResponseStatus = a});++instance NFData AddListenerCertificatesResponse where
gen/Network/AWS/ELBv2/AddTags.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.ELBv2.AddTags--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Adds the specified tags to the specified resource. You can tag your Application Load Balancers and your target groups.+-- Adds the specified tags to the specified Elastic Load Balancing resource. You can tag your Application Load Balancers, Network Load Balancers, and your target groups. -- -- -- Each tag consists of a key and an optional value. If a resource already has a tag with the same key, @AddTags@ updates its value.@@ -41,23 +41,20 @@     , atrsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for AddTags.------------ /See:/ 'addTags' smart constructor.+-- | /See:/ 'addTags' smart constructor. data AddTags = AddTags'-    { _atResourceARNs :: ![Text]-    , _atTags         :: !(List1 Tag)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _atResourceARNs :: ![Text]+  , _atTags         :: !(List1 Tag)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'AddTags' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -68,12 +65,9 @@ addTags     :: NonEmpty Tag -- ^ 'atTags'     -> AddTags-addTags pTags_ =-    AddTags'-    { _atResourceARNs = mempty-    , _atTags = _List1 # pTags_-    }+addTags pTags_ = AddTags' {_atResourceARNs = mempty, _atTags = _List1 # pTags_} + -- | The Amazon Resource Name (ARN) of the resource. atResourceARNs :: Lens' AddTags [Text] atResourceARNs = lens _atResourceARNs (\ s a -> s{_atResourceARNs = a}) . _Coerce;@@ -89,9 +83,9 @@           = receiveXMLWrapper "AddTagsResult"               (\ s h x -> AddTagsResponse' <$> (pure (fromEnum s))) -instance Hashable AddTags+instance Hashable AddTags where -instance NFData AddTags+instance NFData AddTags where  instance ToHeaders AddTags where         toHeaders = const mempty@@ -108,15 +102,12 @@                  toQueryList "member" _atResourceARNs,                "Tags" =: toQueryList "member" _atTags] --- | Contains the output of AddTags.------------ /See:/ 'addTagsResponse' smart constructor.+-- | /See:/ 'addTagsResponse' smart constructor. newtype AddTagsResponse = AddTagsResponse'-    { _atrsResponseStatus :: Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _atrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'AddTagsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -126,12 +117,11 @@     :: Int -- ^ 'atrsResponseStatus'     -> AddTagsResponse addTagsResponse pResponseStatus_ =-    AddTagsResponse'-    { _atrsResponseStatus = pResponseStatus_-    }+  AddTagsResponse' {_atrsResponseStatus = pResponseStatus_} + -- | -- | The response status code. atrsResponseStatus :: Lens' AddTagsResponse Int atrsResponseStatus = lens _atrsResponseStatus (\ s a -> s{_atrsResponseStatus = a}); -instance NFData AddTagsResponse+instance NFData AddTagsResponse where
gen/Network/AWS/ELBv2/CreateListener.hs view
@@ -12,21 +12,21 @@  -- | -- Module      : Network.AWS.ELBv2.CreateListener--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Creates a listener for the specified Application Load Balancer.+-- Creates a listener for the specified Application Load Balancer or Network Load Balancer. -- ----- You can create up to 10 listeners per load balancer.--- -- To update a listener, use 'ModifyListener' . When you are finished with a listener, you can delete it using 'DeleteListener' . If you are finished with both the listener and the load balancer, you can delete them both using 'DeleteLoadBalancer' . ----- For more information, see <http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html Listeners for Your Application Load Balancers> in the /Application Load Balancers Guide/ .+-- This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple listeners with the same settings, each call succeeds. --+-- For more information, see <http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html Listeners for Your Application Load Balancers> in the /Application Load Balancers Guide/ and <http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-listeners.html Listeners for Your Network Load Balancers> in the /Network Load Balancers Guide/ .+-- module Network.AWS.ELBv2.CreateListener     (     -- * Creating a Request@@ -48,62 +48,60 @@     , clrsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for CreateListener.------------ /See:/ 'createListener' smart constructor.+-- | /See:/ 'createListener' smart constructor. data CreateListener = CreateListener'-    { _clSSLPolicy       :: !(Maybe Text)-    , _clCertificates    :: !(Maybe [Certificate])-    , _clLoadBalancerARN :: !Text-    , _clProtocol        :: !ProtocolEnum-    , _clPort            :: !Nat-    , _clDefaultActions  :: ![Action]-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _clSSLPolicy       :: !(Maybe Text)+  , _clCertificates    :: !(Maybe [Certificate])+  , _clLoadBalancerARN :: !Text+  , _clProtocol        :: !ProtocolEnum+  , _clPort            :: !Nat+  , _clDefaultActions  :: ![Action]+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateListener' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'clSSLPolicy' - The security policy that defines which ciphers and protocols are supported. The default is the current predefined security policy.+-- * 'clSSLPolicy' - [HTTPS listeners] The security policy that defines which ciphers and protocols are supported. The default is the current predefined security policy. ----- * 'clCertificates' - The SSL server certificate. You must provide exactly one certificate if the protocol is HTTPS.+-- * 'clCertificates' - [HTTPS listeners] The SSL server certificate. You must provide exactly one certificate. -- -- * 'clLoadBalancerARN' - The Amazon Resource Name (ARN) of the load balancer. ----- * 'clProtocol' - The protocol for connections from clients to the load balancer.+-- * 'clProtocol' - The protocol for connections from clients to the load balancer. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocol is TCP. -- -- * 'clPort' - The port on which the load balancer is listening. ----- * 'clDefaultActions' - The default action for the listener.+-- * 'clDefaultActions' - The default action for the listener. For Application Load Balancers, the protocol of the specified target group must be HTTP or HTTPS. For Network Load Balancers, the protocol of the specified target group must be TCP. createListener     :: Text -- ^ 'clLoadBalancerARN'     -> ProtocolEnum -- ^ 'clProtocol'     -> Natural -- ^ 'clPort'     -> CreateListener createListener pLoadBalancerARN_ pProtocol_ pPort_ =-    CreateListener'-    { _clSSLPolicy = Nothing-    , _clCertificates = Nothing-    , _clLoadBalancerARN = pLoadBalancerARN_-    , _clProtocol = pProtocol_-    , _clPort = _Nat # pPort_-    , _clDefaultActions = mempty-    }+  CreateListener'+  { _clSSLPolicy = Nothing+  , _clCertificates = Nothing+  , _clLoadBalancerARN = pLoadBalancerARN_+  , _clProtocol = pProtocol_+  , _clPort = _Nat # pPort_+  , _clDefaultActions = mempty+  } --- | The security policy that defines which ciphers and protocols are supported. The default is the current predefined security policy.++-- | [HTTPS listeners] The security policy that defines which ciphers and protocols are supported. The default is the current predefined security policy. clSSLPolicy :: Lens' CreateListener (Maybe Text) clSSLPolicy = lens _clSSLPolicy (\ s a -> s{_clSSLPolicy = a}); --- | The SSL server certificate. You must provide exactly one certificate if the protocol is HTTPS.+-- | [HTTPS listeners] The SSL server certificate. You must provide exactly one certificate. clCertificates :: Lens' CreateListener [Certificate] clCertificates = lens _clCertificates (\ s a -> s{_clCertificates = a}) . _Default . _Coerce; @@ -111,7 +109,7 @@ clLoadBalancerARN :: Lens' CreateListener Text clLoadBalancerARN = lens _clLoadBalancerARN (\ s a -> s{_clLoadBalancerARN = a}); --- | The protocol for connections from clients to the load balancer.+-- | The protocol for connections from clients to the load balancer. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocol is TCP. clProtocol :: Lens' CreateListener ProtocolEnum clProtocol = lens _clProtocol (\ s a -> s{_clProtocol = a}); @@ -119,7 +117,7 @@ clPort :: Lens' CreateListener Natural clPort = lens _clPort (\ s a -> s{_clPort = a}) . _Nat; --- | The default action for the listener.+-- | The default action for the listener. For Application Load Balancers, the protocol of the specified target group must be HTTP or HTTPS. For Network Load Balancers, the protocol of the specified target group must be TCP. clDefaultActions :: Lens' CreateListener [Action] clDefaultActions = lens _clDefaultActions (\ s a -> s{_clDefaultActions = a}) . _Coerce; @@ -134,9 +132,9 @@                       may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable CreateListener+instance Hashable CreateListener where -instance NFData CreateListener+instance NFData CreateListener where  instance ToHeaders CreateListener where         toHeaders = const mempty@@ -157,16 +155,13 @@                "DefaultActions" =:                  toQueryList "member" _clDefaultActions] --- | Contains the output of CreateListener.------------ /See:/ 'createListenerResponse' smart constructor.+-- | /See:/ 'createListenerResponse' smart constructor. data CreateListenerResponse = CreateListenerResponse'-    { _clrsListeners      :: !(Maybe [Listener])-    , _clrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _clrsListeners      :: !(Maybe [Listener])+  , _clrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateListenerResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -178,11 +173,10 @@     :: Int -- ^ 'clrsResponseStatus'     -> CreateListenerResponse createListenerResponse pResponseStatus_ =-    CreateListenerResponse'-    { _clrsListeners = Nothing-    , _clrsResponseStatus = pResponseStatus_-    }+  CreateListenerResponse'+  {_clrsListeners = Nothing, _clrsResponseStatus = pResponseStatus_} + -- | Information about the listener. clrsListeners :: Lens' CreateListenerResponse [Listener] clrsListeners = lens _clrsListeners (\ s a -> s{_clrsListeners = a}) . _Default . _Coerce;@@ -191,4 +185,4 @@ clrsResponseStatus :: Lens' CreateListenerResponse Int clrsResponseStatus = lens _clrsResponseStatus (\ s a -> s{_clrsResponseStatus = a}); -instance NFData CreateListenerResponse+instance NFData CreateListenerResponse where
gen/Network/AWS/ELBv2/CreateLoadBalancer.hs view
@@ -12,34 +12,39 @@  -- | -- Module      : Network.AWS.ELBv2.CreateLoadBalancer--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Creates an Application Load Balancer.+-- Creates an Application Load Balancer or a Network Load Balancer. -- ----- To create listeners for your load balancer, use 'CreateListener' . You can add security groups, subnets, and tags when you create your load balancer, or you can add them later using 'SetSecurityGroups' , 'SetSubnets' , and 'AddTags' .+-- When you create a load balancer, you can specify security groups, subnets, IP address type, and tags. Otherwise, you could do so later using 'SetSecurityGroups' , 'SetSubnets' , 'SetIpAddressType' , and 'AddTags' . ----- To describe your current load balancers, see 'DescribeLoadBalancers' . When you are finished with a load balancer, you can delete it using 'DeleteLoadBalancer' .+-- To create listeners for your load balancer, use 'CreateListener' . To describe your current load balancers, see 'DescribeLoadBalancers' . When you are finished with a load balancer, you can delete it using 'DeleteLoadBalancer' . ----- You can create up to 20 load balancers per region per account. You can request an increase for the number of load balancers for your account. For more information, see <http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html Limits for Your Application Load Balancer> in the /Application Load Balancers Guide/ .+-- For limit information, see <http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html Limits for Your Application Load Balancer> in the /Application Load Balancers Guide/ and <http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html Limits for Your Network Load Balancer> in the /Network Load Balancers Guide/ . ----- For more information, see <http://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html Application Load Balancers> in the /Application Load Balancers Guide/ .+-- This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple load balancers with the same settings, each call succeeds. --+-- For more information, see <http://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html Application Load Balancers> in the /Application Load Balancers Guide/ and <http://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html Network Load Balancers> in the /Network Load Balancers Guide/ .+-- module Network.AWS.ELBv2.CreateLoadBalancer     (     -- * Creating a Request       createLoadBalancer     , CreateLoadBalancer     -- * Request Lenses+    , clbSubnetMappings     , clbSecurityGroups+    , clbSubnets+    , clbIPAddressType     , clbScheme+    , clbType     , clbTags     , clbName-    , clbSubnets      -- * Destructuring the Response     , createLoadBalancerResponse@@ -49,71 +54,93 @@     , clbrsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for CreateLoadBalancer.------------ /See:/ 'createLoadBalancer' smart constructor.+-- | /See:/ 'createLoadBalancer' smart constructor. data CreateLoadBalancer = CreateLoadBalancer'-    { _clbSecurityGroups :: !(Maybe [Text])-    , _clbScheme         :: !(Maybe LoadBalancerSchemeEnum)-    , _clbTags           :: !(Maybe (List1 Tag))-    , _clbName           :: !Text-    , _clbSubnets        :: ![Text]-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _clbSubnetMappings :: !(Maybe [SubnetMapping])+  , _clbSecurityGroups :: !(Maybe [Text])+  , _clbSubnets        :: !(Maybe [Text])+  , _clbIPAddressType  :: !(Maybe IPAddressType)+  , _clbScheme         :: !(Maybe LoadBalancerSchemeEnum)+  , _clbType           :: !(Maybe LoadBalancerTypeEnum)+  , _clbTags           :: !(Maybe (List1 Tag))+  , _clbName           :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateLoadBalancer' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'clbSecurityGroups' - The IDs of the security groups to assign to the load balancer.+-- * 'clbSubnetMappings' - The IDs of the subnets to attach to the load balancer. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings. [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets. [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet. --+-- * 'clbSecurityGroups' - [Application Load Balancers] The IDs of the security groups to assign to the load balancer.+--+-- * 'clbSubnets' - The IDs of the subnets to attach to the load balancer. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings. [Application Load Balancers] You must specify subnets from at least two Availability Zones. [Network Load Balancers] You can specify subnets from one or more Availability Zones.+--+-- * 'clbIPAddressType' - [Application Load Balancers] The type of IP addresses used by the subnets for your load balancer. The possible values are @ipv4@ (for IPv4 addresses) and @dualstack@ (for IPv4 and IPv6 addresses). Internal load balancers must use @ipv4@ .+-- -- * 'clbScheme' - The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the Internet. The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can only route requests from clients with access to the VPC for the load balancer. The default is an Internet-facing load balancer. ----- * 'clbTags' - One or more tags to assign to the load balancer.+-- * 'clbType' - The type of load balancer to create. The default is @application@ . ----- * 'clbName' - The name of the load balancer. This name must be unique within your AWS account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.+-- * 'clbTags' - One or more tags to assign to the load balancer. ----- * 'clbSubnets' - The IDs of the subnets to attach to the load balancer. You can specify only one subnet per Availability Zone. You must specify subnets from at least two Availability Zones.+-- * 'clbName' - The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen. createLoadBalancer     :: Text -- ^ 'clbName'     -> CreateLoadBalancer createLoadBalancer pName_ =-    CreateLoadBalancer'-    { _clbSecurityGroups = Nothing-    , _clbScheme = Nothing-    , _clbTags = Nothing-    , _clbName = pName_-    , _clbSubnets = mempty-    }+  CreateLoadBalancer'+  { _clbSubnetMappings = Nothing+  , _clbSecurityGroups = Nothing+  , _clbSubnets = Nothing+  , _clbIPAddressType = Nothing+  , _clbScheme = Nothing+  , _clbType = Nothing+  , _clbTags = Nothing+  , _clbName = pName_+  } --- | The IDs of the security groups to assign to the load balancer.++-- | The IDs of the subnets to attach to the load balancer. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings. [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets. [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet.+clbSubnetMappings :: Lens' CreateLoadBalancer [SubnetMapping]+clbSubnetMappings = lens _clbSubnetMappings (\ s a -> s{_clbSubnetMappings = a}) . _Default . _Coerce;++-- | [Application Load Balancers] The IDs of the security groups to assign to the load balancer. clbSecurityGroups :: Lens' CreateLoadBalancer [Text] clbSecurityGroups = lens _clbSecurityGroups (\ s a -> s{_clbSecurityGroups = a}) . _Default . _Coerce; +-- | The IDs of the subnets to attach to the load balancer. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings. [Application Load Balancers] You must specify subnets from at least two Availability Zones. [Network Load Balancers] You can specify subnets from one or more Availability Zones.+clbSubnets :: Lens' CreateLoadBalancer [Text]+clbSubnets = lens _clbSubnets (\ s a -> s{_clbSubnets = a}) . _Default . _Coerce;++-- | [Application Load Balancers] The type of IP addresses used by the subnets for your load balancer. The possible values are @ipv4@ (for IPv4 addresses) and @dualstack@ (for IPv4 and IPv6 addresses). Internal load balancers must use @ipv4@ .+clbIPAddressType :: Lens' CreateLoadBalancer (Maybe IPAddressType)+clbIPAddressType = lens _clbIPAddressType (\ s a -> s{_clbIPAddressType = a});+ -- | The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the Internet. The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can only route requests from clients with access to the VPC for the load balancer. The default is an Internet-facing load balancer. clbScheme :: Lens' CreateLoadBalancer (Maybe LoadBalancerSchemeEnum) clbScheme = lens _clbScheme (\ s a -> s{_clbScheme = a}); +-- | The type of load balancer to create. The default is @application@ .+clbType :: Lens' CreateLoadBalancer (Maybe LoadBalancerTypeEnum)+clbType = lens _clbType (\ s a -> s{_clbType = a});+ -- | One or more tags to assign to the load balancer. clbTags :: Lens' CreateLoadBalancer (Maybe (NonEmpty Tag)) clbTags = lens _clbTags (\ s a -> s{_clbTags = a}) . mapping _List1; --- | The name of the load balancer. This name must be unique within your AWS account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.+-- | The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen. clbName :: Lens' CreateLoadBalancer Text clbName = lens _clbName (\ s a -> s{_clbName = a}); --- | The IDs of the subnets to attach to the load balancer. You can specify only one subnet per Availability Zone. You must specify subnets from at least two Availability Zones.-clbSubnets :: Lens' CreateLoadBalancer [Text]-clbSubnets = lens _clbSubnets (\ s a -> s{_clbSubnets = a}) . _Coerce;- instance AWSRequest CreateLoadBalancer where         type Rs CreateLoadBalancer =              CreateLoadBalancerResponse@@ -126,9 +153,9 @@                       may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable CreateLoadBalancer+instance Hashable CreateLoadBalancer where -instance NFData CreateLoadBalancer+instance NFData CreateLoadBalancer where  instance ToHeaders CreateLoadBalancer where         toHeaders = const mempty@@ -141,25 +168,27 @@           = mconcat               ["Action" =: ("CreateLoadBalancer" :: ByteString),                "Version" =: ("2015-12-01" :: ByteString),+               "SubnetMappings" =:+                 toQuery+                   (toQueryList "member" <$> _clbSubnetMappings),                "SecurityGroups" =:                  toQuery                    (toQueryList "member" <$> _clbSecurityGroups),-               "Scheme" =: _clbScheme,+               "Subnets" =:+                 toQuery (toQueryList "member" <$> _clbSubnets),+               "IpAddressType" =: _clbIPAddressType,+               "Scheme" =: _clbScheme, "Type" =: _clbType,                "Tags" =:                  toQuery (toQueryList "member" <$> _clbTags),-               "Name" =: _clbName,-               "Subnets" =: toQueryList "member" _clbSubnets]+               "Name" =: _clbName] --- | Contains the output of CreateLoadBalancer.------------ /See:/ 'createLoadBalancerResponse' smart constructor.+-- | /See:/ 'createLoadBalancerResponse' smart constructor. data CreateLoadBalancerResponse = CreateLoadBalancerResponse'-    { _clbrsLoadBalancers  :: !(Maybe [LoadBalancer])-    , _clbrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _clbrsLoadBalancers  :: !(Maybe [LoadBalancer])+  , _clbrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateLoadBalancerResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -171,11 +200,10 @@     :: Int -- ^ 'clbrsResponseStatus'     -> CreateLoadBalancerResponse createLoadBalancerResponse pResponseStatus_ =-    CreateLoadBalancerResponse'-    { _clbrsLoadBalancers = Nothing-    , _clbrsResponseStatus = pResponseStatus_-    }+  CreateLoadBalancerResponse'+  {_clbrsLoadBalancers = Nothing, _clbrsResponseStatus = pResponseStatus_} + -- | Information about the load balancer. clbrsLoadBalancers :: Lens' CreateLoadBalancerResponse [LoadBalancer] clbrsLoadBalancers = lens _clbrsLoadBalancers (\ s a -> s{_clbrsLoadBalancers = a}) . _Default . _Coerce;@@ -184,4 +212,4 @@ clbrsResponseStatus :: Lens' CreateLoadBalancerResponse Int clbrsResponseStatus = lens _clbrsResponseStatus (\ s a -> s{_clbrsResponseStatus = a}); -instance NFData CreateLoadBalancerResponse+instance NFData CreateLoadBalancerResponse where
gen/Network/AWS/ELBv2/CreateRule.hs view
@@ -12,16 +12,16 @@  -- | -- Module      : Network.AWS.ELBv2.CreateRule--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Creates a rule for the specified listener.+-- Creates a rule for the specified listener. The listener must be associated with an Application Load Balancer. -- ----- Each rule can have one action and one condition. Rules are evaluated in priority order, from the lowest value to the highest value. When the condition for a rule is met, the specified action is taken. If no conditions are met, the default action for the default rule is taken. For more information, see <http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#listener-rules Listener Rules> in the /Application Load Balancers Guide/ .+-- Rules are evaluated in priority order, from the lowest value to the highest value. When the condition for a rule is met, the specified action is taken. If no conditions are met, the action for the default rule is taken. For more information, see <http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#listener-rules Listener Rules> in the /Application Load Balancers Guide/ . -- -- To view your current rules, use 'DescribeRules' . To update a rule, use 'ModifyRule' . To set the priorities of your rules, use 'SetRulePriorities' . To delete a rule, use 'DeleteRule' . --@@ -44,32 +44,29 @@     , crrsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for CreateRule.------------ /See:/ 'createRule' smart constructor.+-- | /See:/ 'createRule' smart constructor. data CreateRule = CreateRule'-    { _crListenerARN :: !Text-    , _crConditions  :: ![RuleCondition]-    , _crPriority    :: !Nat-    , _crActions     :: ![Action]-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _crListenerARN :: !Text+  , _crConditions  :: ![RuleCondition]+  , _crPriority    :: !Nat+  , _crActions     :: ![Action]+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateRule' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'crListenerARN' - The Amazon Resource Name (ARN) of the listener. ----- * 'crConditions' - A condition. Each condition has the field @path-pattern@ and specifies one path pattern. A path pattern is case sensitive, can be up to 255 characters in length, and can contain any of the following characters:     * A-Z, a-z, 0-9     * _ - . $ / ~ " ' @ : +     * & (using &amp;)     * * (matches 0 or more characters)     * ? (matches exactly 1 character)+-- * 'crConditions' - The conditions. Each condition specifies a field name and a single value. If the field name is @host-header@ , you can specify a single host name (for example, my.example.com). A host name is case insensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters.     * A-Z, a-z, 0-9     * - .     * * (matches 0 or more characters)     * ? (matches exactly 1 character) If the field name is @path-pattern@ , you can specify a single path pattern. A path pattern is case sensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters.     * A-Z, a-z, 0-9     * _ - . $ / ~ " ' @ : +     * & (using &amp;)     * * (matches 0 or more characters)     * ? (matches exactly 1 character) -- -- * 'crPriority' - The priority for the rule. A listener can't have multiple rules with the same priority. --@@ -79,18 +76,19 @@     -> Natural -- ^ 'crPriority'     -> CreateRule createRule pListenerARN_ pPriority_ =-    CreateRule'-    { _crListenerARN = pListenerARN_-    , _crConditions = mempty-    , _crPriority = _Nat # pPriority_-    , _crActions = mempty-    }+  CreateRule'+  { _crListenerARN = pListenerARN_+  , _crConditions = mempty+  , _crPriority = _Nat # pPriority_+  , _crActions = mempty+  } + -- | The Amazon Resource Name (ARN) of the listener. crListenerARN :: Lens' CreateRule Text crListenerARN = lens _crListenerARN (\ s a -> s{_crListenerARN = a}); --- | A condition. Each condition has the field @path-pattern@ and specifies one path pattern. A path pattern is case sensitive, can be up to 255 characters in length, and can contain any of the following characters:     * A-Z, a-z, 0-9     * _ - . $ / ~ " ' @ : +     * & (using &amp;)     * * (matches 0 or more characters)     * ? (matches exactly 1 character)+-- | The conditions. Each condition specifies a field name and a single value. If the field name is @host-header@ , you can specify a single host name (for example, my.example.com). A host name is case insensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters.     * A-Z, a-z, 0-9     * - .     * * (matches 0 or more characters)     * ? (matches exactly 1 character) If the field name is @path-pattern@ , you can specify a single path pattern. A path pattern is case sensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters.     * A-Z, a-z, 0-9     * _ - . $ / ~ " ' @ : +     * & (using &amp;)     * * (matches 0 or more characters)     * ? (matches exactly 1 character) crConditions :: Lens' CreateRule [RuleCondition] crConditions = lens _crConditions (\ s a -> s{_crConditions = a}) . _Coerce; @@ -113,9 +111,9 @@                       may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable CreateRule+instance Hashable CreateRule where -instance NFData CreateRule+instance NFData CreateRule where  instance ToHeaders CreateRule where         toHeaders = const mempty@@ -133,16 +131,13 @@                "Priority" =: _crPriority,                "Actions" =: toQueryList "member" _crActions] --- | Contains the output of CreateRule.------------ /See:/ 'createRuleResponse' smart constructor.+-- | /See:/ 'createRuleResponse' smart constructor. data CreateRuleResponse = CreateRuleResponse'-    { _crrsRules          :: !(Maybe [Rule])-    , _crrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _crrsRules          :: !(Maybe [Rule])+  , _crrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateRuleResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -154,11 +149,10 @@     :: Int -- ^ 'crrsResponseStatus'     -> CreateRuleResponse createRuleResponse pResponseStatus_ =-    CreateRuleResponse'-    { _crrsRules = Nothing-    , _crrsResponseStatus = pResponseStatus_-    }+  CreateRuleResponse'+  {_crrsRules = Nothing, _crrsResponseStatus = pResponseStatus_} + -- | Information about the rule. crrsRules :: Lens' CreateRuleResponse [Rule] crrsRules = lens _crrsRules (\ s a -> s{_crrsRules = a}) . _Default . _Coerce;@@ -167,4 +161,4 @@ crrsResponseStatus :: Lens' CreateRuleResponse Int crrsResponseStatus = lens _crrsResponseStatus (\ s a -> s{_crrsResponseStatus = a}); -instance NFData CreateRuleResponse+instance NFData CreateRuleResponse where
gen/Network/AWS/ELBv2/CreateTargetGroup.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.ELBv2.CreateTargetGroup--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -27,8 +27,10 @@ -- -- To delete a target group, use 'DeleteTargetGroup' . ----- For more information, see <http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html Target Groups for Your Application Load Balancers> in the /Application Load Balancers Guide/ .+-- This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple target groups with the same settings, each call succeeds. --+-- For more information, see <http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html Target Groups for Your Application Load Balancers> in the /Application Load Balancers Guide/ or <http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html Target Groups for Your Network Load Balancers> in the /Network Load Balancers Guide/ .+-- module Network.AWS.ELBv2.CreateTargetGroup     (     -- * Creating a Request@@ -39,6 +41,7 @@     , ctgHealthCheckPath     , ctgUnhealthyThresholdCount     , ctgHealthCheckIntervalSeconds+    , ctgTargetType     , ctgHealthyThresholdCount     , ctgHealthCheckProtocol     , ctgHealthCheckTimeoutSeconds@@ -56,57 +59,57 @@     , ctgrsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for CreateTargetGroup.------------ /See:/ 'createTargetGroup' smart constructor.+-- | /See:/ 'createTargetGroup' smart constructor. data CreateTargetGroup = CreateTargetGroup'-    { _ctgMatcher                    :: !(Maybe Matcher)-    , _ctgHealthCheckPath            :: !(Maybe Text)-    , _ctgUnhealthyThresholdCount    :: !(Maybe Nat)-    , _ctgHealthCheckIntervalSeconds :: !(Maybe Nat)-    , _ctgHealthyThresholdCount      :: !(Maybe Nat)-    , _ctgHealthCheckProtocol        :: !(Maybe ProtocolEnum)-    , _ctgHealthCheckTimeoutSeconds  :: !(Maybe Nat)-    , _ctgHealthCheckPort            :: !(Maybe Text)-    , _ctgName                       :: !Text-    , _ctgProtocol                   :: !ProtocolEnum-    , _ctgPort                       :: !Nat-    , _ctgVPCId                      :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ctgMatcher                    :: !(Maybe Matcher)+  , _ctgHealthCheckPath            :: !(Maybe Text)+  , _ctgUnhealthyThresholdCount    :: !(Maybe Nat)+  , _ctgHealthCheckIntervalSeconds :: !(Maybe Nat)+  , _ctgTargetType                 :: !(Maybe TargetTypeEnum)+  , _ctgHealthyThresholdCount      :: !(Maybe Nat)+  , _ctgHealthCheckProtocol        :: !(Maybe ProtocolEnum)+  , _ctgHealthCheckTimeoutSeconds  :: !(Maybe Nat)+  , _ctgHealthCheckPort            :: !(Maybe Text)+  , _ctgName                       :: !Text+  , _ctgProtocol                   :: !ProtocolEnum+  , _ctgPort                       :: !Nat+  , _ctgVPCId                      :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateTargetGroup' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'ctgMatcher' - The HTTP codes to use when checking for a successful response from a target. The default is 200.+-- * 'ctgMatcher' - [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful response from a target. ----- * 'ctgHealthCheckPath' - The ping path that is the destination on the targets for health checks. The default is /.+-- * 'ctgHealthCheckPath' - [HTTP/HTTPS health checks] The ping path that is the destination on the targets for health checks. The default is /. ----- * 'ctgUnhealthyThresholdCount' - The number of consecutive health check failures required before considering a target unhealthy. The default is 2.+-- * 'ctgUnhealthyThresholdCount' - The number of consecutive health check failures required before considering a target unhealthy. For Application Load Balancers, the default is 2. For Network Load Balancers, this value must be the same as the healthy threshold count. ----- * 'ctgHealthCheckIntervalSeconds' - The approximate amount of time, in seconds, between health checks of an individual target. The default is 30 seconds.+-- * 'ctgHealthCheckIntervalSeconds' - The approximate amount of time, in seconds, between health checks of an individual target. For Application Load Balancers, the range is 5 to 300 seconds. For Network Load Balancers, the supported values are 10 or 30 seconds. The default is 30 seconds. ----- * 'ctgHealthyThresholdCount' - The number of consecutive health checks successes required before considering an unhealthy target healthy. The default is 5.+-- * 'ctgTargetType' - The type of target that you must specify when registering targets with this target group. The possible values are @instance@ (targets are specified by instance ID) or @ip@ (targets are specified by IP address). The default is @instance@ . Note that you can't specify targets for a target group using both instance IDs and IP addresses. If the target type is @ip@ , specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses. ----- * 'ctgHealthCheckProtocol' - The protocol the load balancer uses when performing health checks on targets. The default is the HTTP protocol.+-- * 'ctgHealthyThresholdCount' - The number of consecutive health checks successes required before considering an unhealthy target healthy. For Application Load Balancers, the default is 5. For Network Load Balancers, the default is 3. ----- * 'ctgHealthCheckTimeoutSeconds' - The amount of time, in seconds, during which no response from a target means a failed health check. The default is 5 seconds.+-- * 'ctgHealthCheckProtocol' - The protocol the load balancer uses when performing health checks on targets. The TCP protocol is supported only if the protocol of the target group is TCP. For Application Load Balancers, the default is HTTP. For Network Load Balancers, the default is TCP. ----- * 'ctgHealthCheckPort' - The port the load balancer uses when performing health checks on targets. The default is @traffic-port@ , which indicates the port on which each target receives traffic from the load balancer.+-- * 'ctgHealthCheckTimeoutSeconds' - The amount of time, in seconds, during which no response from a target means a failed health check. For Application Load Balancers, the range is 2 to 60 seconds and the default is 5 seconds. For Network Load Balancers, this is 10 seconds for TCP and HTTPS health checks and 6 seconds for HTTP health checks. ----- * 'ctgName' - The name of the target group.+-- * 'ctgHealthCheckPort' - The port the load balancer uses when performing health checks on targets. The default is @traffic-port@ , which is the port on which each target receives traffic from the load balancer. ----- * 'ctgProtocol' - The protocol to use for routing traffic to the targets.+-- * 'ctgName' - The name of the target group. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen. --+-- * 'ctgProtocol' - The protocol to use for routing traffic to the targets. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocol is TCP.+-- -- * 'ctgPort' - The port on which the targets receive traffic. This port is used unless you specify a port override when registering the target. -- -- * 'ctgVPCId' - The identifier of the virtual private cloud (VPC).@@ -117,58 +120,64 @@     -> Text -- ^ 'ctgVPCId'     -> CreateTargetGroup createTargetGroup pName_ pProtocol_ pPort_ pVPCId_ =-    CreateTargetGroup'-    { _ctgMatcher = Nothing-    , _ctgHealthCheckPath = Nothing-    , _ctgUnhealthyThresholdCount = Nothing-    , _ctgHealthCheckIntervalSeconds = Nothing-    , _ctgHealthyThresholdCount = Nothing-    , _ctgHealthCheckProtocol = Nothing-    , _ctgHealthCheckTimeoutSeconds = Nothing-    , _ctgHealthCheckPort = Nothing-    , _ctgName = pName_-    , _ctgProtocol = pProtocol_-    , _ctgPort = _Nat # pPort_-    , _ctgVPCId = pVPCId_-    }+  CreateTargetGroup'+  { _ctgMatcher = Nothing+  , _ctgHealthCheckPath = Nothing+  , _ctgUnhealthyThresholdCount = Nothing+  , _ctgHealthCheckIntervalSeconds = Nothing+  , _ctgTargetType = Nothing+  , _ctgHealthyThresholdCount = Nothing+  , _ctgHealthCheckProtocol = Nothing+  , _ctgHealthCheckTimeoutSeconds = Nothing+  , _ctgHealthCheckPort = Nothing+  , _ctgName = pName_+  , _ctgProtocol = pProtocol_+  , _ctgPort = _Nat # pPort_+  , _ctgVPCId = pVPCId_+  } --- | The HTTP codes to use when checking for a successful response from a target. The default is 200.++-- | [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful response from a target. ctgMatcher :: Lens' CreateTargetGroup (Maybe Matcher) ctgMatcher = lens _ctgMatcher (\ s a -> s{_ctgMatcher = a}); --- | The ping path that is the destination on the targets for health checks. The default is /.+-- | [HTTP/HTTPS health checks] The ping path that is the destination on the targets for health checks. The default is /. ctgHealthCheckPath :: Lens' CreateTargetGroup (Maybe Text) ctgHealthCheckPath = lens _ctgHealthCheckPath (\ s a -> s{_ctgHealthCheckPath = a}); --- | The number of consecutive health check failures required before considering a target unhealthy. The default is 2.+-- | The number of consecutive health check failures required before considering a target unhealthy. For Application Load Balancers, the default is 2. For Network Load Balancers, this value must be the same as the healthy threshold count. ctgUnhealthyThresholdCount :: Lens' CreateTargetGroup (Maybe Natural) ctgUnhealthyThresholdCount = lens _ctgUnhealthyThresholdCount (\ s a -> s{_ctgUnhealthyThresholdCount = a}) . mapping _Nat; --- | The approximate amount of time, in seconds, between health checks of an individual target. The default is 30 seconds.+-- | The approximate amount of time, in seconds, between health checks of an individual target. For Application Load Balancers, the range is 5 to 300 seconds. For Network Load Balancers, the supported values are 10 or 30 seconds. The default is 30 seconds. ctgHealthCheckIntervalSeconds :: Lens' CreateTargetGroup (Maybe Natural) ctgHealthCheckIntervalSeconds = lens _ctgHealthCheckIntervalSeconds (\ s a -> s{_ctgHealthCheckIntervalSeconds = a}) . mapping _Nat; --- | The number of consecutive health checks successes required before considering an unhealthy target healthy. The default is 5.+-- | The type of target that you must specify when registering targets with this target group. The possible values are @instance@ (targets are specified by instance ID) or @ip@ (targets are specified by IP address). The default is @instance@ . Note that you can't specify targets for a target group using both instance IDs and IP addresses. If the target type is @ip@ , specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.+ctgTargetType :: Lens' CreateTargetGroup (Maybe TargetTypeEnum)+ctgTargetType = lens _ctgTargetType (\ s a -> s{_ctgTargetType = a});++-- | The number of consecutive health checks successes required before considering an unhealthy target healthy. For Application Load Balancers, the default is 5. For Network Load Balancers, the default is 3. ctgHealthyThresholdCount :: Lens' CreateTargetGroup (Maybe Natural) ctgHealthyThresholdCount = lens _ctgHealthyThresholdCount (\ s a -> s{_ctgHealthyThresholdCount = a}) . mapping _Nat; --- | The protocol the load balancer uses when performing health checks on targets. The default is the HTTP protocol.+-- | The protocol the load balancer uses when performing health checks on targets. The TCP protocol is supported only if the protocol of the target group is TCP. For Application Load Balancers, the default is HTTP. For Network Load Balancers, the default is TCP. ctgHealthCheckProtocol :: Lens' CreateTargetGroup (Maybe ProtocolEnum) ctgHealthCheckProtocol = lens _ctgHealthCheckProtocol (\ s a -> s{_ctgHealthCheckProtocol = a}); --- | The amount of time, in seconds, during which no response from a target means a failed health check. The default is 5 seconds.+-- | The amount of time, in seconds, during which no response from a target means a failed health check. For Application Load Balancers, the range is 2 to 60 seconds and the default is 5 seconds. For Network Load Balancers, this is 10 seconds for TCP and HTTPS health checks and 6 seconds for HTTP health checks. ctgHealthCheckTimeoutSeconds :: Lens' CreateTargetGroup (Maybe Natural) ctgHealthCheckTimeoutSeconds = lens _ctgHealthCheckTimeoutSeconds (\ s a -> s{_ctgHealthCheckTimeoutSeconds = a}) . mapping _Nat; --- | The port the load balancer uses when performing health checks on targets. The default is @traffic-port@ , which indicates the port on which each target receives traffic from the load balancer.+-- | The port the load balancer uses when performing health checks on targets. The default is @traffic-port@ , which is the port on which each target receives traffic from the load balancer. ctgHealthCheckPort :: Lens' CreateTargetGroup (Maybe Text) ctgHealthCheckPort = lens _ctgHealthCheckPort (\ s a -> s{_ctgHealthCheckPort = a}); --- | The name of the target group.+-- | The name of the target group. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen. ctgName :: Lens' CreateTargetGroup Text ctgName = lens _ctgName (\ s a -> s{_ctgName = a}); --- | The protocol to use for routing traffic to the targets.+-- | The protocol to use for routing traffic to the targets. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocol is TCP. ctgProtocol :: Lens' CreateTargetGroup ProtocolEnum ctgProtocol = lens _ctgProtocol (\ s a -> s{_ctgProtocol = a}); @@ -191,9 +200,9 @@                       may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable CreateTargetGroup+instance Hashable CreateTargetGroup where -instance NFData CreateTargetGroup+instance NFData CreateTargetGroup where  instance ToHeaders CreateTargetGroup where         toHeaders = const mempty@@ -212,6 +221,7 @@                  _ctgUnhealthyThresholdCount,                "HealthCheckIntervalSeconds" =:                  _ctgHealthCheckIntervalSeconds,+               "TargetType" =: _ctgTargetType,                "HealthyThresholdCount" =: _ctgHealthyThresholdCount,                "HealthCheckProtocol" =: _ctgHealthCheckProtocol,                "HealthCheckTimeoutSeconds" =:@@ -220,16 +230,13 @@                "Name" =: _ctgName, "Protocol" =: _ctgProtocol,                "Port" =: _ctgPort, "VpcId" =: _ctgVPCId] --- | Contains the output of CreateTargetGroup.------------ /See:/ 'createTargetGroupResponse' smart constructor.+-- | /See:/ 'createTargetGroupResponse' smart constructor. data CreateTargetGroupResponse = CreateTargetGroupResponse'-    { _ctgrsTargetGroups   :: !(Maybe [TargetGroup])-    , _ctgrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ctgrsTargetGroups   :: !(Maybe [TargetGroup])+  , _ctgrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateTargetGroupResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -241,11 +248,10 @@     :: Int -- ^ 'ctgrsResponseStatus'     -> CreateTargetGroupResponse createTargetGroupResponse pResponseStatus_ =-    CreateTargetGroupResponse'-    { _ctgrsTargetGroups = Nothing-    , _ctgrsResponseStatus = pResponseStatus_-    }+  CreateTargetGroupResponse'+  {_ctgrsTargetGroups = Nothing, _ctgrsResponseStatus = pResponseStatus_} + -- | Information about the target group. ctgrsTargetGroups :: Lens' CreateTargetGroupResponse [TargetGroup] ctgrsTargetGroups = lens _ctgrsTargetGroups (\ s a -> s{_ctgrsTargetGroups = a}) . _Default . _Coerce;@@ -254,4 +260,4 @@ ctgrsResponseStatus :: Lens' CreateTargetGroupResponse Int ctgrsResponseStatus = lens _ctgrsResponseStatus (\ s a -> s{_ctgrsResponseStatus = a}); -instance NFData CreateTargetGroupResponse+instance NFData CreateTargetGroupResponse where
gen/Network/AWS/ELBv2/DeleteListener.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.ELBv2.DeleteListener--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -38,22 +38,19 @@     , dlrsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for DeleteListener.------------ /See:/ 'deleteListener' smart constructor.+-- | /See:/ 'deleteListener' smart constructor. newtype DeleteListener = DeleteListener'-    { _dlListenerARN :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dlListenerARN :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteListener' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -62,11 +59,9 @@ deleteListener     :: Text -- ^ 'dlListenerARN'     -> DeleteListener-deleteListener pListenerARN_ =-    DeleteListener'-    { _dlListenerARN = pListenerARN_-    }+deleteListener pListenerARN_ = DeleteListener' {_dlListenerARN = pListenerARN_} + -- | The Amazon Resource Name (ARN) of the listener. dlListenerARN :: Lens' DeleteListener Text dlListenerARN = lens _dlListenerARN (\ s a -> s{_dlListenerARN = a});@@ -79,9 +74,9 @@               (\ s h x ->                  DeleteListenerResponse' <$> (pure (fromEnum s))) -instance Hashable DeleteListener+instance Hashable DeleteListener where -instance NFData DeleteListener+instance NFData DeleteListener where  instance ToHeaders DeleteListener where         toHeaders = const mempty@@ -96,15 +91,12 @@                "Version" =: ("2015-12-01" :: ByteString),                "ListenerArn" =: _dlListenerARN] --- | Contains the output of DeleteListener.------------ /See:/ 'deleteListenerResponse' smart constructor.+-- | /See:/ 'deleteListenerResponse' smart constructor. newtype DeleteListenerResponse = DeleteListenerResponse'-    { _dlrsResponseStatus :: Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dlrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteListenerResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -114,12 +106,11 @@     :: Int -- ^ 'dlrsResponseStatus'     -> DeleteListenerResponse deleteListenerResponse pResponseStatus_ =-    DeleteListenerResponse'-    { _dlrsResponseStatus = pResponseStatus_-    }+  DeleteListenerResponse' {_dlrsResponseStatus = pResponseStatus_} + -- | -- | The response status code. dlrsResponseStatus :: Lens' DeleteListenerResponse Int dlrsResponseStatus = lens _dlrsResponseStatus (\ s a -> s{_dlrsResponseStatus = a}); -instance NFData DeleteListenerResponse+instance NFData DeleteListenerResponse where
gen/Network/AWS/ELBv2/DeleteLoadBalancer.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.ELBv2.DeleteLoadBalancer--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Deletes the specified Application Load Balancer and its attached listeners.+-- Deletes the specified Application Load Balancer or Network Load Balancer and its attached listeners. -- -- -- You can't delete a load balancer if deletion protection is enabled. If the load balancer does not exist or has already been deleted, the call succeeds.@@ -40,22 +40,19 @@     , drsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for DeleteLoadBalancer.------------ /See:/ 'deleteLoadBalancer' smart constructor.+-- | /See:/ 'deleteLoadBalancer' smart constructor. newtype DeleteLoadBalancer = DeleteLoadBalancer'-    { _dlbLoadBalancerARN :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dlbLoadBalancerARN :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteLoadBalancer' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -65,10 +62,9 @@     :: Text -- ^ 'dlbLoadBalancerARN'     -> DeleteLoadBalancer deleteLoadBalancer pLoadBalancerARN_ =-    DeleteLoadBalancer'-    { _dlbLoadBalancerARN = pLoadBalancerARN_-    }+  DeleteLoadBalancer' {_dlbLoadBalancerARN = pLoadBalancerARN_} + -- | The Amazon Resource Name (ARN) of the load balancer. dlbLoadBalancerARN :: Lens' DeleteLoadBalancer Text dlbLoadBalancerARN = lens _dlbLoadBalancerARN (\ s a -> s{_dlbLoadBalancerARN = a});@@ -82,9 +78,9 @@               (\ s h x ->                  DeleteLoadBalancerResponse' <$> (pure (fromEnum s))) -instance Hashable DeleteLoadBalancer+instance Hashable DeleteLoadBalancer where -instance NFData DeleteLoadBalancer+instance NFData DeleteLoadBalancer where  instance ToHeaders DeleteLoadBalancer where         toHeaders = const mempty@@ -99,15 +95,12 @@                "Version" =: ("2015-12-01" :: ByteString),                "LoadBalancerArn" =: _dlbLoadBalancerARN] --- | Contains the output of DeleteLoadBalancer.------------ /See:/ 'deleteLoadBalancerResponse' smart constructor.+-- | /See:/ 'deleteLoadBalancerResponse' smart constructor. newtype DeleteLoadBalancerResponse = DeleteLoadBalancerResponse'-    { _drsResponseStatus :: Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _drsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteLoadBalancerResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -117,12 +110,11 @@     :: Int -- ^ 'drsResponseStatus'     -> DeleteLoadBalancerResponse deleteLoadBalancerResponse pResponseStatus_ =-    DeleteLoadBalancerResponse'-    { _drsResponseStatus = pResponseStatus_-    }+  DeleteLoadBalancerResponse' {_drsResponseStatus = pResponseStatus_} + -- | -- | The response status code. drsResponseStatus :: Lens' DeleteLoadBalancerResponse Int drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a}); -instance NFData DeleteLoadBalancerResponse+instance NFData DeleteLoadBalancerResponse where
gen/Network/AWS/ELBv2/DeleteRule.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.ELBv2.DeleteRule--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -36,22 +36,19 @@     , drrsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for DeleteRule.------------ /See:/ 'deleteRule' smart constructor.+-- | /See:/ 'deleteRule' smart constructor. newtype DeleteRule = DeleteRule'-    { _drRuleARN :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _drRuleARN :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteRule' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -60,11 +57,9 @@ deleteRule     :: Text -- ^ 'drRuleARN'     -> DeleteRule-deleteRule pRuleARN_ =-    DeleteRule'-    { _drRuleARN = pRuleARN_-    }+deleteRule pRuleARN_ = DeleteRule' {_drRuleARN = pRuleARN_} + -- | The Amazon Resource Name (ARN) of the rule. drRuleARN :: Lens' DeleteRule Text drRuleARN = lens _drRuleARN (\ s a -> s{_drRuleARN = a});@@ -77,9 +72,9 @@               (\ s h x ->                  DeleteRuleResponse' <$> (pure (fromEnum s))) -instance Hashable DeleteRule+instance Hashable DeleteRule where -instance NFData DeleteRule+instance NFData DeleteRule where  instance ToHeaders DeleteRule where         toHeaders = const mempty@@ -94,15 +89,12 @@                "Version" =: ("2015-12-01" :: ByteString),                "RuleArn" =: _drRuleARN] --- | Contains the output of DeleteRule.------------ /See:/ 'deleteRuleResponse' smart constructor.+-- | /See:/ 'deleteRuleResponse' smart constructor. newtype DeleteRuleResponse = DeleteRuleResponse'-    { _drrsResponseStatus :: Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _drrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteRuleResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -112,12 +104,11 @@     :: Int -- ^ 'drrsResponseStatus'     -> DeleteRuleResponse deleteRuleResponse pResponseStatus_ =-    DeleteRuleResponse'-    { _drrsResponseStatus = pResponseStatus_-    }+  DeleteRuleResponse' {_drrsResponseStatus = pResponseStatus_} + -- | -- | The response status code. drrsResponseStatus :: Lens' DeleteRuleResponse Int drrsResponseStatus = lens _drrsResponseStatus (\ s a -> s{_drrsResponseStatus = a}); -instance NFData DeleteRuleResponse+instance NFData DeleteRuleResponse where
gen/Network/AWS/ELBv2/DeleteTargetGroup.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.ELBv2.DeleteTargetGroup--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -38,22 +38,19 @@     , dtgrsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for DeleteTargetGroup.------------ /See:/ 'deleteTargetGroup' smart constructor.+-- | /See:/ 'deleteTargetGroup' smart constructor. newtype DeleteTargetGroup = DeleteTargetGroup'-    { _dtgTargetGroupARN :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dtgTargetGroupARN :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteTargetGroup' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -63,10 +60,9 @@     :: Text -- ^ 'dtgTargetGroupARN'     -> DeleteTargetGroup deleteTargetGroup pTargetGroupARN_ =-    DeleteTargetGroup'-    { _dtgTargetGroupARN = pTargetGroupARN_-    }+  DeleteTargetGroup' {_dtgTargetGroupARN = pTargetGroupARN_} + -- | The Amazon Resource Name (ARN) of the target group. dtgTargetGroupARN :: Lens' DeleteTargetGroup Text dtgTargetGroupARN = lens _dtgTargetGroupARN (\ s a -> s{_dtgTargetGroupARN = a});@@ -79,9 +75,9 @@               (\ s h x ->                  DeleteTargetGroupResponse' <$> (pure (fromEnum s))) -instance Hashable DeleteTargetGroup+instance Hashable DeleteTargetGroup where -instance NFData DeleteTargetGroup+instance NFData DeleteTargetGroup where  instance ToHeaders DeleteTargetGroup where         toHeaders = const mempty@@ -96,15 +92,12 @@                "Version" =: ("2015-12-01" :: ByteString),                "TargetGroupArn" =: _dtgTargetGroupARN] --- | Contains the output of DeleteTargetGroup.------------ /See:/ 'deleteTargetGroupResponse' smart constructor.+-- | /See:/ 'deleteTargetGroupResponse' smart constructor. newtype DeleteTargetGroupResponse = DeleteTargetGroupResponse'-    { _dtgrsResponseStatus :: Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dtgrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteTargetGroupResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -114,12 +107,11 @@     :: Int -- ^ 'dtgrsResponseStatus'     -> DeleteTargetGroupResponse deleteTargetGroupResponse pResponseStatus_ =-    DeleteTargetGroupResponse'-    { _dtgrsResponseStatus = pResponseStatus_-    }+  DeleteTargetGroupResponse' {_dtgrsResponseStatus = pResponseStatus_} + -- | -- | The response status code. dtgrsResponseStatus :: Lens' DeleteTargetGroupResponse Int dtgrsResponseStatus = lens _dtgrsResponseStatus (\ s a -> s{_dtgrsResponseStatus = a}); -instance NFData DeleteTargetGroupResponse+instance NFData DeleteTargetGroupResponse where
gen/Network/AWS/ELBv2/DeregisterTargets.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.ELBv2.DeregisterTargets--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,23 +37,20 @@     , dtsrsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for DeregisterTargets.------------ /See:/ 'deregisterTargets' smart constructor.+-- | /See:/ 'deregisterTargets' smart constructor. data DeregisterTargets = DeregisterTargets'-    { _dtTargetGroupARN :: !Text-    , _dtTargets        :: ![TargetDescription]-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dtTargetGroupARN :: !Text+  , _dtTargets        :: ![TargetDescription]+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeregisterTargets' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -65,11 +62,9 @@     :: Text -- ^ 'dtTargetGroupARN'     -> DeregisterTargets deregisterTargets pTargetGroupARN_ =-    DeregisterTargets'-    { _dtTargetGroupARN = pTargetGroupARN_-    , _dtTargets = mempty-    }+  DeregisterTargets' {_dtTargetGroupARN = pTargetGroupARN_, _dtTargets = mempty} + -- | The Amazon Resource Name (ARN) of the target group. dtTargetGroupARN :: Lens' DeregisterTargets Text dtTargetGroupARN = lens _dtTargetGroupARN (\ s a -> s{_dtTargetGroupARN = a});@@ -86,9 +81,9 @@               (\ s h x ->                  DeregisterTargetsResponse' <$> (pure (fromEnum s))) -instance Hashable DeregisterTargets+instance Hashable DeregisterTargets where -instance NFData DeregisterTargets+instance NFData DeregisterTargets where  instance ToHeaders DeregisterTargets where         toHeaders = const mempty@@ -104,15 +99,12 @@                "TargetGroupArn" =: _dtTargetGroupARN,                "Targets" =: toQueryList "member" _dtTargets] --- | Contains the output of DeregisterTargets.------------ /See:/ 'deregisterTargetsResponse' smart constructor.+-- | /See:/ 'deregisterTargetsResponse' smart constructor. newtype DeregisterTargetsResponse = DeregisterTargetsResponse'-    { _dtsrsResponseStatus :: Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dtsrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeregisterTargetsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -122,12 +114,11 @@     :: Int -- ^ 'dtsrsResponseStatus'     -> DeregisterTargetsResponse deregisterTargetsResponse pResponseStatus_ =-    DeregisterTargetsResponse'-    { _dtsrsResponseStatus = pResponseStatus_-    }+  DeregisterTargetsResponse' {_dtsrsResponseStatus = pResponseStatus_} + -- | -- | The response status code. dtsrsResponseStatus :: Lens' DeregisterTargetsResponse Int dtsrsResponseStatus = lens _dtsrsResponseStatus (\ s a -> s{_dtsrsResponseStatus = a}); -instance NFData DeregisterTargetsResponse+instance NFData DeregisterTargetsResponse where
+ gen/Network/AWS/ELBv2/DescribeAccountLimits.hs view
@@ -0,0 +1,149 @@+{-# 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.ELBv2.DescribeAccountLimits+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the current Elastic Load Balancing resource limits for your AWS account.+--+--+-- For more information, see <http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html Limits for Your Application Load Balancers> in the /Application Load Balancer Guide/ or <http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html Limits for Your Network Load Balancers> in the /Network Load Balancers Guide/ .+--+module Network.AWS.ELBv2.DescribeAccountLimits+    (+    -- * Creating a Request+      describeAccountLimits+    , DescribeAccountLimits+    -- * Request Lenses+    , dalMarker+    , dalPageSize++    -- * Destructuring the Response+    , describeAccountLimitsResponse+    , DescribeAccountLimitsResponse+    -- * Response Lenses+    , dalrsLimits+    , dalrsNextMarker+    , dalrsResponseStatus+    ) where++import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'describeAccountLimits' smart constructor.+data DescribeAccountLimits = DescribeAccountLimits'+  { _dalMarker   :: !(Maybe Text)+  , _dalPageSize :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeAccountLimits' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dalMarker' - The marker for the next set of results. (You received this marker from a previous call.)+--+-- * 'dalPageSize' - The maximum number of results to return with this call.+describeAccountLimits+    :: DescribeAccountLimits+describeAccountLimits =+  DescribeAccountLimits' {_dalMarker = Nothing, _dalPageSize = Nothing}+++-- | The marker for the next set of results. (You received this marker from a previous call.)+dalMarker :: Lens' DescribeAccountLimits (Maybe Text)+dalMarker = lens _dalMarker (\ s a -> s{_dalMarker = a});++-- | The maximum number of results to return with this call.+dalPageSize :: Lens' DescribeAccountLimits (Maybe Natural)+dalPageSize = lens _dalPageSize (\ s a -> s{_dalPageSize = a}) . mapping _Nat;++instance AWSRequest DescribeAccountLimits where+        type Rs DescribeAccountLimits =+             DescribeAccountLimitsResponse+        request = postQuery eLBv2+        response+          = receiveXMLWrapper "DescribeAccountLimitsResult"+              (\ s h x ->+                 DescribeAccountLimitsResponse' <$>+                   (x .@? "Limits" .!@ mempty >>=+                      may (parseXMLList "member"))+                     <*> (x .@? "NextMarker")+                     <*> (pure (fromEnum s)))++instance Hashable DescribeAccountLimits where++instance NFData DescribeAccountLimits where++instance ToHeaders DescribeAccountLimits where+        toHeaders = const mempty++instance ToPath DescribeAccountLimits where+        toPath = const "/"++instance ToQuery DescribeAccountLimits where+        toQuery DescribeAccountLimits'{..}+          = mconcat+              ["Action" =: ("DescribeAccountLimits" :: ByteString),+               "Version" =: ("2015-12-01" :: ByteString),+               "Marker" =: _dalMarker, "PageSize" =: _dalPageSize]++-- | /See:/ 'describeAccountLimitsResponse' smart constructor.+data DescribeAccountLimitsResponse = DescribeAccountLimitsResponse'+  { _dalrsLimits         :: !(Maybe [Limit])+  , _dalrsNextMarker     :: !(Maybe Text)+  , _dalrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | 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:+--+-- * 'dalrsLimits' - Information about the limits.+--+-- * 'dalrsNextMarker' - The marker to use when requesting the next set of results. If there are no additional results, the string is empty.+--+-- * 'dalrsResponseStatus' - -- | The response status code.+describeAccountLimitsResponse+    :: Int -- ^ 'dalrsResponseStatus'+    -> DescribeAccountLimitsResponse+describeAccountLimitsResponse pResponseStatus_ =+  DescribeAccountLimitsResponse'+  { _dalrsLimits = Nothing+  , _dalrsNextMarker = Nothing+  , _dalrsResponseStatus = pResponseStatus_+  }+++-- | Information about the limits.+dalrsLimits :: Lens' DescribeAccountLimitsResponse [Limit]+dalrsLimits = lens _dalrsLimits (\ s a -> s{_dalrsLimits = a}) . _Default . _Coerce;++-- | The marker to use when requesting the next set of results. If there are no additional results, the string is empty.+dalrsNextMarker :: Lens' DescribeAccountLimitsResponse (Maybe Text)+dalrsNextMarker = lens _dalrsNextMarker (\ s a -> s{_dalrsNextMarker = a});++-- | -- | The response status code.+dalrsResponseStatus :: Lens' DescribeAccountLimitsResponse Int+dalrsResponseStatus = lens _dalrsResponseStatus (\ s a -> s{_dalrsResponseStatus = a});++instance NFData DescribeAccountLimitsResponse where
+ gen/Network/AWS/ELBv2/DescribeListenerCertificates.hs view
@@ -0,0 +1,165 @@+{-# 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.ELBv2.DescribeListenerCertificates+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the certificates for the specified secure listener.+--+--+module Network.AWS.ELBv2.DescribeListenerCertificates+    (+    -- * Creating a Request+      describeListenerCertificates+    , DescribeListenerCertificates+    -- * Request Lenses+    , dlcMarker+    , dlcPageSize+    , dlcListenerARN++    -- * Destructuring the Response+    , describeListenerCertificatesResponse+    , DescribeListenerCertificatesResponse+    -- * Response Lenses+    , dlcrsCertificates+    , dlcrsNextMarker+    , dlcrsResponseStatus+    ) where++import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'describeListenerCertificates' smart constructor.+data DescribeListenerCertificates = DescribeListenerCertificates'+  { _dlcMarker      :: !(Maybe Text)+  , _dlcPageSize    :: !(Maybe Nat)+  , _dlcListenerARN :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeListenerCertificates' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlcMarker' - The marker for the next set of results. (You received this marker from a previous call.)+--+-- * 'dlcPageSize' - The maximum number of results to return with this call.+--+-- * 'dlcListenerARN' - The Amazon Resource Names (ARN) of the listener.+describeListenerCertificates+    :: Text -- ^ 'dlcListenerARN'+    -> DescribeListenerCertificates+describeListenerCertificates pListenerARN_ =+  DescribeListenerCertificates'+  { _dlcMarker = Nothing+  , _dlcPageSize = Nothing+  , _dlcListenerARN = pListenerARN_+  }+++-- | The marker for the next set of results. (You received this marker from a previous call.)+dlcMarker :: Lens' DescribeListenerCertificates (Maybe Text)+dlcMarker = lens _dlcMarker (\ s a -> s{_dlcMarker = a});++-- | The maximum number of results to return with this call.+dlcPageSize :: Lens' DescribeListenerCertificates (Maybe Natural)+dlcPageSize = lens _dlcPageSize (\ s a -> s{_dlcPageSize = a}) . mapping _Nat;++-- | The Amazon Resource Names (ARN) of the listener.+dlcListenerARN :: Lens' DescribeListenerCertificates Text+dlcListenerARN = lens _dlcListenerARN (\ s a -> s{_dlcListenerARN = a});++instance AWSRequest DescribeListenerCertificates+         where+        type Rs DescribeListenerCertificates =+             DescribeListenerCertificatesResponse+        request = postQuery eLBv2+        response+          = receiveXMLWrapper+              "DescribeListenerCertificatesResult"+              (\ s h x ->+                 DescribeListenerCertificatesResponse' <$>+                   (x .@? "Certificates" .!@ mempty >>=+                      may (parseXMLList "member"))+                     <*> (x .@? "NextMarker")+                     <*> (pure (fromEnum s)))++instance Hashable DescribeListenerCertificates where++instance NFData DescribeListenerCertificates where++instance ToHeaders DescribeListenerCertificates where+        toHeaders = const mempty++instance ToPath DescribeListenerCertificates where+        toPath = const "/"++instance ToQuery DescribeListenerCertificates where+        toQuery DescribeListenerCertificates'{..}+          = mconcat+              ["Action" =:+                 ("DescribeListenerCertificates" :: ByteString),+               "Version" =: ("2015-12-01" :: ByteString),+               "Marker" =: _dlcMarker, "PageSize" =: _dlcPageSize,+               "ListenerArn" =: _dlcListenerARN]++-- | /See:/ 'describeListenerCertificatesResponse' smart constructor.+data DescribeListenerCertificatesResponse = DescribeListenerCertificatesResponse'+  { _dlcrsCertificates   :: !(Maybe [Certificate])+  , _dlcrsNextMarker     :: !(Maybe Text)+  , _dlcrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeListenerCertificatesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlcrsCertificates' - Information about the certificates.+--+-- * 'dlcrsNextMarker' - The marker to use when requesting the next set of results. If there are no additional results, the string is empty.+--+-- * 'dlcrsResponseStatus' - -- | The response status code.+describeListenerCertificatesResponse+    :: Int -- ^ 'dlcrsResponseStatus'+    -> DescribeListenerCertificatesResponse+describeListenerCertificatesResponse pResponseStatus_ =+  DescribeListenerCertificatesResponse'+  { _dlcrsCertificates = Nothing+  , _dlcrsNextMarker = Nothing+  , _dlcrsResponseStatus = pResponseStatus_+  }+++-- | Information about the certificates.+dlcrsCertificates :: Lens' DescribeListenerCertificatesResponse [Certificate]+dlcrsCertificates = lens _dlcrsCertificates (\ s a -> s{_dlcrsCertificates = a}) . _Default . _Coerce;++-- | The marker to use when requesting the next set of results. If there are no additional results, the string is empty.+dlcrsNextMarker :: Lens' DescribeListenerCertificatesResponse (Maybe Text)+dlcrsNextMarker = lens _dlcrsNextMarker (\ s a -> s{_dlcrsNextMarker = a});++-- | -- | The response status code.+dlcrsResponseStatus :: Lens' DescribeListenerCertificatesResponse Int+dlcrsResponseStatus = lens _dlcrsResponseStatus (\ s a -> s{_dlcrsResponseStatus = a});++instance NFData DescribeListenerCertificatesResponse+         where
gen/Network/AWS/ELBv2/DescribeListeners.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.ELBv2.DescribeListeners--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Describes the specified listeners or the listeners for the specified Application Load Balancer. You must specify either a load balancer or one or more listeners.+-- Describes the specified listeners or the listeners for the specified Application Load Balancer or Network Load Balancer. You must specify either a load balancer or one or more listeners. -- -- --@@ -43,26 +43,23 @@     , dlsrsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Pager-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for DescribeListeners.------------ /See:/ 'describeListeners' smart constructor.+-- | /See:/ 'describeListeners' smart constructor. data DescribeListeners = DescribeListeners'-    { _dlListenerARNs    :: !(Maybe [Text])-    , _dlLoadBalancerARN :: !(Maybe Text)-    , _dlMarker          :: !(Maybe Text)-    , _dlPageSize        :: !(Maybe Nat)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dlListenerARNs    :: !(Maybe [Text])+  , _dlLoadBalancerARN :: !(Maybe Text)+  , _dlMarker          :: !(Maybe Text)+  , _dlPageSize        :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeListeners' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -77,13 +74,14 @@ describeListeners     :: DescribeListeners describeListeners =-    DescribeListeners'-    { _dlListenerARNs = Nothing-    , _dlLoadBalancerARN = Nothing-    , _dlMarker = Nothing-    , _dlPageSize = Nothing-    }+  DescribeListeners'+  { _dlListenerARNs = Nothing+  , _dlLoadBalancerARN = Nothing+  , _dlMarker = Nothing+  , _dlPageSize = Nothing+  } + -- | The Amazon Resource Names (ARN) of the listeners. dlListenerARNs :: Lens' DescribeListeners [Text] dlListenerARNs = lens _dlListenerARNs (\ s a -> s{_dlListenerARNs = a}) . _Default . _Coerce;@@ -119,9 +117,9 @@                         may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable DescribeListeners+instance Hashable DescribeListeners where -instance NFData DescribeListeners+instance NFData DescribeListeners where  instance ToHeaders DescribeListeners where         toHeaders = const mempty@@ -139,17 +137,14 @@                "LoadBalancerArn" =: _dlLoadBalancerARN,                "Marker" =: _dlMarker, "PageSize" =: _dlPageSize] --- | Contains the output of DescribeListeners.------------ /See:/ 'describeListenersResponse' smart constructor.+-- | /See:/ 'describeListenersResponse' smart constructor. data DescribeListenersResponse = DescribeListenersResponse'-    { _dlsrsNextMarker     :: !(Maybe Text)-    , _dlsrsListeners      :: !(Maybe [Listener])-    , _dlsrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dlsrsNextMarker     :: !(Maybe Text)+  , _dlsrsListeners      :: !(Maybe [Listener])+  , _dlsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeListenersResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -163,12 +158,13 @@     :: Int -- ^ 'dlsrsResponseStatus'     -> DescribeListenersResponse describeListenersResponse pResponseStatus_ =-    DescribeListenersResponse'-    { _dlsrsNextMarker = Nothing-    , _dlsrsListeners = Nothing-    , _dlsrsResponseStatus = pResponseStatus_-    }+  DescribeListenersResponse'+  { _dlsrsNextMarker = Nothing+  , _dlsrsListeners = Nothing+  , _dlsrsResponseStatus = pResponseStatus_+  } + -- | The marker to use when requesting the next set of results. If there are no additional results, the string is empty. dlsrsNextMarker :: Lens' DescribeListenersResponse (Maybe Text) dlsrsNextMarker = lens _dlsrsNextMarker (\ s a -> s{_dlsrsNextMarker = a});@@ -181,4 +177,4 @@ dlsrsResponseStatus :: Lens' DescribeListenersResponse Int dlsrsResponseStatus = lens _dlsrsResponseStatus (\ s a -> s{_dlsrsResponseStatus = a}); -instance NFData DescribeListenersResponse+instance NFData DescribeListenersResponse where
gen/Network/AWS/ELBv2/DescribeLoadBalancerAttributes.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.ELBv2.DescribeLoadBalancerAttributes--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Describes the attributes for the specified Application Load Balancer.+-- Describes the attributes for the specified Application Load Balancer or Network Load Balancer. -- -- module Network.AWS.ELBv2.DescribeLoadBalancerAttributes@@ -37,22 +37,19 @@     , dlbarsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for DescribeLoadBalancerAttributes.------------ /See:/ 'describeLoadBalancerAttributes' smart constructor.+-- | /See:/ 'describeLoadBalancerAttributes' smart constructor. newtype DescribeLoadBalancerAttributes = DescribeLoadBalancerAttributes'-    { _dlbaLoadBalancerARN :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dlbaLoadBalancerARN :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeLoadBalancerAttributes' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -62,10 +59,9 @@     :: Text -- ^ 'dlbaLoadBalancerARN'     -> DescribeLoadBalancerAttributes describeLoadBalancerAttributes pLoadBalancerARN_ =-    DescribeLoadBalancerAttributes'-    { _dlbaLoadBalancerARN = pLoadBalancerARN_-    }+  DescribeLoadBalancerAttributes' {_dlbaLoadBalancerARN = pLoadBalancerARN_} + -- | The Amazon Resource Name (ARN) of the load balancer. dlbaLoadBalancerARN :: Lens' DescribeLoadBalancerAttributes Text dlbaLoadBalancerARN = lens _dlbaLoadBalancerARN (\ s a -> s{_dlbaLoadBalancerARN = a});@@ -85,8 +81,9 @@                      <*> (pure (fromEnum s)))  instance Hashable DescribeLoadBalancerAttributes+         where -instance NFData DescribeLoadBalancerAttributes+instance NFData DescribeLoadBalancerAttributes where  instance ToHeaders DescribeLoadBalancerAttributes          where@@ -103,16 +100,13 @@                "Version" =: ("2015-12-01" :: ByteString),                "LoadBalancerArn" =: _dlbaLoadBalancerARN] --- | Contains the output of DescribeLoadBalancerAttributes.------------ /See:/ 'describeLoadBalancerAttributesResponse' smart constructor.+-- | /See:/ 'describeLoadBalancerAttributesResponse' smart constructor. data DescribeLoadBalancerAttributesResponse = DescribeLoadBalancerAttributesResponse'-    { _dlbarsAttributes     :: !(Maybe [LoadBalancerAttribute])-    , _dlbarsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dlbarsAttributes     :: !(Maybe [LoadBalancerAttribute])+  , _dlbarsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeLoadBalancerAttributesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -124,11 +118,10 @@     :: Int -- ^ 'dlbarsResponseStatus'     -> DescribeLoadBalancerAttributesResponse describeLoadBalancerAttributesResponse pResponseStatus_ =-    DescribeLoadBalancerAttributesResponse'-    { _dlbarsAttributes = Nothing-    , _dlbarsResponseStatus = pResponseStatus_-    }+  DescribeLoadBalancerAttributesResponse'+  {_dlbarsAttributes = Nothing, _dlbarsResponseStatus = pResponseStatus_} + -- | Information about the load balancer attributes. dlbarsAttributes :: Lens' DescribeLoadBalancerAttributesResponse [LoadBalancerAttribute] dlbarsAttributes = lens _dlbarsAttributes (\ s a -> s{_dlbarsAttributes = a}) . _Default . _Coerce;@@ -138,4 +131,5 @@ dlbarsResponseStatus = lens _dlbarsResponseStatus (\ s a -> s{_dlbarsResponseStatus = a});  instance NFData-         DescribeLoadBalancerAttributesResponse+           DescribeLoadBalancerAttributesResponse+         where
gen/Network/AWS/ELBv2/DescribeLoadBalancers.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.ELBv2.DescribeLoadBalancers--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Describes the specified Application Load Balancers or all of your Application Load Balancers.+-- Describes the specified load balancers or all of your load balancers. -- -- -- To describe the listeners for a load balancer, use 'DescribeListeners' . To describe the attributes for a load balancer, use 'DescribeLoadBalancerAttributes' .@@ -45,33 +45,30 @@     , dlbrsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Pager-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for DescribeLoadBalancers.------------ /See:/ 'describeLoadBalancers' smart constructor.+-- | /See:/ 'describeLoadBalancers' smart constructor. data DescribeLoadBalancers = DescribeLoadBalancers'-    { _dlbNames            :: !(Maybe [Text])-    , _dlbLoadBalancerARNs :: !(Maybe [Text])-    , _dlbMarker           :: !(Maybe Text)-    , _dlbPageSize         :: !(Maybe Nat)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dlbNames            :: !(Maybe [Text])+  , _dlbLoadBalancerARNs :: !(Maybe [Text])+  , _dlbMarker           :: !(Maybe Text)+  , _dlbPageSize         :: !(Maybe Nat)+  } 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: -- -- * 'dlbNames' - The names of the load balancers. ----- * 'dlbLoadBalancerARNs' - The Amazon Resource Names (ARN) of the load balancers.+-- * 'dlbLoadBalancerARNs' - The Amazon Resource Names (ARN) of the load balancers. You can specify up to 20 load balancers in a single call. -- -- * 'dlbMarker' - The marker for the next set of results. (You received this marker from a previous call.) --@@ -79,18 +76,19 @@ describeLoadBalancers     :: DescribeLoadBalancers describeLoadBalancers =-    DescribeLoadBalancers'-    { _dlbNames = Nothing-    , _dlbLoadBalancerARNs = Nothing-    , _dlbMarker = Nothing-    , _dlbPageSize = Nothing-    }+  DescribeLoadBalancers'+  { _dlbNames = Nothing+  , _dlbLoadBalancerARNs = Nothing+  , _dlbMarker = Nothing+  , _dlbPageSize = Nothing+  } + -- | The names of the load balancers. dlbNames :: Lens' DescribeLoadBalancers [Text] dlbNames = lens _dlbNames (\ s a -> s{_dlbNames = a}) . _Default . _Coerce; --- | The Amazon Resource Names (ARN) of the load balancers.+-- | The Amazon Resource Names (ARN) of the load balancers. You can specify up to 20 load balancers in a single call. dlbLoadBalancerARNs :: Lens' DescribeLoadBalancers [Text] dlbLoadBalancerARNs = lens _dlbLoadBalancerARNs (\ s a -> s{_dlbLoadBalancerARNs = a}) . _Default . _Coerce; @@ -122,9 +120,9 @@                      <*> (x .@? "NextMarker")                      <*> (pure (fromEnum s))) -instance Hashable DescribeLoadBalancers+instance Hashable DescribeLoadBalancers where -instance NFData DescribeLoadBalancers+instance NFData DescribeLoadBalancers where  instance ToHeaders DescribeLoadBalancers where         toHeaders = const mempty@@ -144,17 +142,14 @@                    (toQueryList "member" <$> _dlbLoadBalancerARNs),                "Marker" =: _dlbMarker, "PageSize" =: _dlbPageSize] --- | Contains the output of DescribeLoadBalancers.------------ /See:/ 'describeLoadBalancersResponse' smart constructor.+-- | /See:/ 'describeLoadBalancersResponse' smart constructor. data DescribeLoadBalancersResponse = DescribeLoadBalancersResponse'-    { _dlbrsLoadBalancers  :: !(Maybe [LoadBalancer])-    , _dlbrsNextMarker     :: !(Maybe Text)-    , _dlbrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dlbrsLoadBalancers  :: !(Maybe [LoadBalancer])+  , _dlbrsNextMarker     :: !(Maybe Text)+  , _dlbrsResponseStatus :: !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:@@ -168,12 +163,13 @@     :: Int -- ^ 'dlbrsResponseStatus'     -> DescribeLoadBalancersResponse describeLoadBalancersResponse pResponseStatus_ =-    DescribeLoadBalancersResponse'-    { _dlbrsLoadBalancers = Nothing-    , _dlbrsNextMarker = Nothing-    , _dlbrsResponseStatus = pResponseStatus_-    }+  DescribeLoadBalancersResponse'+  { _dlbrsLoadBalancers = Nothing+  , _dlbrsNextMarker = Nothing+  , _dlbrsResponseStatus = pResponseStatus_+  } + -- | Information about the load balancers. dlbrsLoadBalancers :: Lens' DescribeLoadBalancersResponse [LoadBalancer] dlbrsLoadBalancers = lens _dlbrsLoadBalancers (\ s a -> s{_dlbrsLoadBalancers = a}) . _Default . _Coerce;@@ -186,4 +182,4 @@ dlbrsResponseStatus :: Lens' DescribeLoadBalancersResponse Int dlbrsResponseStatus = lens _dlbrsResponseStatus (\ s a -> s{_dlbrsResponseStatus = a}); -instance NFData DescribeLoadBalancersResponse+instance NFData DescribeLoadBalancersResponse where
gen/Network/AWS/ELBv2/DescribeRules.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.ELBv2.DescribeRules--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -28,56 +28,73 @@     , DescribeRules     -- * Request Lenses     , drListenerARN+    , drMarker     , drRuleARNs+    , drPageSize      -- * Destructuring the Response     , describeRulesResponse     , DescribeRulesResponse     -- * Response Lenses     , drsrsRules+    , drsrsNextMarker     , drsrsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for DescribeRules.------------ /See:/ 'describeRules' smart constructor.+-- | /See:/ 'describeRules' smart constructor. data DescribeRules = DescribeRules'-    { _drListenerARN :: !(Maybe Text)-    , _drRuleARNs    :: !(Maybe [Text])-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _drListenerARN :: !(Maybe Text)+  , _drMarker      :: !(Maybe Text)+  , _drRuleARNs    :: !(Maybe [Text])+  , _drPageSize    :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeRules' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'drListenerARN' - The Amazon Resource Name (ARN) of the listener. --+-- * 'drMarker' - The marker for the next set of results. (You received this marker from a previous call.)+-- -- * 'drRuleARNs' - The Amazon Resource Names (ARN) of the rules.+--+-- * 'drPageSize' - The maximum number of results to return with this call. describeRules     :: DescribeRules describeRules =-    DescribeRules'-    { _drListenerARN = Nothing-    , _drRuleARNs = Nothing-    }+  DescribeRules'+  { _drListenerARN = Nothing+  , _drMarker = Nothing+  , _drRuleARNs = Nothing+  , _drPageSize = Nothing+  } + -- | The Amazon Resource Name (ARN) of the listener. drListenerARN :: Lens' DescribeRules (Maybe Text) drListenerARN = lens _drListenerARN (\ s a -> s{_drListenerARN = a}); +-- | The marker for the next set of results. (You received this marker from a previous call.)+drMarker :: Lens' DescribeRules (Maybe Text)+drMarker = lens _drMarker (\ s a -> s{_drMarker = a});+ -- | The Amazon Resource Names (ARN) of the rules. drRuleARNs :: Lens' DescribeRules [Text] drRuleARNs = lens _drRuleARNs (\ s a -> s{_drRuleARNs = a}) . _Default . _Coerce; +-- | The maximum number of results to return with this call.+drPageSize :: Lens' DescribeRules (Maybe Natural)+drPageSize = lens _drPageSize (\ s a -> s{_drPageSize = a}) . mapping _Nat;+ instance AWSRequest DescribeRules where         type Rs DescribeRules = DescribeRulesResponse         request = postQuery eLBv2@@ -87,11 +104,12 @@                  DescribeRulesResponse' <$>                    (x .@? "Rules" .!@ mempty >>=                       may (parseXMLList "member"))+                     <*> (x .@? "NextMarker")                      <*> (pure (fromEnum s))) -instance Hashable DescribeRules+instance Hashable DescribeRules where -instance NFData DescribeRules+instance NFData DescribeRules where  instance ToHeaders DescribeRules where         toHeaders = const mempty@@ -105,41 +123,49 @@               ["Action" =: ("DescribeRules" :: ByteString),                "Version" =: ("2015-12-01" :: ByteString),                "ListenerArn" =: _drListenerARN,+               "Marker" =: _drMarker,                "RuleArns" =:-                 toQuery (toQueryList "member" <$> _drRuleARNs)]+                 toQuery (toQueryList "member" <$> _drRuleARNs),+               "PageSize" =: _drPageSize] --- | Contains the output of DescribeRules.------------ /See:/ 'describeRulesResponse' smart constructor.+-- | /See:/ 'describeRulesResponse' smart constructor. data DescribeRulesResponse = DescribeRulesResponse'-    { _drsrsRules          :: !(Maybe [Rule])-    , _drsrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _drsrsRules          :: !(Maybe [Rule])+  , _drsrsNextMarker     :: !(Maybe Text)+  , _drsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeRulesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'drsrsRules' - Information about the rules. --+-- * 'drsrsNextMarker' - The marker to use when requesting the next set of results. If there are no additional results, the string is empty.+-- -- * 'drsrsResponseStatus' - -- | The response status code. describeRulesResponse     :: Int -- ^ 'drsrsResponseStatus'     -> DescribeRulesResponse describeRulesResponse pResponseStatus_ =-    DescribeRulesResponse'-    { _drsrsRules = Nothing-    , _drsrsResponseStatus = pResponseStatus_-    }+  DescribeRulesResponse'+  { _drsrsRules = Nothing+  , _drsrsNextMarker = Nothing+  , _drsrsResponseStatus = pResponseStatus_+  } + -- | Information about the rules. drsrsRules :: Lens' DescribeRulesResponse [Rule] drsrsRules = lens _drsrsRules (\ s a -> s{_drsrsRules = a}) . _Default . _Coerce; +-- | The marker to use when requesting the next set of results. If there are no additional results, the string is empty.+drsrsNextMarker :: Lens' DescribeRulesResponse (Maybe Text)+drsrsNextMarker = lens _drsrsNextMarker (\ s a -> s{_drsrsNextMarker = a});+ -- | -- | The response status code. drsrsResponseStatus :: Lens' DescribeRulesResponse Int drsrsResponseStatus = lens _drsrsResponseStatus (\ s a -> s{_drsrsResponseStatus = a}); -instance NFData DescribeRulesResponse+instance NFData DescribeRulesResponse where
gen/Network/AWS/ELBv2/DescribeSSLPolicies.hs view
@@ -12,16 +12,16 @@  -- | -- Module      : Network.AWS.ELBv2.DescribeSSLPolicies--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- -- Describes the specified policies or all policies used for SSL negotiation. -- ----- Note that the only supported policy at this time is ELBSecurityPolicy-2015-05.+-- For more information, see <http://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies Security Policies> in the /Application Load Balancers Guide/ . -- module Network.AWS.ELBv2.DescribeSSLPolicies     (@@ -42,24 +42,21 @@     , dsprsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for DescribeSSLPolicies.------------ /See:/ 'describeSSLPolicies' smart constructor.+-- | /See:/ 'describeSSLPolicies' smart constructor. data DescribeSSLPolicies = DescribeSSLPolicies'-    { _dspNames    :: !(Maybe [Text])-    , _dspMarker   :: !(Maybe Text)-    , _dspPageSize :: !(Maybe Nat)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dspNames    :: !(Maybe [Text])+  , _dspMarker   :: !(Maybe Text)+  , _dspPageSize :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeSSLPolicies' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,12 +69,10 @@ describeSSLPolicies     :: DescribeSSLPolicies describeSSLPolicies =-    DescribeSSLPolicies'-    { _dspNames = Nothing-    , _dspMarker = Nothing-    , _dspPageSize = Nothing-    }+  DescribeSSLPolicies'+  {_dspNames = Nothing, _dspMarker = Nothing, _dspPageSize = Nothing} + -- | The names of the policies. dspNames :: Lens' DescribeSSLPolicies [Text] dspNames = lens _dspNames (\ s a -> s{_dspNames = a}) . _Default . _Coerce;@@ -103,9 +98,9 @@                      <*> (x .@? "NextMarker")                      <*> (pure (fromEnum s))) -instance Hashable DescribeSSLPolicies+instance Hashable DescribeSSLPolicies where -instance NFData DescribeSSLPolicies+instance NFData DescribeSSLPolicies where  instance ToHeaders DescribeSSLPolicies where         toHeaders = const mempty@@ -122,17 +117,14 @@                  toQuery (toQueryList "member" <$> _dspNames),                "Marker" =: _dspMarker, "PageSize" =: _dspPageSize] --- | Contains the output of DescribeSSLPolicies.------------ /See:/ 'describeSSLPoliciesResponse' smart constructor.+-- | /See:/ 'describeSSLPoliciesResponse' smart constructor. data DescribeSSLPoliciesResponse = DescribeSSLPoliciesResponse'-    { _dsprsSSLPolicies    :: !(Maybe [SSLPolicy])-    , _dsprsNextMarker     :: !(Maybe Text)-    , _dsprsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dsprsSSLPolicies    :: !(Maybe [SSLPolicy])+  , _dsprsNextMarker     :: !(Maybe Text)+  , _dsprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeSSLPoliciesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -146,12 +138,13 @@     :: Int -- ^ 'dsprsResponseStatus'     -> DescribeSSLPoliciesResponse describeSSLPoliciesResponse pResponseStatus_ =-    DescribeSSLPoliciesResponse'-    { _dsprsSSLPolicies = Nothing-    , _dsprsNextMarker = Nothing-    , _dsprsResponseStatus = pResponseStatus_-    }+  DescribeSSLPoliciesResponse'+  { _dsprsSSLPolicies = Nothing+  , _dsprsNextMarker = Nothing+  , _dsprsResponseStatus = pResponseStatus_+  } + -- | Information about the policies. dsprsSSLPolicies :: Lens' DescribeSSLPoliciesResponse [SSLPolicy] dsprsSSLPolicies = lens _dsprsSSLPolicies (\ s a -> s{_dsprsSSLPolicies = a}) . _Default . _Coerce;@@ -164,4 +157,4 @@ dsprsResponseStatus :: Lens' DescribeSSLPoliciesResponse Int dsprsResponseStatus = lens _dsprsResponseStatus (\ s a -> s{_dsprsResponseStatus = a}); -instance NFData DescribeSSLPoliciesResponse+instance NFData DescribeSSLPoliciesResponse where
gen/Network/AWS/ELBv2/DescribeTags.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.ELBv2.DescribeTags--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Describes the tags for the specified resources.+-- Describes the tags for the specified resources. You can describe the tags for one or more Application Load Balancers, Network Load Balancers, and target groups. -- -- module Network.AWS.ELBv2.DescribeTags@@ -37,22 +37,19 @@     , dtrsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for DescribeTags.------------ /See:/ 'describeTags' smart constructor.+-- | /See:/ 'describeTags' smart constructor. newtype DescribeTags = DescribeTags'-    { _dtResourceARNs :: [Text]-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dtResourceARNs :: [Text]+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeTags' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -60,11 +57,9 @@ -- * 'dtResourceARNs' - The Amazon Resource Names (ARN) of the resources. describeTags     :: DescribeTags-describeTags =-    DescribeTags'-    { _dtResourceARNs = mempty-    }+describeTags = DescribeTags' {_dtResourceARNs = mempty} + -- | The Amazon Resource Names (ARN) of the resources. dtResourceARNs :: Lens' DescribeTags [Text] dtResourceARNs = lens _dtResourceARNs (\ s a -> s{_dtResourceARNs = a}) . _Coerce;@@ -80,9 +75,9 @@                       may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable DescribeTags+instance Hashable DescribeTags where -instance NFData DescribeTags+instance NFData DescribeTags where  instance ToHeaders DescribeTags where         toHeaders = const mempty@@ -98,16 +93,13 @@                "ResourceArns" =:                  toQueryList "member" _dtResourceARNs] --- | Contains the output of DescribeTags.------------ /See:/ 'describeTagsResponse' smart constructor.+-- | /See:/ 'describeTagsResponse' smart constructor. data DescribeTagsResponse = DescribeTagsResponse'-    { _dtrsTagDescriptions :: !(Maybe [TagDescription])-    , _dtrsResponseStatus  :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dtrsTagDescriptions :: !(Maybe [TagDescription])+  , _dtrsResponseStatus  :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeTagsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -119,11 +111,10 @@     :: Int -- ^ 'dtrsResponseStatus'     -> DescribeTagsResponse describeTagsResponse pResponseStatus_ =-    DescribeTagsResponse'-    { _dtrsTagDescriptions = Nothing-    , _dtrsResponseStatus = pResponseStatus_-    }+  DescribeTagsResponse'+  {_dtrsTagDescriptions = Nothing, _dtrsResponseStatus = pResponseStatus_} + -- | Information about the tags. dtrsTagDescriptions :: Lens' DescribeTagsResponse [TagDescription] dtrsTagDescriptions = lens _dtrsTagDescriptions (\ s a -> s{_dtrsTagDescriptions = a}) . _Default . _Coerce;@@ -132,4 +123,4 @@ dtrsResponseStatus :: Lens' DescribeTagsResponse Int dtrsResponseStatus = lens _dtrsResponseStatus (\ s a -> s{_dtrsResponseStatus = a}); -instance NFData DescribeTagsResponse+instance NFData DescribeTagsResponse where
gen/Network/AWS/ELBv2/DescribeTargetGroupAttributes.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.ELBv2.DescribeTargetGroupAttributes--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,22 +37,19 @@     , dtgarsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for DescribeTargetGroupAttributes.------------ /See:/ 'describeTargetGroupAttributes' smart constructor.+-- | /See:/ 'describeTargetGroupAttributes' smart constructor. newtype DescribeTargetGroupAttributes = DescribeTargetGroupAttributes'-    { _dtgaTargetGroupARN :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dtgaTargetGroupARN :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeTargetGroupAttributes' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -62,10 +59,9 @@     :: Text -- ^ 'dtgaTargetGroupARN'     -> DescribeTargetGroupAttributes describeTargetGroupAttributes pTargetGroupARN_ =-    DescribeTargetGroupAttributes'-    { _dtgaTargetGroupARN = pTargetGroupARN_-    }+  DescribeTargetGroupAttributes' {_dtgaTargetGroupARN = pTargetGroupARN_} + -- | The Amazon Resource Name (ARN) of the target group. dtgaTargetGroupARN :: Lens' DescribeTargetGroupAttributes Text dtgaTargetGroupARN = lens _dtgaTargetGroupARN (\ s a -> s{_dtgaTargetGroupARN = a});@@ -84,9 +80,9 @@                       may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable DescribeTargetGroupAttributes+instance Hashable DescribeTargetGroupAttributes where -instance NFData DescribeTargetGroupAttributes+instance NFData DescribeTargetGroupAttributes where  instance ToHeaders DescribeTargetGroupAttributes          where@@ -103,16 +99,13 @@                "Version" =: ("2015-12-01" :: ByteString),                "TargetGroupArn" =: _dtgaTargetGroupARN] --- | Contains the output of DescribeTargetGroupAttributes.------------ /See:/ 'describeTargetGroupAttributesResponse' smart constructor.+-- | /See:/ 'describeTargetGroupAttributesResponse' smart constructor. data DescribeTargetGroupAttributesResponse = DescribeTargetGroupAttributesResponse'-    { _dtgarsAttributes     :: !(Maybe [TargetGroupAttribute])-    , _dtgarsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dtgarsAttributes     :: !(Maybe [TargetGroupAttribute])+  , _dtgarsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeTargetGroupAttributesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -124,11 +117,10 @@     :: Int -- ^ 'dtgarsResponseStatus'     -> DescribeTargetGroupAttributesResponse describeTargetGroupAttributesResponse pResponseStatus_ =-    DescribeTargetGroupAttributesResponse'-    { _dtgarsAttributes = Nothing-    , _dtgarsResponseStatus = pResponseStatus_-    }+  DescribeTargetGroupAttributesResponse'+  {_dtgarsAttributes = Nothing, _dtgarsResponseStatus = pResponseStatus_} + -- | Information about the target group attributes dtgarsAttributes :: Lens' DescribeTargetGroupAttributesResponse [TargetGroupAttribute] dtgarsAttributes = lens _dtgarsAttributes (\ s a -> s{_dtgarsAttributes = a}) . _Default . _Coerce;@@ -138,3 +130,4 @@ dtgarsResponseStatus = lens _dtgarsResponseStatus (\ s a -> s{_dtgarsResponseStatus = a});  instance NFData DescribeTargetGroupAttributesResponse+         where
gen/Network/AWS/ELBv2/DescribeTargetGroups.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.ELBv2.DescribeTargetGroups--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -46,27 +46,24 @@     , dtgsrsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Pager-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for DescribeTargetGroups.------------ /See:/ 'describeTargetGroups' smart constructor.+-- | /See:/ 'describeTargetGroups' smart constructor. data DescribeTargetGroups = DescribeTargetGroups'-    { _dtgTargetGroupARNs :: !(Maybe [Text])-    , _dtgNames           :: !(Maybe [Text])-    , _dtgLoadBalancerARN :: !(Maybe Text)-    , _dtgMarker          :: !(Maybe Text)-    , _dtgPageSize        :: !(Maybe Nat)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dtgTargetGroupARNs :: !(Maybe [Text])+  , _dtgNames           :: !(Maybe [Text])+  , _dtgLoadBalancerARN :: !(Maybe Text)+  , _dtgMarker          :: !(Maybe Text)+  , _dtgPageSize        :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeTargetGroups' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -83,14 +80,15 @@ describeTargetGroups     :: DescribeTargetGroups describeTargetGroups =-    DescribeTargetGroups'-    { _dtgTargetGroupARNs = Nothing-    , _dtgNames = Nothing-    , _dtgLoadBalancerARN = Nothing-    , _dtgMarker = Nothing-    , _dtgPageSize = Nothing-    }+  DescribeTargetGroups'+  { _dtgTargetGroupARNs = Nothing+  , _dtgNames = Nothing+  , _dtgLoadBalancerARN = Nothing+  , _dtgMarker = Nothing+  , _dtgPageSize = Nothing+  } + -- | The Amazon Resource Names (ARN) of the target groups. dtgTargetGroupARNs :: Lens' DescribeTargetGroups [Text] dtgTargetGroupARNs = lens _dtgTargetGroupARNs (\ s a -> s{_dtgTargetGroupARNs = a}) . _Default . _Coerce;@@ -131,9 +129,9 @@                         may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable DescribeTargetGroups+instance Hashable DescribeTargetGroups where -instance NFData DescribeTargetGroups+instance NFData DescribeTargetGroups where  instance ToHeaders DescribeTargetGroups where         toHeaders = const mempty@@ -154,17 +152,14 @@                "LoadBalancerArn" =: _dtgLoadBalancerARN,                "Marker" =: _dtgMarker, "PageSize" =: _dtgPageSize] --- | Contains the output of DescribeTargetGroups.------------ /See:/ 'describeTargetGroupsResponse' smart constructor.+-- | /See:/ 'describeTargetGroupsResponse' smart constructor. data DescribeTargetGroupsResponse = DescribeTargetGroupsResponse'-    { _dtgsrsNextMarker     :: !(Maybe Text)-    , _dtgsrsTargetGroups   :: !(Maybe [TargetGroup])-    , _dtgsrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dtgsrsNextMarker     :: !(Maybe Text)+  , _dtgsrsTargetGroups   :: !(Maybe [TargetGroup])+  , _dtgsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeTargetGroupsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -178,12 +173,13 @@     :: Int -- ^ 'dtgsrsResponseStatus'     -> DescribeTargetGroupsResponse describeTargetGroupsResponse pResponseStatus_ =-    DescribeTargetGroupsResponse'-    { _dtgsrsNextMarker = Nothing-    , _dtgsrsTargetGroups = Nothing-    , _dtgsrsResponseStatus = pResponseStatus_-    }+  DescribeTargetGroupsResponse'+  { _dtgsrsNextMarker = Nothing+  , _dtgsrsTargetGroups = Nothing+  , _dtgsrsResponseStatus = pResponseStatus_+  } + -- | The marker to use when requesting the next set of results. If there are no additional results, the string is empty. dtgsrsNextMarker :: Lens' DescribeTargetGroupsResponse (Maybe Text) dtgsrsNextMarker = lens _dtgsrsNextMarker (\ s a -> s{_dtgsrsNextMarker = a});@@ -196,4 +192,4 @@ dtgsrsResponseStatus :: Lens' DescribeTargetGroupsResponse Int dtgsrsResponseStatus = lens _dtgsrsResponseStatus (\ s a -> s{_dtgsrsResponseStatus = a}); -instance NFData DescribeTargetGroupsResponse+instance NFData DescribeTargetGroupsResponse where
gen/Network/AWS/ELBv2/DescribeTargetHealth.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.ELBv2.DescribeTargetHealth--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -38,23 +38,20 @@     , dthrsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for DescribeTargetHealth.------------ /See:/ 'describeTargetHealth' smart constructor.+-- | /See:/ 'describeTargetHealth' smart constructor. data DescribeTargetHealth = DescribeTargetHealth'-    { _dthTargets        :: !(Maybe [TargetDescription])-    , _dthTargetGroupARN :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dthTargets        :: !(Maybe [TargetDescription])+  , _dthTargetGroupARN :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeTargetHealth' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -66,11 +63,10 @@     :: Text -- ^ 'dthTargetGroupARN'     -> DescribeTargetHealth describeTargetHealth pTargetGroupARN_ =-    DescribeTargetHealth'-    { _dthTargets = Nothing-    , _dthTargetGroupARN = pTargetGroupARN_-    }+  DescribeTargetHealth'+  {_dthTargets = Nothing, _dthTargetGroupARN = pTargetGroupARN_} + -- | The targets. dthTargets :: Lens' DescribeTargetHealth [TargetDescription] dthTargets = lens _dthTargets (\ s a -> s{_dthTargets = a}) . _Default . _Coerce;@@ -91,9 +87,9 @@                       may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable DescribeTargetHealth+instance Hashable DescribeTargetHealth where -instance NFData DescribeTargetHealth+instance NFData DescribeTargetHealth where  instance ToHeaders DescribeTargetHealth where         toHeaders = const mempty@@ -110,16 +106,13 @@                  toQuery (toQueryList "member" <$> _dthTargets),                "TargetGroupArn" =: _dthTargetGroupARN] --- | Contains the output of DescribeTargetHealth.------------ /See:/ 'describeTargetHealthResponse' smart constructor.+-- | /See:/ 'describeTargetHealthResponse' smart constructor. data DescribeTargetHealthResponse = DescribeTargetHealthResponse'-    { _dthrsTargetHealthDescriptions :: !(Maybe [TargetHealthDescription])-    , _dthrsResponseStatus           :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dthrsTargetHealthDescriptions :: !(Maybe [TargetHealthDescription])+  , _dthrsResponseStatus           :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeTargetHealthResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -131,11 +124,12 @@     :: Int -- ^ 'dthrsResponseStatus'     -> DescribeTargetHealthResponse describeTargetHealthResponse pResponseStatus_ =-    DescribeTargetHealthResponse'-    { _dthrsTargetHealthDescriptions = Nothing-    , _dthrsResponseStatus = pResponseStatus_-    }+  DescribeTargetHealthResponse'+  { _dthrsTargetHealthDescriptions = Nothing+  , _dthrsResponseStatus = pResponseStatus_+  } + -- | Information about the health of the targets. dthrsTargetHealthDescriptions :: Lens' DescribeTargetHealthResponse [TargetHealthDescription] dthrsTargetHealthDescriptions = lens _dthrsTargetHealthDescriptions (\ s a -> s{_dthrsTargetHealthDescriptions = a}) . _Default . _Coerce;@@ -144,4 +138,4 @@ dthrsResponseStatus :: Lens' DescribeTargetHealthResponse Int dthrsResponseStatus = lens _dthrsResponseStatus (\ s a -> s{_dthrsResponseStatus = a}); -instance NFData DescribeTargetHealthResponse+instance NFData DescribeTargetHealthResponse where
gen/Network/AWS/ELBv2/ModifyListener.hs view
@@ -12,16 +12,16 @@  -- | -- Module      : Network.AWS.ELBv2.ModifyListener--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- -- Modifies the specified properties of the specified listener. -- ----- Any properties that you do not specify retain their current values. However, changing the protocol from HTTPS to HTTP removes the security policy and SSL certificate properties. If you change the protocol from HTTP to HTTPS, you must add the security policy.+-- Any properties that you do not specify retain their current values. However, changing the protocol from HTTPS to HTTP removes the security policy and SSL certificate properties. If you change the protocol from HTTP to HTTPS, you must add the security policy and server certificate. -- module Network.AWS.ELBv2.ModifyListener     (@@ -44,38 +44,35 @@     , mlrsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for ModifyListener.------------ /See:/ 'modifyListener' smart constructor.+-- | /See:/ 'modifyListener' smart constructor. data ModifyListener = ModifyListener'-    { _mlSSLPolicy      :: !(Maybe Text)-    , _mlProtocol       :: !(Maybe ProtocolEnum)-    , _mlDefaultActions :: !(Maybe [Action])-    , _mlCertificates   :: !(Maybe [Certificate])-    , _mlPort           :: !(Maybe Nat)-    , _mlListenerARN    :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _mlSSLPolicy      :: !(Maybe Text)+  , _mlProtocol       :: !(Maybe ProtocolEnum)+  , _mlDefaultActions :: !(Maybe [Action])+  , _mlCertificates   :: !(Maybe [Certificate])+  , _mlPort           :: !(Maybe Nat)+  , _mlListenerARN    :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ModifyListener' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'mlSSLPolicy' - The security policy that defines which ciphers and protocols are supported.+-- * 'mlSSLPolicy' - The security policy that defines which protocols and ciphers are supported. For more information, see <http://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies Security Policies> in the /Application Load Balancers Guide/ . ----- * 'mlProtocol' - The protocol for connections from clients to the load balancer.+-- * 'mlProtocol' - The protocol for connections from clients to the load balancer. Application Load Balancers support HTTP and HTTPS and Network Load Balancers support TCP. ----- * 'mlDefaultActions' - The default actions.+-- * 'mlDefaultActions' - The default action. For Application Load Balancers, the protocol of the specified target group must be HTTP or HTTPS. For Network Load Balancers, the protocol of the specified target group must be TCP. ----- * 'mlCertificates' - The SSL server certificate.+-- * 'mlCertificates' - The default SSL server certificate. -- -- * 'mlPort' - The port for connections from clients to the load balancer. --@@ -84,28 +81,29 @@     :: Text -- ^ 'mlListenerARN'     -> ModifyListener modifyListener pListenerARN_ =-    ModifyListener'-    { _mlSSLPolicy = Nothing-    , _mlProtocol = Nothing-    , _mlDefaultActions = Nothing-    , _mlCertificates = Nothing-    , _mlPort = Nothing-    , _mlListenerARN = pListenerARN_-    }+  ModifyListener'+  { _mlSSLPolicy = Nothing+  , _mlProtocol = Nothing+  , _mlDefaultActions = Nothing+  , _mlCertificates = Nothing+  , _mlPort = Nothing+  , _mlListenerARN = pListenerARN_+  } --- | The security policy that defines which ciphers and protocols are supported.++-- | The security policy that defines which protocols and ciphers are supported. For more information, see <http://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies Security Policies> in the /Application Load Balancers Guide/ . mlSSLPolicy :: Lens' ModifyListener (Maybe Text) mlSSLPolicy = lens _mlSSLPolicy (\ s a -> s{_mlSSLPolicy = a}); --- | The protocol for connections from clients to the load balancer.+-- | The protocol for connections from clients to the load balancer. Application Load Balancers support HTTP and HTTPS and Network Load Balancers support TCP. mlProtocol :: Lens' ModifyListener (Maybe ProtocolEnum) mlProtocol = lens _mlProtocol (\ s a -> s{_mlProtocol = a}); --- | The default actions.+-- | The default action. For Application Load Balancers, the protocol of the specified target group must be HTTP or HTTPS. For Network Load Balancers, the protocol of the specified target group must be TCP. mlDefaultActions :: Lens' ModifyListener [Action] mlDefaultActions = lens _mlDefaultActions (\ s a -> s{_mlDefaultActions = a}) . _Default . _Coerce; --- | The SSL server certificate.+-- | The default SSL server certificate. mlCertificates :: Lens' ModifyListener [Certificate] mlCertificates = lens _mlCertificates (\ s a -> s{_mlCertificates = a}) . _Default . _Coerce; @@ -128,9 +126,9 @@                       may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable ModifyListener+instance Hashable ModifyListener where -instance NFData ModifyListener+instance NFData ModifyListener where  instance ToHeaders ModifyListener where         toHeaders = const mempty@@ -151,16 +149,13 @@                  toQuery (toQueryList "member" <$> _mlCertificates),                "Port" =: _mlPort, "ListenerArn" =: _mlListenerARN] --- | Contains the output of ModifyListener.------------ /See:/ 'modifyListenerResponse' smart constructor.+-- | /See:/ 'modifyListenerResponse' smart constructor. data ModifyListenerResponse = ModifyListenerResponse'-    { _mlrsListeners      :: !(Maybe [Listener])-    , _mlrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _mlrsListeners      :: !(Maybe [Listener])+  , _mlrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ModifyListenerResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -172,11 +167,10 @@     :: Int -- ^ 'mlrsResponseStatus'     -> ModifyListenerResponse modifyListenerResponse pResponseStatus_ =-    ModifyListenerResponse'-    { _mlrsListeners = Nothing-    , _mlrsResponseStatus = pResponseStatus_-    }+  ModifyListenerResponse'+  {_mlrsListeners = Nothing, _mlrsResponseStatus = pResponseStatus_} + -- | Information about the modified listeners. mlrsListeners :: Lens' ModifyListenerResponse [Listener] mlrsListeners = lens _mlrsListeners (\ s a -> s{_mlrsListeners = a}) . _Default . _Coerce;@@ -185,4 +179,4 @@ mlrsResponseStatus :: Lens' ModifyListenerResponse Int mlrsResponseStatus = lens _mlrsResponseStatus (\ s a -> s{_mlrsResponseStatus = a}); -instance NFData ModifyListenerResponse+instance NFData ModifyListenerResponse where
gen/Network/AWS/ELBv2/ModifyLoadBalancerAttributes.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.ELBv2.ModifyLoadBalancerAttributes--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Modifies the specified attributes of the specified Application Load Balancer.+-- Modifies the specified attributes of the specified Application Load Balancer or Network Load Balancer. -- -- -- If any of the specified attributes can't be modified as requested, the call fails. Any existing attributes that you do not modify retain their current values.@@ -40,23 +40,20 @@     , mlbarsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for ModifyLoadBalancerAttributes.------------ /See:/ 'modifyLoadBalancerAttributes' smart constructor.+-- | /See:/ 'modifyLoadBalancerAttributes' smart constructor. data ModifyLoadBalancerAttributes = ModifyLoadBalancerAttributes'-    { _mlbaLoadBalancerARN :: !Text-    , _mlbaAttributes      :: ![LoadBalancerAttribute]-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _mlbaLoadBalancerARN :: !Text+  , _mlbaAttributes      :: ![LoadBalancerAttribute]+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ModifyLoadBalancerAttributes' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -68,11 +65,10 @@     :: Text -- ^ 'mlbaLoadBalancerARN'     -> ModifyLoadBalancerAttributes modifyLoadBalancerAttributes pLoadBalancerARN_ =-    ModifyLoadBalancerAttributes'-    { _mlbaLoadBalancerARN = pLoadBalancerARN_-    , _mlbaAttributes = mempty-    }+  ModifyLoadBalancerAttributes'+  {_mlbaLoadBalancerARN = pLoadBalancerARN_, _mlbaAttributes = mempty} + -- | The Amazon Resource Name (ARN) of the load balancer. mlbaLoadBalancerARN :: Lens' ModifyLoadBalancerAttributes Text mlbaLoadBalancerARN = lens _mlbaLoadBalancerARN (\ s a -> s{_mlbaLoadBalancerARN = a});@@ -95,9 +91,9 @@                       may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable ModifyLoadBalancerAttributes+instance Hashable ModifyLoadBalancerAttributes where -instance NFData ModifyLoadBalancerAttributes+instance NFData ModifyLoadBalancerAttributes where  instance ToHeaders ModifyLoadBalancerAttributes where         toHeaders = const mempty@@ -114,16 +110,13 @@                "LoadBalancerArn" =: _mlbaLoadBalancerARN,                "Attributes" =: toQueryList "member" _mlbaAttributes] --- | Contains the output of ModifyLoadBalancerAttributes.------------ /See:/ 'modifyLoadBalancerAttributesResponse' smart constructor.+-- | /See:/ 'modifyLoadBalancerAttributesResponse' smart constructor. data ModifyLoadBalancerAttributesResponse = ModifyLoadBalancerAttributesResponse'-    { _mlbarsAttributes     :: !(Maybe [LoadBalancerAttribute])-    , _mlbarsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _mlbarsAttributes     :: !(Maybe [LoadBalancerAttribute])+  , _mlbarsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ModifyLoadBalancerAttributesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -135,11 +128,10 @@     :: Int -- ^ 'mlbarsResponseStatus'     -> ModifyLoadBalancerAttributesResponse modifyLoadBalancerAttributesResponse pResponseStatus_ =-    ModifyLoadBalancerAttributesResponse'-    { _mlbarsAttributes = Nothing-    , _mlbarsResponseStatus = pResponseStatus_-    }+  ModifyLoadBalancerAttributesResponse'+  {_mlbarsAttributes = Nothing, _mlbarsResponseStatus = pResponseStatus_} + -- | Information about the load balancer attributes. mlbarsAttributes :: Lens' ModifyLoadBalancerAttributesResponse [LoadBalancerAttribute] mlbarsAttributes = lens _mlbarsAttributes (\ s a -> s{_mlbarsAttributes = a}) . _Default . _Coerce;@@ -149,3 +141,4 @@ mlbarsResponseStatus = lens _mlbarsResponseStatus (\ s a -> s{_mlbarsResponseStatus = a});  instance NFData ModifyLoadBalancerAttributesResponse+         where
gen/Network/AWS/ELBv2/ModifyRule.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.ELBv2.ModifyRule--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -43,29 +43,26 @@     , mrrsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for ModifyRules.------------ /See:/ 'modifyRule' smart constructor.+-- | /See:/ 'modifyRule' smart constructor. data ModifyRule = ModifyRule'-    { _mrActions    :: !(Maybe [Action])-    , _mrConditions :: !(Maybe [RuleCondition])-    , _mrRuleARN    :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _mrActions    :: !(Maybe [Action])+  , _mrConditions :: !(Maybe [RuleCondition])+  , _mrRuleARN    :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ModifyRule' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'mrActions' - The actions.+-- * 'mrActions' - The actions. The target group must use the HTTP or HTTPS protocol. -- -- * 'mrConditions' - The conditions. --@@ -74,13 +71,11 @@     :: Text -- ^ 'mrRuleARN'     -> ModifyRule modifyRule pRuleARN_ =-    ModifyRule'-    { _mrActions = Nothing-    , _mrConditions = Nothing-    , _mrRuleARN = pRuleARN_-    }+  ModifyRule'+  {_mrActions = Nothing, _mrConditions = Nothing, _mrRuleARN = pRuleARN_} --- | The actions.++-- | The actions. The target group must use the HTTP or HTTPS protocol. mrActions :: Lens' ModifyRule [Action] mrActions = lens _mrActions (\ s a -> s{_mrActions = a}) . _Default . _Coerce; @@ -103,9 +98,9 @@                       may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable ModifyRule+instance Hashable ModifyRule where -instance NFData ModifyRule+instance NFData ModifyRule where  instance ToHeaders ModifyRule where         toHeaders = const mempty@@ -124,16 +119,13 @@                  toQuery (toQueryList "member" <$> _mrConditions),                "RuleArn" =: _mrRuleARN] --- | Contains the output of ModifyRules.------------ /See:/ 'modifyRuleResponse' smart constructor.+-- | /See:/ 'modifyRuleResponse' smart constructor. data ModifyRuleResponse = ModifyRuleResponse'-    { _mrrsRules          :: !(Maybe [Rule])-    , _mrrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _mrrsRules          :: !(Maybe [Rule])+  , _mrrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ModifyRuleResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -145,11 +137,10 @@     :: Int -- ^ 'mrrsResponseStatus'     -> ModifyRuleResponse modifyRuleResponse pResponseStatus_ =-    ModifyRuleResponse'-    { _mrrsRules = Nothing-    , _mrrsResponseStatus = pResponseStatus_-    }+  ModifyRuleResponse'+  {_mrrsRules = Nothing, _mrrsResponseStatus = pResponseStatus_} + -- | Information about the rule. mrrsRules :: Lens' ModifyRuleResponse [Rule] mrrsRules = lens _mrrsRules (\ s a -> s{_mrrsRules = a}) . _Default . _Coerce;@@ -158,4 +149,4 @@ mrrsResponseStatus :: Lens' ModifyRuleResponse Int mrrsResponseStatus = lens _mrrsResponseStatus (\ s a -> s{_mrrsResponseStatus = a}); -instance NFData ModifyRuleResponse+instance NFData ModifyRuleResponse where
gen/Network/AWS/ELBv2/ModifyTargetGroup.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.ELBv2.ModifyTargetGroup--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -47,80 +47,78 @@     , mtgrsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for ModifyTargetGroup.------------ /See:/ 'modifyTargetGroup' smart constructor.+-- | /See:/ 'modifyTargetGroup' smart constructor. data ModifyTargetGroup = ModifyTargetGroup'-    { _mtgMatcher                    :: !(Maybe Matcher)-    , _mtgHealthCheckPath            :: !(Maybe Text)-    , _mtgUnhealthyThresholdCount    :: !(Maybe Nat)-    , _mtgHealthCheckIntervalSeconds :: !(Maybe Nat)-    , _mtgHealthyThresholdCount      :: !(Maybe Nat)-    , _mtgHealthCheckProtocol        :: !(Maybe ProtocolEnum)-    , _mtgHealthCheckTimeoutSeconds  :: !(Maybe Nat)-    , _mtgHealthCheckPort            :: !(Maybe Text)-    , _mtgTargetGroupARN             :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _mtgMatcher                    :: !(Maybe Matcher)+  , _mtgHealthCheckPath            :: !(Maybe Text)+  , _mtgUnhealthyThresholdCount    :: !(Maybe Nat)+  , _mtgHealthCheckIntervalSeconds :: !(Maybe Nat)+  , _mtgHealthyThresholdCount      :: !(Maybe Nat)+  , _mtgHealthCheckProtocol        :: !(Maybe ProtocolEnum)+  , _mtgHealthCheckTimeoutSeconds  :: !(Maybe Nat)+  , _mtgHealthCheckPort            :: !(Maybe Text)+  , _mtgTargetGroupARN             :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ModifyTargetGroup' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'mtgMatcher' - The HTTP codes to use when checking for a successful response from a target.+-- * 'mtgMatcher' - [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful response from a target. ----- * 'mtgHealthCheckPath' - The ping path that is the destination for the health check request.+-- * 'mtgHealthCheckPath' - [HTTP/HTTPS health checks] The ping path that is the destination for the health check request. ----- * 'mtgUnhealthyThresholdCount' - The number of consecutive health check failures required before considering the target unhealthy.+-- * 'mtgUnhealthyThresholdCount' - The number of consecutive health check failures required before considering the target unhealthy. For Network Load Balancers, this value must be the same as the healthy threshold count. ----- * 'mtgHealthCheckIntervalSeconds' - The approximate amount of time, in seconds, between health checks of an individual target.+-- * 'mtgHealthCheckIntervalSeconds' - The approximate amount of time, in seconds, between health checks of an individual target. For Application Load Balancers, the range is 5 to 300 seconds. For Network Load Balancers, the supported values are 10 or 30 seconds. -- -- * 'mtgHealthyThresholdCount' - The number of consecutive health checks successes required before considering an unhealthy target healthy. ----- * 'mtgHealthCheckProtocol' - The protocol to use to connect with the target.+-- * 'mtgHealthCheckProtocol' - The protocol the load balancer uses when performing health checks on targets. The TCP protocol is supported only if the protocol of the target group is TCP. ----- * 'mtgHealthCheckTimeoutSeconds' - The amount of time, in seconds, during which no response means a failed health check.+-- * 'mtgHealthCheckTimeoutSeconds' - [HTTP/HTTPS health checks] The amount of time, in seconds, during which no response means a failed health check. ----- * 'mtgHealthCheckPort' - The port to use to connect with the target.+-- * 'mtgHealthCheckPort' - The port the load balancer uses when performing health checks on targets. -- -- * 'mtgTargetGroupARN' - The Amazon Resource Name (ARN) of the target group. modifyTargetGroup     :: Text -- ^ 'mtgTargetGroupARN'     -> ModifyTargetGroup modifyTargetGroup pTargetGroupARN_ =-    ModifyTargetGroup'-    { _mtgMatcher = Nothing-    , _mtgHealthCheckPath = Nothing-    , _mtgUnhealthyThresholdCount = Nothing-    , _mtgHealthCheckIntervalSeconds = Nothing-    , _mtgHealthyThresholdCount = Nothing-    , _mtgHealthCheckProtocol = Nothing-    , _mtgHealthCheckTimeoutSeconds = Nothing-    , _mtgHealthCheckPort = Nothing-    , _mtgTargetGroupARN = pTargetGroupARN_-    }+  ModifyTargetGroup'+  { _mtgMatcher = Nothing+  , _mtgHealthCheckPath = Nothing+  , _mtgUnhealthyThresholdCount = Nothing+  , _mtgHealthCheckIntervalSeconds = Nothing+  , _mtgHealthyThresholdCount = Nothing+  , _mtgHealthCheckProtocol = Nothing+  , _mtgHealthCheckTimeoutSeconds = Nothing+  , _mtgHealthCheckPort = Nothing+  , _mtgTargetGroupARN = pTargetGroupARN_+  } --- | The HTTP codes to use when checking for a successful response from a target.++-- | [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful response from a target. mtgMatcher :: Lens' ModifyTargetGroup (Maybe Matcher) mtgMatcher = lens _mtgMatcher (\ s a -> s{_mtgMatcher = a}); --- | The ping path that is the destination for the health check request.+-- | [HTTP/HTTPS health checks] The ping path that is the destination for the health check request. mtgHealthCheckPath :: Lens' ModifyTargetGroup (Maybe Text) mtgHealthCheckPath = lens _mtgHealthCheckPath (\ s a -> s{_mtgHealthCheckPath = a}); --- | The number of consecutive health check failures required before considering the target unhealthy.+-- | The number of consecutive health check failures required before considering the target unhealthy. For Network Load Balancers, this value must be the same as the healthy threshold count. mtgUnhealthyThresholdCount :: Lens' ModifyTargetGroup (Maybe Natural) mtgUnhealthyThresholdCount = lens _mtgUnhealthyThresholdCount (\ s a -> s{_mtgUnhealthyThresholdCount = a}) . mapping _Nat; --- | The approximate amount of time, in seconds, between health checks of an individual target.+-- | The approximate amount of time, in seconds, between health checks of an individual target. For Application Load Balancers, the range is 5 to 300 seconds. For Network Load Balancers, the supported values are 10 or 30 seconds. mtgHealthCheckIntervalSeconds :: Lens' ModifyTargetGroup (Maybe Natural) mtgHealthCheckIntervalSeconds = lens _mtgHealthCheckIntervalSeconds (\ s a -> s{_mtgHealthCheckIntervalSeconds = a}) . mapping _Nat; @@ -128,15 +126,15 @@ mtgHealthyThresholdCount :: Lens' ModifyTargetGroup (Maybe Natural) mtgHealthyThresholdCount = lens _mtgHealthyThresholdCount (\ s a -> s{_mtgHealthyThresholdCount = a}) . mapping _Nat; --- | The protocol to use to connect with the target.+-- | The protocol the load balancer uses when performing health checks on targets. The TCP protocol is supported only if the protocol of the target group is TCP. mtgHealthCheckProtocol :: Lens' ModifyTargetGroup (Maybe ProtocolEnum) mtgHealthCheckProtocol = lens _mtgHealthCheckProtocol (\ s a -> s{_mtgHealthCheckProtocol = a}); --- | The amount of time, in seconds, during which no response means a failed health check.+-- | [HTTP/HTTPS health checks] The amount of time, in seconds, during which no response means a failed health check. mtgHealthCheckTimeoutSeconds :: Lens' ModifyTargetGroup (Maybe Natural) mtgHealthCheckTimeoutSeconds = lens _mtgHealthCheckTimeoutSeconds (\ s a -> s{_mtgHealthCheckTimeoutSeconds = a}) . mapping _Nat; --- | The port to use to connect with the target.+-- | The port the load balancer uses when performing health checks on targets. mtgHealthCheckPort :: Lens' ModifyTargetGroup (Maybe Text) mtgHealthCheckPort = lens _mtgHealthCheckPort (\ s a -> s{_mtgHealthCheckPort = a}); @@ -155,9 +153,9 @@                       may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable ModifyTargetGroup+instance Hashable ModifyTargetGroup where -instance NFData ModifyTargetGroup+instance NFData ModifyTargetGroup where  instance ToHeaders ModifyTargetGroup where         toHeaders = const mempty@@ -183,16 +181,13 @@                "HealthCheckPort" =: _mtgHealthCheckPort,                "TargetGroupArn" =: _mtgTargetGroupARN] --- | Contains the output of ModifyTargetGroup.------------ /See:/ 'modifyTargetGroupResponse' smart constructor.+-- | /See:/ 'modifyTargetGroupResponse' smart constructor. data ModifyTargetGroupResponse = ModifyTargetGroupResponse'-    { _mtgrsTargetGroups   :: !(Maybe [TargetGroup])-    , _mtgrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _mtgrsTargetGroups   :: !(Maybe [TargetGroup])+  , _mtgrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ModifyTargetGroupResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -204,11 +199,10 @@     :: Int -- ^ 'mtgrsResponseStatus'     -> ModifyTargetGroupResponse modifyTargetGroupResponse pResponseStatus_ =-    ModifyTargetGroupResponse'-    { _mtgrsTargetGroups = Nothing-    , _mtgrsResponseStatus = pResponseStatus_-    }+  ModifyTargetGroupResponse'+  {_mtgrsTargetGroups = Nothing, _mtgrsResponseStatus = pResponseStatus_} + -- | Information about the target group. mtgrsTargetGroups :: Lens' ModifyTargetGroupResponse [TargetGroup] mtgrsTargetGroups = lens _mtgrsTargetGroups (\ s a -> s{_mtgrsTargetGroups = a}) . _Default . _Coerce;@@ -217,4 +211,4 @@ mtgrsResponseStatus :: Lens' ModifyTargetGroupResponse Int mtgrsResponseStatus = lens _mtgrsResponseStatus (\ s a -> s{_mtgrsResponseStatus = a}); -instance NFData ModifyTargetGroupResponse+instance NFData ModifyTargetGroupResponse where
gen/Network/AWS/ELBv2/ModifyTargetGroupAttributes.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.ELBv2.ModifyTargetGroupAttributes--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -38,23 +38,20 @@     , mtgarsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for ModifyTargetGroupAttributes.------------ /See:/ 'modifyTargetGroupAttributes' smart constructor.+-- | /See:/ 'modifyTargetGroupAttributes' smart constructor. data ModifyTargetGroupAttributes = ModifyTargetGroupAttributes'-    { _mtgaTargetGroupARN :: !Text-    , _mtgaAttributes     :: ![TargetGroupAttribute]-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _mtgaTargetGroupARN :: !Text+  , _mtgaAttributes     :: ![TargetGroupAttribute]+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ModifyTargetGroupAttributes' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -66,11 +63,10 @@     :: Text -- ^ 'mtgaTargetGroupARN'     -> ModifyTargetGroupAttributes modifyTargetGroupAttributes pTargetGroupARN_ =-    ModifyTargetGroupAttributes'-    { _mtgaTargetGroupARN = pTargetGroupARN_-    , _mtgaAttributes = mempty-    }+  ModifyTargetGroupAttributes'+  {_mtgaTargetGroupARN = pTargetGroupARN_, _mtgaAttributes = mempty} + -- | The Amazon Resource Name (ARN) of the target group. mtgaTargetGroupARN :: Lens' ModifyTargetGroupAttributes Text mtgaTargetGroupARN = lens _mtgaTargetGroupARN (\ s a -> s{_mtgaTargetGroupARN = a});@@ -92,9 +88,9 @@                       may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable ModifyTargetGroupAttributes+instance Hashable ModifyTargetGroupAttributes where -instance NFData ModifyTargetGroupAttributes+instance NFData ModifyTargetGroupAttributes where  instance ToHeaders ModifyTargetGroupAttributes where         toHeaders = const mempty@@ -111,16 +107,13 @@                "TargetGroupArn" =: _mtgaTargetGroupARN,                "Attributes" =: toQueryList "member" _mtgaAttributes] --- | Contains the output of ModifyTargetGroupAttributes.------------ /See:/ 'modifyTargetGroupAttributesResponse' smart constructor.+-- | /See:/ 'modifyTargetGroupAttributesResponse' smart constructor. data ModifyTargetGroupAttributesResponse = ModifyTargetGroupAttributesResponse'-    { _mtgarsAttributes     :: !(Maybe [TargetGroupAttribute])-    , _mtgarsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _mtgarsAttributes     :: !(Maybe [TargetGroupAttribute])+  , _mtgarsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ModifyTargetGroupAttributesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -132,11 +125,10 @@     :: Int -- ^ 'mtgarsResponseStatus'     -> ModifyTargetGroupAttributesResponse modifyTargetGroupAttributesResponse pResponseStatus_ =-    ModifyTargetGroupAttributesResponse'-    { _mtgarsAttributes = Nothing-    , _mtgarsResponseStatus = pResponseStatus_-    }+  ModifyTargetGroupAttributesResponse'+  {_mtgarsAttributes = Nothing, _mtgarsResponseStatus = pResponseStatus_} + -- | Information about the attributes. mtgarsAttributes :: Lens' ModifyTargetGroupAttributesResponse [TargetGroupAttribute] mtgarsAttributes = lens _mtgarsAttributes (\ s a -> s{_mtgarsAttributes = a}) . _Default . _Coerce;@@ -146,3 +138,4 @@ mtgarsResponseStatus = lens _mtgarsResponseStatus (\ s a -> s{_mtgarsResponseStatus = a});  instance NFData ModifyTargetGroupAttributesResponse+         where
gen/Network/AWS/ELBv2/RegisterTargets.hs view
@@ -12,19 +12,21 @@  -- | -- Module      : Network.AWS.ELBv2.RegisterTargets--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- -- Registers the specified targets with the specified target group. -- ----- By default, the load balancer routes requests to registered targets using the protocol and port number for the target group. Alternatively, you can override the port for a target when you register it.+-- You can register targets by instance ID or by IP address. If the target is an EC2 instance, it must be in the @running@ state when you register it. ----- The target must be in the virtual private cloud (VPC) that you specified for the target group. If the target is an EC2 instance, it can't be in the @stopped@ or @running@ state when you register it.+-- By default, the load balancer routes requests to registered targets using the protocol and port for the target group. Alternatively, you can override the port for a target when you register it. You can register each EC2 instance or IP address with the same target group multiple times using different ports. --+-- With a Network Load Balancer, you cannot register instances by instance ID if they have the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, M3, and T1. You can register instances of these types by IP address.+-- -- To remove a target from a target group, use 'DeregisterTargets' . -- module Network.AWS.ELBv2.RegisterTargets@@ -43,44 +45,39 @@     , rrsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for RegisterTargets.------------ /See:/ 'registerTargets' smart constructor.+-- | /See:/ 'registerTargets' smart constructor. data RegisterTargets = RegisterTargets'-    { _rtTargetGroupARN :: !Text-    , _rtTargets        :: ![TargetDescription]-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _rtTargetGroupARN :: !Text+  , _rtTargets        :: ![TargetDescription]+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'RegisterTargets' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'rtTargetGroupARN' - The Amazon Resource Name (ARN) of the target group. ----- * 'rtTargets' - The targets. The default port for a target is the port for the target group. You can specify a port override. If a target is already registered, you can register it again using a different port.+-- * 'rtTargets' - The targets. registerTargets     :: Text -- ^ 'rtTargetGroupARN'     -> RegisterTargets registerTargets pTargetGroupARN_ =-    RegisterTargets'-    { _rtTargetGroupARN = pTargetGroupARN_-    , _rtTargets = mempty-    }+  RegisterTargets' {_rtTargetGroupARN = pTargetGroupARN_, _rtTargets = mempty} + -- | The Amazon Resource Name (ARN) of the target group. rtTargetGroupARN :: Lens' RegisterTargets Text rtTargetGroupARN = lens _rtTargetGroupARN (\ s a -> s{_rtTargetGroupARN = a}); --- | The targets. The default port for a target is the port for the target group. You can specify a port override. If a target is already registered, you can register it again using a different port.+-- | The targets. rtTargets :: Lens' RegisterTargets [TargetDescription] rtTargets = lens _rtTargets (\ s a -> s{_rtTargets = a}) . _Coerce; @@ -92,9 +89,9 @@               (\ s h x ->                  RegisterTargetsResponse' <$> (pure (fromEnum s))) -instance Hashable RegisterTargets+instance Hashable RegisterTargets where -instance NFData RegisterTargets+instance NFData RegisterTargets where  instance ToHeaders RegisterTargets where         toHeaders = const mempty@@ -110,15 +107,12 @@                "TargetGroupArn" =: _rtTargetGroupARN,                "Targets" =: toQueryList "member" _rtTargets] --- | Contains the output of RegisterTargets.------------ /See:/ 'registerTargetsResponse' smart constructor.+-- | /See:/ 'registerTargetsResponse' smart constructor. newtype RegisterTargetsResponse = RegisterTargetsResponse'-    { _rrsResponseStatus :: Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _rrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'RegisterTargetsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -128,12 +122,11 @@     :: Int -- ^ 'rrsResponseStatus'     -> RegisterTargetsResponse registerTargetsResponse pResponseStatus_ =-    RegisterTargetsResponse'-    { _rrsResponseStatus = pResponseStatus_-    }+  RegisterTargetsResponse' {_rrsResponseStatus = pResponseStatus_} + -- | -- | The response status code. rrsResponseStatus :: Lens' RegisterTargetsResponse Int rrsResponseStatus = lens _rrsResponseStatus (\ s a -> s{_rrsResponseStatus = a}); -instance NFData RegisterTargetsResponse+instance NFData RegisterTargetsResponse where
+ gen/Network/AWS/ELBv2/RemoveListenerCertificates.hs view
@@ -0,0 +1,135 @@+{-# 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.ELBv2.RemoveListenerCertificates+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes the specified certificate from the specified secure listener.+--+--+-- You can't remove the default certificate for a listener. To replace the default certificate, call 'ModifyListener' .+--+-- To list the certificates for your listener, use 'DescribeListenerCertificates' .+--+module Network.AWS.ELBv2.RemoveListenerCertificates+    (+    -- * Creating a Request+      removeListenerCertificates+    , RemoveListenerCertificates+    -- * Request Lenses+    , rlcListenerARN+    , rlcCertificates++    -- * Destructuring the Response+    , removeListenerCertificatesResponse+    , RemoveListenerCertificatesResponse+    -- * Response Lenses+    , rlcrsResponseStatus+    ) where++import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'removeListenerCertificates' smart constructor.+data RemoveListenerCertificates = RemoveListenerCertificates'+  { _rlcListenerARN  :: !Text+  , _rlcCertificates :: ![Certificate]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RemoveListenerCertificates' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlcListenerARN' - The Amazon Resource Name (ARN) of the listener.+--+-- * 'rlcCertificates' - The certificate to remove. You can specify one certificate per call.+removeListenerCertificates+    :: Text -- ^ 'rlcListenerARN'+    -> RemoveListenerCertificates+removeListenerCertificates pListenerARN_ =+  RemoveListenerCertificates'+  {_rlcListenerARN = pListenerARN_, _rlcCertificates = mempty}+++-- | The Amazon Resource Name (ARN) of the listener.+rlcListenerARN :: Lens' RemoveListenerCertificates Text+rlcListenerARN = lens _rlcListenerARN (\ s a -> s{_rlcListenerARN = a});++-- | The certificate to remove. You can specify one certificate per call.+rlcCertificates :: Lens' RemoveListenerCertificates [Certificate]+rlcCertificates = lens _rlcCertificates (\ s a -> s{_rlcCertificates = a}) . _Coerce;++instance AWSRequest RemoveListenerCertificates where+        type Rs RemoveListenerCertificates =+             RemoveListenerCertificatesResponse+        request = postQuery eLBv2+        response+          = receiveXMLWrapper+              "RemoveListenerCertificatesResult"+              (\ s h x ->+                 RemoveListenerCertificatesResponse' <$>+                   (pure (fromEnum s)))++instance Hashable RemoveListenerCertificates where++instance NFData RemoveListenerCertificates where++instance ToHeaders RemoveListenerCertificates where+        toHeaders = const mempty++instance ToPath RemoveListenerCertificates where+        toPath = const "/"++instance ToQuery RemoveListenerCertificates where+        toQuery RemoveListenerCertificates'{..}+          = mconcat+              ["Action" =:+                 ("RemoveListenerCertificates" :: ByteString),+               "Version" =: ("2015-12-01" :: ByteString),+               "ListenerArn" =: _rlcListenerARN,+               "Certificates" =:+                 toQueryList "member" _rlcCertificates]++-- | /See:/ 'removeListenerCertificatesResponse' smart constructor.+newtype RemoveListenerCertificatesResponse = RemoveListenerCertificatesResponse'+  { _rlcrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RemoveListenerCertificatesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlcrsResponseStatus' - -- | The response status code.+removeListenerCertificatesResponse+    :: Int -- ^ 'rlcrsResponseStatus'+    -> RemoveListenerCertificatesResponse+removeListenerCertificatesResponse pResponseStatus_ =+  RemoveListenerCertificatesResponse' {_rlcrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+rlcrsResponseStatus :: Lens' RemoveListenerCertificatesResponse Int+rlcrsResponseStatus = lens _rlcrsResponseStatus (\ s a -> s{_rlcrsResponseStatus = a});++instance NFData RemoveListenerCertificatesResponse+         where
gen/Network/AWS/ELBv2/RemoveTags.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.ELBv2.RemoveTags--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Removes the specified tags from the specified resource.+-- Removes the specified tags from the specified Elastic Load Balancing resource. -- -- -- To list the current tags for your resources, use 'DescribeTags' .@@ -39,23 +39,20 @@     , rtrsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for RemoveTags.------------ /See:/ 'removeTags' smart constructor.+-- | /See:/ 'removeTags' smart constructor. data RemoveTags = RemoveTags'-    { _rtResourceARNs :: ![Text]-    , _rtTagKeys      :: ![Text]-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _rtResourceARNs :: ![Text]+  , _rtTagKeys      :: ![Text]+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'RemoveTags' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -65,12 +62,9 @@ -- * 'rtTagKeys' - The tag keys for the tags to remove. removeTags     :: RemoveTags-removeTags =-    RemoveTags'-    { _rtResourceARNs = mempty-    , _rtTagKeys = mempty-    }+removeTags = RemoveTags' {_rtResourceARNs = mempty, _rtTagKeys = mempty} + -- | The Amazon Resource Name (ARN) of the resource. rtResourceARNs :: Lens' RemoveTags [Text] rtResourceARNs = lens _rtResourceARNs (\ s a -> s{_rtResourceARNs = a}) . _Coerce;@@ -87,9 +81,9 @@               (\ s h x ->                  RemoveTagsResponse' <$> (pure (fromEnum s))) -instance Hashable RemoveTags+instance Hashable RemoveTags where -instance NFData RemoveTags+instance NFData RemoveTags where  instance ToHeaders RemoveTags where         toHeaders = const mempty@@ -106,15 +100,12 @@                  toQueryList "member" _rtResourceARNs,                "TagKeys" =: toQueryList "member" _rtTagKeys] --- | Contains the output of RemoveTags.------------ /See:/ 'removeTagsResponse' smart constructor.+-- | /See:/ 'removeTagsResponse' smart constructor. newtype RemoveTagsResponse = RemoveTagsResponse'-    { _rtrsResponseStatus :: Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _rtrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'RemoveTagsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -124,12 +115,11 @@     :: Int -- ^ 'rtrsResponseStatus'     -> RemoveTagsResponse removeTagsResponse pResponseStatus_ =-    RemoveTagsResponse'-    { _rtrsResponseStatus = pResponseStatus_-    }+  RemoveTagsResponse' {_rtrsResponseStatus = pResponseStatus_} + -- | -- | The response status code. rtrsResponseStatus :: Lens' RemoveTagsResponse Int rtrsResponseStatus = lens _rtrsResponseStatus (\ s a -> s{_rtrsResponseStatus = a}); -instance NFData RemoveTagsResponse+instance NFData RemoveTagsResponse where
+ gen/Network/AWS/ELBv2/SetIPAddressType.hs view
@@ -0,0 +1,140 @@+{-# 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.ELBv2.SetIPAddressType+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets the type of IP addresses used by the subnets of the specified Application Load Balancer or Network Load Balancer.+--+--+-- Note that Network Load Balancers must use @ipv4@ .+--+module Network.AWS.ELBv2.SetIPAddressType+    (+    -- * Creating a Request+      setIPAddressType+    , SetIPAddressType+    -- * Request Lenses+    , siatLoadBalancerARN+    , siatIPAddressType++    -- * Destructuring the Response+    , setIPAddressTypeResponse+    , SetIPAddressTypeResponse+    -- * Response Lenses+    , siatrsIPAddressType+    , siatrsResponseStatus+    ) where++import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'setIPAddressType' smart constructor.+data SetIPAddressType = SetIPAddressType'+  { _siatLoadBalancerARN :: !Text+  , _siatIPAddressType   :: !IPAddressType+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SetIPAddressType' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siatLoadBalancerARN' - The Amazon Resource Name (ARN) of the load balancer.+--+-- * 'siatIPAddressType' - The IP address type. The possible values are @ipv4@ (for IPv4 addresses) and @dualstack@ (for IPv4 and IPv6 addresses). Internal load balancers must use @ipv4@ .+setIPAddressType+    :: Text -- ^ 'siatLoadBalancerARN'+    -> IPAddressType -- ^ 'siatIPAddressType'+    -> SetIPAddressType+setIPAddressType pLoadBalancerARN_ pIPAddressType_ =+  SetIPAddressType'+  { _siatLoadBalancerARN = pLoadBalancerARN_+  , _siatIPAddressType = pIPAddressType_+  }+++-- | The Amazon Resource Name (ARN) of the load balancer.+siatLoadBalancerARN :: Lens' SetIPAddressType Text+siatLoadBalancerARN = lens _siatLoadBalancerARN (\ s a -> s{_siatLoadBalancerARN = a});++-- | The IP address type. The possible values are @ipv4@ (for IPv4 addresses) and @dualstack@ (for IPv4 and IPv6 addresses). Internal load balancers must use @ipv4@ .+siatIPAddressType :: Lens' SetIPAddressType IPAddressType+siatIPAddressType = lens _siatIPAddressType (\ s a -> s{_siatIPAddressType = a});++instance AWSRequest SetIPAddressType where+        type Rs SetIPAddressType = SetIPAddressTypeResponse+        request = postQuery eLBv2+        response+          = receiveXMLWrapper "SetIpAddressTypeResult"+              (\ s h x ->+                 SetIPAddressTypeResponse' <$>+                   (x .@? "IpAddressType") <*> (pure (fromEnum s)))++instance Hashable SetIPAddressType where++instance NFData SetIPAddressType where++instance ToHeaders SetIPAddressType where+        toHeaders = const mempty++instance ToPath SetIPAddressType where+        toPath = const "/"++instance ToQuery SetIPAddressType where+        toQuery SetIPAddressType'{..}+          = mconcat+              ["Action" =: ("SetIpAddressType" :: ByteString),+               "Version" =: ("2015-12-01" :: ByteString),+               "LoadBalancerArn" =: _siatLoadBalancerARN,+               "IpAddressType" =: _siatIPAddressType]++-- | /See:/ 'setIPAddressTypeResponse' smart constructor.+data SetIPAddressTypeResponse = SetIPAddressTypeResponse'+  { _siatrsIPAddressType  :: !(Maybe IPAddressType)+  , _siatrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SetIPAddressTypeResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siatrsIPAddressType' - The IP address type.+--+-- * 'siatrsResponseStatus' - -- | The response status code.+setIPAddressTypeResponse+    :: Int -- ^ 'siatrsResponseStatus'+    -> SetIPAddressTypeResponse+setIPAddressTypeResponse pResponseStatus_ =+  SetIPAddressTypeResponse'+  {_siatrsIPAddressType = Nothing, _siatrsResponseStatus = pResponseStatus_}+++-- | The IP address type.+siatrsIPAddressType :: Lens' SetIPAddressTypeResponse (Maybe IPAddressType)+siatrsIPAddressType = lens _siatrsIPAddressType (\ s a -> s{_siatrsIPAddressType = a});++-- | -- | The response status code.+siatrsResponseStatus :: Lens' SetIPAddressTypeResponse Int+siatrsResponseStatus = lens _siatrsResponseStatus (\ s a -> s{_siatrsResponseStatus = a});++instance NFData SetIPAddressTypeResponse where
gen/Network/AWS/ELBv2/SetRulePriorities.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.ELBv2.SetRulePriorities--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -39,22 +39,19 @@     , srprsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for SetRulePriorities.------------ /See:/ 'setRulePriorities' smart constructor.+-- | /See:/ 'setRulePriorities' smart constructor. newtype SetRulePriorities = SetRulePriorities'-    { _srpRulePriorities :: [RulePriorityPair]-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _srpRulePriorities :: [RulePriorityPair]+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'SetRulePriorities' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -62,11 +59,9 @@ -- * 'srpRulePriorities' - The rule priorities. setRulePriorities     :: SetRulePriorities-setRulePriorities =-    SetRulePriorities'-    { _srpRulePriorities = mempty-    }+setRulePriorities = SetRulePriorities' {_srpRulePriorities = mempty} + -- | The rule priorities. srpRulePriorities :: Lens' SetRulePriorities [RulePriorityPair] srpRulePriorities = lens _srpRulePriorities (\ s a -> s{_srpRulePriorities = a}) . _Coerce;@@ -82,9 +77,9 @@                       may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable SetRulePriorities+instance Hashable SetRulePriorities where -instance NFData SetRulePriorities+instance NFData SetRulePriorities where  instance ToHeaders SetRulePriorities where         toHeaders = const mempty@@ -100,16 +95,13 @@                "RulePriorities" =:                  toQueryList "member" _srpRulePriorities] --- | Contains the output of SetRulePriorities.------------ /See:/ 'setRulePrioritiesResponse' smart constructor.+-- | /See:/ 'setRulePrioritiesResponse' smart constructor. data SetRulePrioritiesResponse = SetRulePrioritiesResponse'-    { _srprsRules          :: !(Maybe [Rule])-    , _srprsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _srprsRules          :: !(Maybe [Rule])+  , _srprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'SetRulePrioritiesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -121,11 +113,10 @@     :: Int -- ^ 'srprsResponseStatus'     -> SetRulePrioritiesResponse setRulePrioritiesResponse pResponseStatus_ =-    SetRulePrioritiesResponse'-    { _srprsRules = Nothing-    , _srprsResponseStatus = pResponseStatus_-    }+  SetRulePrioritiesResponse'+  {_srprsRules = Nothing, _srprsResponseStatus = pResponseStatus_} + -- | Information about the rules. srprsRules :: Lens' SetRulePrioritiesResponse [Rule] srprsRules = lens _srprsRules (\ s a -> s{_srprsRules = a}) . _Default . _Coerce;@@ -134,4 +125,4 @@ srprsResponseStatus :: Lens' SetRulePrioritiesResponse Int srprsResponseStatus = lens _srprsResponseStatus (\ s a -> s{_srprsResponseStatus = a}); -instance NFData SetRulePrioritiesResponse+instance NFData SetRulePrioritiesResponse where
gen/Network/AWS/ELBv2/SetSecurityGroups.hs view
@@ -12,15 +12,17 @@  -- | -- Module      : Network.AWS.ELBv2.SetSecurityGroups--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Associates the specified security groups with the specified load balancer. The specified security groups override the previously associated security groups.+-- Associates the specified security groups with the specified Application Load Balancer. The specified security groups override the previously associated security groups. -- --+-- Note that you can't specify a security group for a Network Load Balancer.+-- module Network.AWS.ELBv2.SetSecurityGroups     (     -- * Creating a Request@@ -38,23 +40,20 @@     , ssgrsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for SetSecurityGroups.------------ /See:/ 'setSecurityGroups' smart constructor.+-- | /See:/ 'setSecurityGroups' smart constructor. data SetSecurityGroups = SetSecurityGroups'-    { _ssgLoadBalancerARN :: !Text-    , _ssgSecurityGroups  :: ![Text]-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ssgLoadBalancerARN :: !Text+  , _ssgSecurityGroups  :: ![Text]+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'SetSecurityGroups' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -66,11 +65,10 @@     :: Text -- ^ 'ssgLoadBalancerARN'     -> SetSecurityGroups setSecurityGroups pLoadBalancerARN_ =-    SetSecurityGroups'-    { _ssgLoadBalancerARN = pLoadBalancerARN_-    , _ssgSecurityGroups = mempty-    }+  SetSecurityGroups'+  {_ssgLoadBalancerARN = pLoadBalancerARN_, _ssgSecurityGroups = mempty} + -- | The Amazon Resource Name (ARN) of the load balancer. ssgLoadBalancerARN :: Lens' SetSecurityGroups Text ssgLoadBalancerARN = lens _ssgLoadBalancerARN (\ s a -> s{_ssgLoadBalancerARN = a});@@ -90,9 +88,9 @@                       may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable SetSecurityGroups+instance Hashable SetSecurityGroups where -instance NFData SetSecurityGroups+instance NFData SetSecurityGroups where  instance ToHeaders SetSecurityGroups where         toHeaders = const mempty@@ -109,16 +107,13 @@                "SecurityGroups" =:                  toQueryList "member" _ssgSecurityGroups] --- | Contains the output of SetSecurityGroups.------------ /See:/ 'setSecurityGroupsResponse' smart constructor.+-- | /See:/ 'setSecurityGroupsResponse' smart constructor. data SetSecurityGroupsResponse = SetSecurityGroupsResponse'-    { _ssgrsSecurityGroupIds :: !(Maybe [Text])-    , _ssgrsResponseStatus   :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ssgrsSecurityGroupIds :: !(Maybe [Text])+  , _ssgrsResponseStatus   :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'SetSecurityGroupsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -130,11 +125,10 @@     :: Int -- ^ 'ssgrsResponseStatus'     -> SetSecurityGroupsResponse setSecurityGroupsResponse pResponseStatus_ =-    SetSecurityGroupsResponse'-    { _ssgrsSecurityGroupIds = Nothing-    , _ssgrsResponseStatus = pResponseStatus_-    }+  SetSecurityGroupsResponse'+  {_ssgrsSecurityGroupIds = Nothing, _ssgrsResponseStatus = pResponseStatus_} + -- | The IDs of the security groups associated with the load balancer. ssgrsSecurityGroupIds :: Lens' SetSecurityGroupsResponse [Text] ssgrsSecurityGroupIds = lens _ssgrsSecurityGroupIds (\ s a -> s{_ssgrsSecurityGroupIds = a}) . _Default . _Coerce;@@ -143,4 +137,4 @@ ssgrsResponseStatus :: Lens' SetSecurityGroupsResponse Int ssgrsResponseStatus = lens _ssgrsResponseStatus (\ s a -> s{_ssgrsResponseStatus = a}); -instance NFData SetSecurityGroupsResponse+instance NFData SetSecurityGroupsResponse where
gen/Network/AWS/ELBv2/SetSubnets.hs view
@@ -12,21 +12,24 @@  -- | -- Module      : Network.AWS.ELBv2.SetSubnets--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Enables the Availability Zone for the specified subnets for the specified load balancer. The specified subnets replace the previously enabled subnets.+-- Enables the Availability Zone for the specified subnets for the specified Application Load Balancer. The specified subnets replace the previously enabled subnets. -- --+-- Note that you can't change the subnets for a Network Load Balancer.+-- module Network.AWS.ELBv2.SetSubnets     (     -- * Creating a Request       setSubnets     , SetSubnets     -- * Request Lenses+    , ssSubnetMappings     , ssLoadBalancerARN     , ssSubnets @@ -38,44 +41,50 @@     , ssrsResponseStatus     ) where -import           Network.AWS.ELBv2.Types-import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.ELBv2.Types+import Network.AWS.ELBv2.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response --- | Contains the parameters for SetSubnets.------------ /See:/ 'setSubnets' smart constructor.+-- | /See:/ 'setSubnets' smart constructor. data SetSubnets = SetSubnets'-    { _ssLoadBalancerARN :: !Text-    , _ssSubnets         :: ![Text]-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ssSubnetMappings  :: !(Maybe [SubnetMapping])+  , _ssLoadBalancerARN :: !Text+  , _ssSubnets         :: ![Text]+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'SetSubnets' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'ssSubnetMappings' - The IDs of the subnets. You must specify subnets from at least two Availability Zones. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings. You cannot specify Elastic IP addresses for your subnets.+-- -- * 'ssLoadBalancerARN' - The Amazon Resource Name (ARN) of the load balancer. ----- * 'ssSubnets' - The IDs of the subnets. You must specify at least two subnets. You can add only one subnet per Availability Zone.+-- * 'ssSubnets' - The IDs of the subnets. You must specify subnets from at least two Availability Zones. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings. setSubnets     :: Text -- ^ 'ssLoadBalancerARN'     -> SetSubnets setSubnets pLoadBalancerARN_ =-    SetSubnets'-    { _ssLoadBalancerARN = pLoadBalancerARN_-    , _ssSubnets = mempty-    }+  SetSubnets'+  { _ssSubnetMappings = Nothing+  , _ssLoadBalancerARN = pLoadBalancerARN_+  , _ssSubnets = mempty+  } ++-- | The IDs of the subnets. You must specify subnets from at least two Availability Zones. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings. You cannot specify Elastic IP addresses for your subnets.+ssSubnetMappings :: Lens' SetSubnets [SubnetMapping]+ssSubnetMappings = lens _ssSubnetMappings (\ s a -> s{_ssSubnetMappings = a}) . _Default . _Coerce;+ -- | The Amazon Resource Name (ARN) of the load balancer. ssLoadBalancerARN :: Lens' SetSubnets Text ssLoadBalancerARN = lens _ssLoadBalancerARN (\ s a -> s{_ssLoadBalancerARN = a}); --- | The IDs of the subnets. You must specify at least two subnets. You can add only one subnet per Availability Zone.+-- | The IDs of the subnets. You must specify subnets from at least two Availability Zones. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings. ssSubnets :: Lens' SetSubnets [Text] ssSubnets = lens _ssSubnets (\ s a -> s{_ssSubnets = a}) . _Coerce; @@ -90,9 +99,9 @@                       may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable SetSubnets+instance Hashable SetSubnets where -instance NFData SetSubnets+instance NFData SetSubnets where  instance ToHeaders SetSubnets where         toHeaders = const mempty@@ -105,19 +114,18 @@           = mconcat               ["Action" =: ("SetSubnets" :: ByteString),                "Version" =: ("2015-12-01" :: ByteString),+               "SubnetMappings" =:+                 toQuery (toQueryList "member" <$> _ssSubnetMappings),                "LoadBalancerArn" =: _ssLoadBalancerARN,                "Subnets" =: toQueryList "member" _ssSubnets] --- | Contains the output of SetSubnets.------------ /See:/ 'setSubnetsResponse' smart constructor.+-- | /See:/ 'setSubnetsResponse' smart constructor. data SetSubnetsResponse = SetSubnetsResponse'-    { _ssrsAvailabilityZones :: !(Maybe [AvailabilityZone])-    , _ssrsResponseStatus    :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ssrsAvailabilityZones :: !(Maybe [AvailabilityZone])+  , _ssrsResponseStatus    :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'SetSubnetsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -129,11 +137,10 @@     :: Int -- ^ 'ssrsResponseStatus'     -> SetSubnetsResponse setSubnetsResponse pResponseStatus_ =-    SetSubnetsResponse'-    { _ssrsAvailabilityZones = Nothing-    , _ssrsResponseStatus = pResponseStatus_-    }+  SetSubnetsResponse'+  {_ssrsAvailabilityZones = Nothing, _ssrsResponseStatus = pResponseStatus_} + -- | Information about the subnet and Availability Zone. ssrsAvailabilityZones :: Lens' SetSubnetsResponse [AvailabilityZone] ssrsAvailabilityZones = lens _ssrsAvailabilityZones (\ s a -> s{_ssrsAvailabilityZones = a}) . _Default . _Coerce;@@ -142,4 +149,4 @@ ssrsResponseStatus :: Lens' SetSubnetsResponse Int ssrsResponseStatus = lens _ssrsResponseStatus (\ s a -> s{_ssrsResponseStatus = a}); -instance NFData SetSubnetsResponse+instance NFData SetSubnetsResponse where
gen/Network/AWS/ELBv2/Types.hs view
@@ -4,9 +4,9 @@  -- | -- Module      : Network.AWS.ELBv2.Types--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -31,6 +31,7 @@     , _TooManyTagsException     , _DuplicateTargetGroupNameException     , _HealthUnavailableException+    , _AllocationIdNotFoundException     , _PriorityInUseException     , _TooManyLoadBalancersException     , _UnsupportedProtocolException@@ -44,6 +45,7 @@     , _OperationNotPermittedException     , _SSLPolicyNotFoundException     , _InvalidSchemeException+    , _AvailabilityZoneNotSupportedException     , _LoadBalancerNotFoundException     , _ResourceInUseException     , _CertificateNotFoundException@@ -51,6 +53,9 @@     -- * ActionTypeEnum     , ActionTypeEnum (..) +    -- * IPAddressType+    , IPAddressType (..)+     -- * LoadBalancerSchemeEnum     , LoadBalancerSchemeEnum (..) @@ -69,6 +74,9 @@     -- * TargetHealthStateEnum     , TargetHealthStateEnum (..) +    -- * TargetTypeEnum+    , TargetTypeEnum (..)+     -- * Action     , Action     , action@@ -80,11 +88,13 @@     , availabilityZone     , azSubnetId     , azZoneName+    , azLoadBalancerAddresses      -- * Certificate     , Certificate     , certificate     , cCertificateARN+    , cIsDefault      -- * Cipher     , Cipher@@ -92,6 +102,12 @@     , cPriority     , cName +    -- * Limit+    , Limit+    , limit+    , lMax+    , lName+     -- * Listener     , Listener     , listener@@ -114,10 +130,17 @@     , lbCanonicalHostedZoneId     , lbAvailabilityZones     , lbLoadBalancerARN+    , lbIPAddressType     , lbScheme     , lbType     , lbDNSName +    -- * LoadBalancerAddress+    , LoadBalancerAddress+    , loadBalancerAddress+    , lbaIPAddress+    , lbaAllocationId+     -- * LoadBalancerAttribute     , LoadBalancerAttribute     , loadBalancerAttribute@@ -163,6 +186,12 @@     , spName     , spSSLProtocols +    -- * SubnetMapping+    , SubnetMapping+    , subnetMapping+    , smAllocationId+    , smSubnetId+     -- * Tag     , Tag     , tag@@ -178,6 +207,7 @@     -- * TargetDescription     , TargetDescription     , targetDescription+    , tdAvailabilityZone     , tdPort     , tdId @@ -191,6 +221,7 @@     , tgTargetGroupARN     , tgProtocol     , tgHealthCheckIntervalSeconds+    , tgTargetType     , tgHealthyThresholdCount     , tgHealthCheckProtocol     , tgLoadBalancerARNs@@ -220,38 +251,40 @@     , thdTarget     ) where -import           Network.AWS.ELBv2.Types.Product-import           Network.AWS.ELBv2.Types.Sum-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Sign.V4+import Network.AWS.ELBv2.Types.Product+import Network.AWS.ELBv2.Types.Sum+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Sign.V4  -- | API version @2015-12-01@ of the Amazon Elastic Load Balancing SDK configuration. eLBv2 :: Service eLBv2 =-    Service-    { _svcAbbrev = "ELBv2"-    , _svcSigner = v4-    , _svcPrefix = "elasticloadbalancing"-    , _svcVersion = "2015-12-01"-    , _svcEndpoint = defaultEndpoint eLBv2-    , _svcTimeout = Just 70-    , _svcCheck = statusSuccess-    , _svcError = parseXMLError "ELBv2"-    , _svcRetry = retry-    }+  Service+  { _svcAbbrev = "ELBv2"+  , _svcSigner = v4+  , _svcPrefix = "elasticloadbalancing"+  , _svcVersion = "2015-12-01"+  , _svcEndpoint = defaultEndpoint eLBv2+  , _svcTimeout = Just 70+  , _svcCheck = statusSuccess+  , _svcError = parseXMLError "ELBv2"+  , _svcRetry = retry+  }   where     retry =-        Exponential-        { _retryBase = 5.0e-2-        , _retryGrowth = 2-        , _retryAttempts = 5-        , _retryCheck = check-        }+      Exponential+      { _retryBase = 5.0e-2+      , _retryGrowth = 2+      , _retryAttempts = 5+      , _retryCheck = check+      }     check e+      | has (hasCode "ThrottledException" . hasStatus 400) e =+        Just "throttled_exception"       | has (hasStatus 429) e = Just "too_many_requests"       | has (hasCode "ThrottlingException" . hasStatus 400) e =-          Just "throttling_exception"+        Just "throttling_exception"       | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"       | has (hasStatus 504) e = Just "gateway_timeout"       | has (hasStatus 502) e = Just "bad_gateway"@@ -260,216 +293,264 @@       | has (hasStatus 509) e = Just "limit_exceeded"       | otherwise = Nothing + -- | The requested configuration is not valid. -- -- _InvalidConfigurationRequestException :: AsError a => Getting (First ServiceError) a ServiceError _InvalidConfigurationRequestException =-    _ServiceError . hasStatus 400 . hasCode "InvalidConfigurationRequest"+  _MatchServiceError eLBv2 "InvalidConfigurationRequest" . hasStatus 400 + -- | The specified subnet does not exist. -- -- _SubnetNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError _SubnetNotFoundException =-    _ServiceError . hasStatus 400 . hasCode "SubnetNotFound"+  _MatchServiceError eLBv2 "SubnetNotFound" . hasStatus 400 + -- | You've reached the limit on the number of targets. -- -- _TooManyTargetsException :: AsError a => Getting (First ServiceError) a ServiceError _TooManyTargetsException =-    _ServiceError . hasStatus 400 . hasCode "TooManyTargets"+  _MatchServiceError eLBv2 "TooManyTargets" . hasStatus 400 + -- | The specified rule does not exist. -- -- _RuleNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError-_RuleNotFoundException = _ServiceError . hasStatus 400 . hasCode "RuleNotFound"+_RuleNotFoundException = _MatchServiceError eLBv2 "RuleNotFound" . hasStatus 400 + -- | The specified subnet is out of available addresses. -- -- _InvalidSubnetException :: AsError a => Getting (First ServiceError) a ServiceError _InvalidSubnetException =-    _ServiceError . hasStatus 400 . hasCode "InvalidSubnet"+  _MatchServiceError eLBv2 "InvalidSubnet" . hasStatus 400 + -- | You've reached the limit on the number of rules per load balancer. -- -- _TooManyRulesException :: AsError a => Getting (First ServiceError) a ServiceError-_TooManyRulesException = _ServiceError . hasStatus 400 . hasCode "TooManyRules"+_TooManyRulesException = _MatchServiceError eLBv2 "TooManyRules" . hasStatus 400 + -- | You've reached the limit on the number of target groups for your AWS account. -- -- _TooManyTargetGroupsException :: AsError a => Getting (First ServiceError) a ServiceError _TooManyTargetGroupsException =-    _ServiceError . hasStatus 400 . hasCode "TooManyTargetGroups"+  _MatchServiceError eLBv2 "TooManyTargetGroups" . hasStatus 400 --- | A load balancer with the specified name already exists for this account.++-- | A load balancer with the specified name already exists. -- -- _DuplicateLoadBalancerNameException :: AsError a => Getting (First ServiceError) a ServiceError _DuplicateLoadBalancerNameException =-    _ServiceError . hasStatus 400 . hasCode "DuplicateLoadBalancerName"+  _MatchServiceError eLBv2 "DuplicateLoadBalancerName" . hasStatus 400 + -- | The specified configuration is not valid with this protocol. -- -- _IncompatibleProtocolsException :: AsError a => Getting (First ServiceError) a ServiceError _IncompatibleProtocolsException =-    _ServiceError . hasStatus 400 . hasCode "IncompatibleProtocols"+  _MatchServiceError eLBv2 "IncompatibleProtocols" . hasStatus 400 --- | You've reached the limit on the number of certificates per listener.++-- | You've reached the limit on the number of certificates per load balancer. -- -- _TooManyCertificatesException :: AsError a => Getting (First ServiceError) a ServiceError _TooManyCertificatesException =-    _ServiceError . hasStatus 400 . hasCode "TooManyCertificates"+  _MatchServiceError eLBv2 "TooManyCertificates" . hasStatus 400 + -- | A tag key was specified more than once. -- -- _DuplicateTagKeysException :: AsError a => Getting (First ServiceError) a ServiceError _DuplicateTagKeysException =-    _ServiceError . hasStatus 400 . hasCode "DuplicateTagKeys"+  _MatchServiceError eLBv2 "DuplicateTagKeys" . hasStatus 400 + -- | A listener with the specified port already exists. -- -- _DuplicateListenerException :: AsError a => Getting (First ServiceError) a ServiceError _DuplicateListenerException =-    _ServiceError . hasStatus 400 . hasCode "DuplicateListener"+  _MatchServiceError eLBv2 "DuplicateListener" . hasStatus 400 + -- | You've reached the limit on the number of tags per load balancer. -- -- _TooManyTagsException :: AsError a => Getting (First ServiceError) a ServiceError-_TooManyTagsException = _ServiceError . hasStatus 400 . hasCode "TooManyTags"+_TooManyTagsException = _MatchServiceError eLBv2 "TooManyTags" . hasStatus 400 + -- | A target group with the specified name already exists. -- -- _DuplicateTargetGroupNameException :: AsError a => Getting (First ServiceError) a ServiceError _DuplicateTargetGroupNameException =-    _ServiceError . hasStatus 400 . hasCode "DuplicateTargetGroupName"+  _MatchServiceError eLBv2 "DuplicateTargetGroupName" . hasStatus 400 + -- | The health of the specified targets could not be retrieved due to an internal error. -- -- _HealthUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError _HealthUnavailableException =-    _ServiceError . hasStatus 500 . hasCode "HealthUnavailable"+  _MatchServiceError eLBv2 "HealthUnavailable" . hasStatus 500 ++-- | The specified allocation ID does not exist.+--+--+_AllocationIdNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_AllocationIdNotFoundException =+  _MatchServiceError eLBv2 "AllocationIdNotFound" . hasStatus 400++ -- | The specified priority is in use. -- -- _PriorityInUseException :: AsError a => Getting (First ServiceError) a ServiceError _PriorityInUseException =-    _ServiceError . hasStatus 400 . hasCode "PriorityInUse"+  _MatchServiceError eLBv2 "PriorityInUse" . hasStatus 400 + -- | You've reached the limit on the number of load balancers for your AWS account. -- -- _TooManyLoadBalancersException :: AsError a => Getting (First ServiceError) a ServiceError _TooManyLoadBalancersException =-    _ServiceError . hasStatus 400 . hasCode "TooManyLoadBalancers"+  _MatchServiceError eLBv2 "TooManyLoadBalancers" . hasStatus 400 + -- | The specified protocol is not supported. -- -- _UnsupportedProtocolException :: AsError a => Getting (First ServiceError) a ServiceError _UnsupportedProtocolException =-    _ServiceError . hasStatus 400 . hasCode "UnsupportedProtocol"+  _MatchServiceError eLBv2 "UnsupportedProtocol" . hasStatus 400 --- | The specified target does not exist or is not in the same VPC as the target group.++-- | The specified target does not exist, is not in the same VPC as the target group, or has an unsupported instance type. -- -- _InvalidTargetException :: AsError a => Getting (First ServiceError) a ServiceError _InvalidTargetException =-    _ServiceError . hasStatus 400 . hasCode "InvalidTarget"+  _MatchServiceError eLBv2 "InvalidTarget" . hasStatus 400 + -- | The specified security group does not exist. -- -- _InvalidSecurityGroupException :: AsError a => Getting (First ServiceError) a ServiceError _InvalidSecurityGroupException =-    _ServiceError . hasStatus 400 . hasCode "InvalidSecurityGroup"+  _MatchServiceError eLBv2 "InvalidSecurityGroup" . hasStatus 400 + -- | The specified target group does not exist. -- -- _TargetGroupNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError _TargetGroupNotFoundException =-    _ServiceError . hasStatus 400 . hasCode "TargetGroupNotFound"+  _MatchServiceError eLBv2 "TargetGroupNotFound" . hasStatus 400 + -- | The specified listener does not exist. -- -- _ListenerNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError _ListenerNotFoundException =-    _ServiceError . hasStatus 400 . hasCode "ListenerNotFound"+  _MatchServiceError eLBv2 "ListenerNotFound" . hasStatus 400 + -- | You've reached the limit on the number of times a target can be registered with a load balancer. -- -- _TooManyRegistrationsForTargetIdException :: AsError a => Getting (First ServiceError) a ServiceError _TooManyRegistrationsForTargetIdException =-    _ServiceError . hasStatus 400 . hasCode "TooManyRegistrationsForTargetId"+  _MatchServiceError eLBv2 "TooManyRegistrationsForTargetId" . hasStatus 400 + -- | You've reached the limit on the number of listeners per load balancer. -- -- _TooManyListenersException :: AsError a => Getting (First ServiceError) a ServiceError _TooManyListenersException =-    _ServiceError . hasStatus 400 . hasCode "TooManyListeners"+  _MatchServiceError eLBv2 "TooManyListeners" . hasStatus 400 + -- | You've reached the limit on the number of load balancers per target group. -- -- _TargetGroupAssociationLimitException :: AsError a => Getting (First ServiceError) a ServiceError _TargetGroupAssociationLimitException =-    _ServiceError . hasStatus 400 . hasCode "TargetGroupAssociationLimit"+  _MatchServiceError eLBv2 "TargetGroupAssociationLimit" . hasStatus 400 + -- | This operation is not allowed. -- -- _OperationNotPermittedException :: AsError a => Getting (First ServiceError) a ServiceError _OperationNotPermittedException =-    _ServiceError . hasStatus 400 . hasCode "OperationNotPermitted"+  _MatchServiceError eLBv2 "OperationNotPermitted" . hasStatus 400 + -- | The specified SSL policy does not exist. -- -- _SSLPolicyNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError _SSLPolicyNotFoundException =-    _ServiceError . hasStatus 400 . hasCode "SSLPolicyNotFound"+  _MatchServiceError eLBv2 "SSLPolicyNotFound" . hasStatus 400 + -- | The requested scheme is not valid. -- -- _InvalidSchemeException :: AsError a => Getting (First ServiceError) a ServiceError _InvalidSchemeException =-    _ServiceError . hasStatus 400 . hasCode "InvalidScheme"+  _MatchServiceError eLBv2 "InvalidScheme" . hasStatus 400 ++-- | The specified Availability Zone is not supported.+--+--+_AvailabilityZoneNotSupportedException :: AsError a => Getting (First ServiceError) a ServiceError+_AvailabilityZoneNotSupportedException =+  _MatchServiceError eLBv2 "AvailabilityZoneNotSupported" . hasStatus 400++ -- | The specified load balancer does not exist. -- -- _LoadBalancerNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError _LoadBalancerNotFoundException =-    _ServiceError . hasStatus 400 . hasCode "LoadBalancerNotFound"+  _MatchServiceError eLBv2 "LoadBalancerNotFound" . hasStatus 400 + -- | A specified resource is in use. -- -- _ResourceInUseException :: AsError a => Getting (First ServiceError) a ServiceError _ResourceInUseException =-    _ServiceError . hasStatus 400 . hasCode "ResourceInUse"+  _MatchServiceError eLBv2 "ResourceInUse" . hasStatus 400 + -- | The specified certificate does not exist. -- -- _CertificateNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError _CertificateNotFoundException =-    _ServiceError . hasStatus 400 . hasCode "CertificateNotFound"+  _MatchServiceError eLBv2 "CertificateNotFound" . hasStatus 400+
gen/Network/AWS/ELBv2/Types/Product.hs view
@@ -9,17 +9,17 @@  -- | -- Module      : Network.AWS.ELBv2.Types.Product--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.AWS.ELBv2.Types.Product where -import           Network.AWS.ELBv2.Types.Sum-import           Network.AWS.Lens-import           Network.AWS.Prelude+import Network.AWS.ELBv2.Types.Sum+import Network.AWS.Lens+import Network.AWS.Prelude  -- | Information about an action. --@@ -27,10 +27,11 @@ -- -- /See:/ 'action' smart constructor. data Action = Action'-    { _aType           :: !ActionTypeEnum-    , _aTargetGroupARN :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _aType           :: !ActionTypeEnum+  , _aTargetGroupARN :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'Action' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -43,11 +44,9 @@     -> Text -- ^ 'aTargetGroupARN'     -> Action action pType_ pTargetGroupARN_ =-    Action'-    { _aType = pType_-    , _aTargetGroupARN = pTargetGroupARN_-    }+  Action' {_aType = pType_, _aTargetGroupARN = pTargetGroupARN_} + -- | The type of action. aType :: Lens' Action ActionTypeEnum aType = lens _aType (\ s a -> s{_aType = a});@@ -61,9 +60,9 @@           = Action' <$>               (x .@ "Type") <*> (x .@ "TargetGroupArn") -instance Hashable Action+instance Hashable Action where -instance NFData Action+instance NFData Action where  instance ToQuery Action where         toQuery Action'{..}@@ -77,10 +76,12 @@ -- -- /See:/ 'availabilityZone' smart constructor. data AvailabilityZone = AvailabilityZone'-    { _azSubnetId :: !(Maybe Text)-    , _azZoneName :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _azSubnetId              :: !(Maybe Text)+  , _azZoneName              :: !(Maybe Text)+  , _azLoadBalancerAddresses :: !(Maybe [LoadBalancerAddress])+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'AvailabilityZone' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -88,14 +89,18 @@ -- * 'azSubnetId' - The ID of the subnet. -- -- * 'azZoneName' - The name of the Availability Zone.+--+-- * 'azLoadBalancerAddresses' - [Network Load Balancers] The static IP address. availabilityZone     :: AvailabilityZone availabilityZone =-    AvailabilityZone'-    { _azSubnetId = Nothing-    , _azZoneName = Nothing-    }+  AvailabilityZone'+  { _azSubnetId = Nothing+  , _azZoneName = Nothing+  , _azLoadBalancerAddresses = Nothing+  } + -- | The ID of the subnet. azSubnetId :: Lens' AvailabilityZone (Maybe Text) azSubnetId = lens _azSubnetId (\ s a -> s{_azSubnetId = a});@@ -104,51 +109,66 @@ azZoneName :: Lens' AvailabilityZone (Maybe Text) azZoneName = lens _azZoneName (\ s a -> s{_azZoneName = a}); +-- | [Network Load Balancers] The static IP address.+azLoadBalancerAddresses :: Lens' AvailabilityZone [LoadBalancerAddress]+azLoadBalancerAddresses = lens _azLoadBalancerAddresses (\ s a -> s{_azLoadBalancerAddresses = a}) . _Default . _Coerce;+ instance FromXML AvailabilityZone where         parseXML x           = AvailabilityZone' <$>-              (x .@? "SubnetId") <*> (x .@? "ZoneName")+              (x .@? "SubnetId") <*> (x .@? "ZoneName") <*>+                (x .@? "LoadBalancerAddresses" .!@ mempty >>=+                   may (parseXMLList "member")) -instance Hashable AvailabilityZone+instance Hashable AvailabilityZone where -instance NFData AvailabilityZone+instance NFData AvailabilityZone where --- | Information about an SSL server certificate deployed on a load balancer.+-- | Information about an SSL server certificate. -- -- -- -- /See:/ 'certificate' smart constructor.-newtype Certificate = Certificate'-    { _cCertificateARN :: Maybe Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+data Certificate = Certificate'+  { _cCertificateARN :: !(Maybe Text)+  , _cIsDefault      :: !(Maybe Bool)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'Certificate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'cCertificateARN' - The Amazon Resource Name (ARN) of the certificate.+--+-- * 'cIsDefault' - Indicates whether the certificate is the default certificate. certificate     :: Certificate-certificate =-    Certificate'-    { _cCertificateARN = Nothing-    }+certificate = Certificate' {_cCertificateARN = Nothing, _cIsDefault = Nothing} + -- | The Amazon Resource Name (ARN) of the certificate. cCertificateARN :: Lens' Certificate (Maybe Text) cCertificateARN = lens _cCertificateARN (\ s a -> s{_cCertificateARN = a}); +-- | Indicates whether the certificate is the default certificate.+cIsDefault :: Lens' Certificate (Maybe Bool)+cIsDefault = lens _cIsDefault (\ s a -> s{_cIsDefault = a});+ instance FromXML Certificate where         parseXML x-          = Certificate' <$> (x .@? "CertificateArn")+          = Certificate' <$>+              (x .@? "CertificateArn") <*> (x .@? "IsDefault") -instance Hashable Certificate+instance Hashable Certificate where -instance NFData Certificate+instance NFData Certificate where  instance ToQuery Certificate where         toQuery Certificate'{..}-          = mconcat ["CertificateArn" =: _cCertificateARN]+          = mconcat+              ["CertificateArn" =: _cCertificateARN,+               "IsDefault" =: _cIsDefault]  -- | Information about a cipher used in a policy. --@@ -156,10 +176,11 @@ -- -- /See:/ 'cipher' smart constructor. data Cipher = Cipher'-    { _cPriority :: !(Maybe Int)-    , _cName     :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _cPriority :: !(Maybe Int)+  , _cName     :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'Cipher' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -169,12 +190,9 @@ -- * 'cName' - The name of the cipher. cipher     :: Cipher-cipher =-    Cipher'-    { _cPriority = Nothing-    , _cName = Nothing-    }+cipher = Cipher' {_cPriority = Nothing, _cName = Nothing} + -- | The priority of the cipher. cPriority :: Lens' Cipher (Maybe Int) cPriority = lens _cPriority (\ s a -> s{_cPriority = a});@@ -187,25 +205,65 @@         parseXML x           = Cipher' <$> (x .@? "Priority") <*> (x .@? "Name") -instance Hashable Cipher+instance Hashable Cipher where -instance NFData Cipher+instance NFData Cipher where +-- | Information about an Elastic Load Balancing resource limit for your AWS account.+--+--+--+-- /See:/ 'limit' smart constructor.+data Limit = Limit'+  { _lMax  :: !(Maybe Text)+  , _lName :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Limit' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lMax' - The maximum value of the limit.+--+-- * 'lName' - The name of the limit. The possible values are:     * application-load-balancers     * listeners-per-application-load-balancer     * listeners-per-network-load-balancer     * network-load-balancers     * rules-per-application-load-balancer     * target-groups     * targets-per-application-load-balancer     * targets-per-availability-zone-per-network-load-balancer     * targets-per-network-load-balancer+limit+    :: Limit+limit = Limit' {_lMax = Nothing, _lName = Nothing}+++-- | The maximum value of the limit.+lMax :: Lens' Limit (Maybe Text)+lMax = lens _lMax (\ s a -> s{_lMax = a});++-- | The name of the limit. The possible values are:     * application-load-balancers     * listeners-per-application-load-balancer     * listeners-per-network-load-balancer     * network-load-balancers     * rules-per-application-load-balancer     * target-groups     * targets-per-application-load-balancer     * targets-per-availability-zone-per-network-load-balancer     * targets-per-network-load-balancer+lName :: Lens' Limit (Maybe Text)+lName = lens _lName (\ s a -> s{_lName = a});++instance FromXML Limit where+        parseXML x+          = Limit' <$> (x .@? "Max") <*> (x .@? "Name")++instance Hashable Limit where++instance NFData Limit where+ -- | Information about a listener. -- -- -- -- /See:/ 'listener' smart constructor. data Listener = Listener'-    { _lSSLPolicy       :: !(Maybe Text)-    , _lListenerARN     :: !(Maybe Text)-    , _lProtocol        :: !(Maybe ProtocolEnum)-    , _lDefaultActions  :: !(Maybe [Action])-    , _lCertificates    :: !(Maybe [Certificate])-    , _lLoadBalancerARN :: !(Maybe Text)-    , _lPort            :: !(Maybe Nat)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lSSLPolicy       :: !(Maybe Text)+  , _lListenerARN     :: !(Maybe Text)+  , _lProtocol        :: !(Maybe ProtocolEnum)+  , _lDefaultActions  :: !(Maybe [Action])+  , _lCertificates    :: !(Maybe [Certificate])+  , _lLoadBalancerARN :: !(Maybe Text)+  , _lPort            :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'Listener' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -226,16 +284,17 @@ listener     :: Listener listener =-    Listener'-    { _lSSLPolicy = Nothing-    , _lListenerARN = Nothing-    , _lProtocol = Nothing-    , _lDefaultActions = Nothing-    , _lCertificates = Nothing-    , _lLoadBalancerARN = Nothing-    , _lPort = Nothing-    }+  Listener'+  { _lSSLPolicy = Nothing+  , _lListenerARN = Nothing+  , _lProtocol = Nothing+  , _lDefaultActions = Nothing+  , _lCertificates = Nothing+  , _lLoadBalancerARN = Nothing+  , _lPort = Nothing+  } + -- | The security policy that defines which ciphers and protocols are supported. The default is the current predefined security policy. lSSLPolicy :: Lens' Listener (Maybe Text) lSSLPolicy = lens _lSSLPolicy (\ s a -> s{_lSSLPolicy = a});@@ -278,9 +337,9 @@                 <*> (x .@? "LoadBalancerArn")                 <*> (x .@? "Port") -instance Hashable Listener+instance Hashable Listener where -instance NFData Listener+instance NFData Listener where  -- | Information about a load balancer. --@@ -288,19 +347,21 @@ -- -- /See:/ 'loadBalancer' smart constructor. data LoadBalancer = LoadBalancer'-    { _lbState                 :: !(Maybe LoadBalancerState)-    , _lbSecurityGroups        :: !(Maybe [Text])-    , _lbLoadBalancerName      :: !(Maybe Text)-    , _lbCreatedTime           :: !(Maybe ISO8601)-    , _lbVPCId                 :: !(Maybe Text)-    , _lbCanonicalHostedZoneId :: !(Maybe Text)-    , _lbAvailabilityZones     :: !(Maybe [AvailabilityZone])-    , _lbLoadBalancerARN       :: !(Maybe Text)-    , _lbScheme                :: !(Maybe LoadBalancerSchemeEnum)-    , _lbType                  :: !(Maybe LoadBalancerTypeEnum)-    , _lbDNSName               :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lbState                 :: !(Maybe LoadBalancerState)+  , _lbSecurityGroups        :: !(Maybe [Text])+  , _lbLoadBalancerName      :: !(Maybe Text)+  , _lbCreatedTime           :: !(Maybe ISO8601)+  , _lbVPCId                 :: !(Maybe Text)+  , _lbCanonicalHostedZoneId :: !(Maybe Text)+  , _lbAvailabilityZones     :: !(Maybe [AvailabilityZone])+  , _lbLoadBalancerARN       :: !(Maybe Text)+  , _lbIPAddressType         :: !(Maybe IPAddressType)+  , _lbScheme                :: !(Maybe LoadBalancerSchemeEnum)+  , _lbType                  :: !(Maybe LoadBalancerTypeEnum)+  , _lbDNSName               :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'LoadBalancer' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -321,6 +382,8 @@ -- -- * 'lbLoadBalancerARN' - The Amazon Resource Name (ARN) of the load balancer. --+-- * 'lbIPAddressType' - The type of IP addresses used by the subnets for your load balancer. The possible values are @ipv4@ (for IPv4 addresses) and @dualstack@ (for IPv4 and IPv6 addresses).+-- -- * 'lbScheme' - The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the Internet. The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can only route requests from clients with access to the VPC for the load balancer. -- -- * 'lbType' - The type of load balancer.@@ -329,20 +392,22 @@ loadBalancer     :: LoadBalancer loadBalancer =-    LoadBalancer'-    { _lbState = Nothing-    , _lbSecurityGroups = Nothing-    , _lbLoadBalancerName = Nothing-    , _lbCreatedTime = Nothing-    , _lbVPCId = Nothing-    , _lbCanonicalHostedZoneId = Nothing-    , _lbAvailabilityZones = Nothing-    , _lbLoadBalancerARN = Nothing-    , _lbScheme = Nothing-    , _lbType = Nothing-    , _lbDNSName = Nothing-    }+  LoadBalancer'+  { _lbState = Nothing+  , _lbSecurityGroups = Nothing+  , _lbLoadBalancerName = Nothing+  , _lbCreatedTime = Nothing+  , _lbVPCId = Nothing+  , _lbCanonicalHostedZoneId = Nothing+  , _lbAvailabilityZones = Nothing+  , _lbLoadBalancerARN = Nothing+  , _lbIPAddressType = Nothing+  , _lbScheme = Nothing+  , _lbType = Nothing+  , _lbDNSName = Nothing+  } + -- | The state of the load balancer. lbState :: Lens' LoadBalancer (Maybe LoadBalancerState) lbState = lens _lbState (\ s a -> s{_lbState = a});@@ -375,6 +440,10 @@ lbLoadBalancerARN :: Lens' LoadBalancer (Maybe Text) lbLoadBalancerARN = lens _lbLoadBalancerARN (\ s a -> s{_lbLoadBalancerARN = a}); +-- | The type of IP addresses used by the subnets for your load balancer. The possible values are @ipv4@ (for IPv4 addresses) and @dualstack@ (for IPv4 and IPv6 addresses).+lbIPAddressType :: Lens' LoadBalancer (Maybe IPAddressType)+lbIPAddressType = lens _lbIPAddressType (\ s a -> s{_lbIPAddressType = a});+ -- | The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the Internet. The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can only route requests from clients with access to the VPC for the load balancer. lbScheme :: Lens' LoadBalancer (Maybe LoadBalancerSchemeEnum) lbScheme = lens _lbScheme (\ s a -> s{_lbScheme = a});@@ -401,44 +470,85 @@                 (x .@? "AvailabilityZones" .!@ mempty >>=                    may (parseXMLList "member"))                 <*> (x .@? "LoadBalancerArn")+                <*> (x .@? "IpAddressType")                 <*> (x .@? "Scheme")                 <*> (x .@? "Type")                 <*> (x .@? "DNSName") -instance Hashable LoadBalancer+instance Hashable LoadBalancer where -instance NFData LoadBalancer+instance NFData LoadBalancer where +-- | Information about a static IP address for a load balancer.+--+--+--+-- /See:/ 'loadBalancerAddress' smart constructor.+data LoadBalancerAddress = LoadBalancerAddress'+  { _lbaIPAddress    :: !(Maybe Text)+  , _lbaAllocationId :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LoadBalancerAddress' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lbaIPAddress' - The static IP address.+--+-- * 'lbaAllocationId' - [Network Load Balancers] The allocation ID of the Elastic IP address.+loadBalancerAddress+    :: LoadBalancerAddress+loadBalancerAddress =+  LoadBalancerAddress' {_lbaIPAddress = Nothing, _lbaAllocationId = Nothing}+++-- | The static IP address.+lbaIPAddress :: Lens' LoadBalancerAddress (Maybe Text)+lbaIPAddress = lens _lbaIPAddress (\ s a -> s{_lbaIPAddress = a});++-- | [Network Load Balancers] The allocation ID of the Elastic IP address.+lbaAllocationId :: Lens' LoadBalancerAddress (Maybe Text)+lbaAllocationId = lens _lbaAllocationId (\ s a -> s{_lbaAllocationId = a});++instance FromXML LoadBalancerAddress where+        parseXML x+          = LoadBalancerAddress' <$>+              (x .@? "IpAddress") <*> (x .@? "AllocationId")++instance Hashable LoadBalancerAddress where++instance NFData LoadBalancerAddress where+ -- | Information about a load balancer attribute. -- -- -- -- /See:/ 'loadBalancerAttribute' smart constructor. data LoadBalancerAttribute = LoadBalancerAttribute'-    { _lbaValue :: !(Maybe Text)-    , _lbaKey   :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lbaValue :: !(Maybe Text)+  , _lbaKey   :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'LoadBalancerAttribute' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'lbaValue' - The value of the attribute. ----- * 'lbaKey' - The name of the attribute.     * @access_logs.s3.enabled@ - Indicates whether access logs stored in Amazon S3 are enabled. The value is @true@ or @false@ .     * @access_logs.s3.bucket@ - The name of the S3 bucket for the access logs. This attribute is required if access logs in Amazon S3 are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permission to write to the bucket.     * @access_logs.s3.prefix@ - The prefix for the location in the S3 bucket. If you don't specify a prefix, the access logs are stored in the root of the bucket.     * @deletion_protection.enabled@ - Indicates whether deletion protection is enabled. The value is @true@ or @false@ .     * @idle_timeout.timeout_seconds@ - The idle timeout value, in seconds. The valid range is 1-3600. The default is 60 seconds.+-- * 'lbaKey' - The name of the attribute.     * @access_logs.s3.enabled@ - [Application Load Balancers] Indicates whether access logs stored in Amazon S3 are enabled. The value is @true@ or @false@ .     * @access_logs.s3.bucket@ - [Application Load Balancers] The name of the S3 bucket for the access logs. This attribute is required if access logs in Amazon S3 are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permission to write to the bucket.     * @access_logs.s3.prefix@ - [Application Load Balancers] The prefix for the location in the S3 bucket. If you don't specify a prefix, the access logs are stored in the root of the bucket.     * @deletion_protection.enabled@ - Indicates whether deletion protection is enabled. The value is @true@ or @false@ .     * @idle_timeout.timeout_seconds@ - [Application Load Balancers] The idle timeout value, in seconds. The valid range is 1-4000. The default is 60 seconds. loadBalancerAttribute     :: LoadBalancerAttribute loadBalancerAttribute =-    LoadBalancerAttribute'-    { _lbaValue = Nothing-    , _lbaKey = Nothing-    }+  LoadBalancerAttribute' {_lbaValue = Nothing, _lbaKey = Nothing} + -- | The value of the attribute. lbaValue :: Lens' LoadBalancerAttribute (Maybe Text) lbaValue = lens _lbaValue (\ s a -> s{_lbaValue = a}); --- | The name of the attribute.     * @access_logs.s3.enabled@ - Indicates whether access logs stored in Amazon S3 are enabled. The value is @true@ or @false@ .     * @access_logs.s3.bucket@ - The name of the S3 bucket for the access logs. This attribute is required if access logs in Amazon S3 are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permission to write to the bucket.     * @access_logs.s3.prefix@ - The prefix for the location in the S3 bucket. If you don't specify a prefix, the access logs are stored in the root of the bucket.     * @deletion_protection.enabled@ - Indicates whether deletion protection is enabled. The value is @true@ or @false@ .     * @idle_timeout.timeout_seconds@ - The idle timeout value, in seconds. The valid range is 1-3600. The default is 60 seconds.+-- | The name of the attribute.     * @access_logs.s3.enabled@ - [Application Load Balancers] Indicates whether access logs stored in Amazon S3 are enabled. The value is @true@ or @false@ .     * @access_logs.s3.bucket@ - [Application Load Balancers] The name of the S3 bucket for the access logs. This attribute is required if access logs in Amazon S3 are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permission to write to the bucket.     * @access_logs.s3.prefix@ - [Application Load Balancers] The prefix for the location in the S3 bucket. If you don't specify a prefix, the access logs are stored in the root of the bucket.     * @deletion_protection.enabled@ - Indicates whether deletion protection is enabled. The value is @true@ or @false@ .     * @idle_timeout.timeout_seconds@ - [Application Load Balancers] The idle timeout value, in seconds. The valid range is 1-4000. The default is 60 seconds. lbaKey :: Lens' LoadBalancerAttribute (Maybe Text) lbaKey = lens _lbaKey (\ s a -> s{_lbaKey = a}); @@ -447,9 +557,9 @@           = LoadBalancerAttribute' <$>               (x .@? "Value") <*> (x .@? "Key") -instance Hashable LoadBalancerAttribute+instance Hashable LoadBalancerAttribute where -instance NFData LoadBalancerAttribute+instance NFData LoadBalancerAttribute where  instance ToQuery LoadBalancerAttribute where         toQuery LoadBalancerAttribute'{..}@@ -461,10 +571,11 @@ -- -- /See:/ 'loadBalancerState' smart constructor. data LoadBalancerState = LoadBalancerState'-    { _lbsReason :: !(Maybe Text)-    , _lbsCode   :: !(Maybe LoadBalancerStateEnum)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lbsReason :: !(Maybe Text)+  , _lbsCode   :: !(Maybe LoadBalancerStateEnum)+  } 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:@@ -475,11 +586,9 @@ loadBalancerState     :: LoadBalancerState loadBalancerState =-    LoadBalancerState'-    { _lbsReason = Nothing-    , _lbsCode = Nothing-    }+  LoadBalancerState' {_lbsReason = Nothing, _lbsCode = Nothing} + -- | A description of the state. lbsReason :: Lens' LoadBalancerState (Maybe Text) lbsReason = lens _lbsReason (\ s a -> s{_lbsReason = a});@@ -493,9 +602,9 @@           = LoadBalancerState' <$>               (x .@? "Reason") <*> (x .@? "Code") -instance Hashable LoadBalancerState+instance Hashable LoadBalancerState where -instance NFData LoadBalancerState+instance NFData LoadBalancerState where  -- | Information to use when checking for a successful response from a target. --@@ -503,32 +612,31 @@ -- -- /See:/ 'matcher' smart constructor. newtype Matcher = Matcher'-    { _mHTTPCode :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _mHTTPCode :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'Matcher' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'mHTTPCode' - The HTTP codes. The default value is 200. You can specify multiple values (for example, "200,202") or a range of values (for example, "200-299").+-- * 'mHTTPCode' - The HTTP codes. For Application Load Balancers, you can specify values between 200 and 499, and the default value is 200. You can specify multiple values (for example, "200,202") or a range of values (for example, "200-299"). For Network Load Balancers, this is 200 to 399. matcher     :: Text -- ^ 'mHTTPCode'     -> Matcher-matcher pHTTPCode_ =-    Matcher'-    { _mHTTPCode = pHTTPCode_-    }+matcher pHTTPCode_ = Matcher' {_mHTTPCode = pHTTPCode_} --- | The HTTP codes. The default value is 200. You can specify multiple values (for example, "200,202") or a range of values (for example, "200-299").++-- | The HTTP codes. For Application Load Balancers, you can specify values between 200 and 499, and the default value is 200. You can specify multiple values (for example, "200,202") or a range of values (for example, "200-299"). For Network Load Balancers, this is 200 to 399. mHTTPCode :: Lens' Matcher Text mHTTPCode = lens _mHTTPCode (\ s a -> s{_mHTTPCode = a});  instance FromXML Matcher where         parseXML x = Matcher' <$> (x .@ "HttpCode") -instance Hashable Matcher+instance Hashable Matcher where -instance NFData Matcher+instance NFData Matcher where  instance ToQuery Matcher where         toQuery Matcher'{..}@@ -540,13 +648,14 @@ -- -- /See:/ 'rule' smart constructor. data Rule = Rule'-    { _rPriority   :: !(Maybe Text)-    , _rActions    :: !(Maybe [Action])-    , _rConditions :: !(Maybe [RuleCondition])-    , _rRuleARN    :: !(Maybe Text)-    , _rIsDefault  :: !(Maybe Bool)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _rPriority   :: !(Maybe Text)+  , _rActions    :: !(Maybe [Action])+  , _rConditions :: !(Maybe [RuleCondition])+  , _rRuleARN    :: !(Maybe Text)+  , _rIsDefault  :: !(Maybe Bool)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'Rule' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -563,14 +672,15 @@ rule     :: Rule rule =-    Rule'-    { _rPriority = Nothing-    , _rActions = Nothing-    , _rConditions = Nothing-    , _rRuleARN = Nothing-    , _rIsDefault = Nothing-    }+  Rule'+  { _rPriority = Nothing+  , _rActions = Nothing+  , _rConditions = Nothing+  , _rRuleARN = Nothing+  , _rIsDefault = Nothing+  } + -- | The priority. rPriority :: Lens' Rule (Maybe Text) rPriority = lens _rPriority (\ s a -> s{_rPriority = a});@@ -603,9 +713,9 @@                 <*> (x .@? "RuleArn")                 <*> (x .@? "IsDefault") -instance Hashable Rule+instance Hashable Rule where -instance NFData Rule+instance NFData Rule where  -- | Information about a condition for a rule. --@@ -613,30 +723,28 @@ -- -- /See:/ 'ruleCondition' smart constructor. data RuleCondition = RuleCondition'-    { _rcField  :: !(Maybe Text)-    , _rcValues :: !(Maybe [Text])-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _rcField  :: !(Maybe Text)+  , _rcValues :: !(Maybe [Text])+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'RuleCondition' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'rcField' - The only possible value is @path-pattern@ .+-- * 'rcField' - The name of the field. The possible values are @host-header@ and @path-pattern@ . ----- * 'rcValues' - The path pattern. You can specify a single path pattern. A path pattern is case sensitive, can be up to 255 characters in length, and can contain any of the following characters:     * A-Z, a-z, 0-9     * _ - . $ / ~ " ' @ : +     * & (using &amp;)     * * (matches 0 or more characters)     * ? (matches exactly 1 character)+-- * 'rcValues' - The condition value. If the field name is @host-header@ , you can specify a single host name (for example, my.example.com). A host name is case insensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters.     * A-Z, a-z, 0-9     * - .     * * (matches 0 or more characters)     * ? (matches exactly 1 character) If the field name is @path-pattern@ , you can specify a single path pattern (for example, /img/*). A path pattern is case sensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters.     * A-Z, a-z, 0-9     * _ - . $ / ~ " ' @ : +     * & (using &amp;)     * * (matches 0 or more characters)     * ? (matches exactly 1 character) ruleCondition     :: RuleCondition-ruleCondition =-    RuleCondition'-    { _rcField = Nothing-    , _rcValues = Nothing-    }+ruleCondition = RuleCondition' {_rcField = Nothing, _rcValues = Nothing} --- | The only possible value is @path-pattern@ .++-- | The name of the field. The possible values are @host-header@ and @path-pattern@ . rcField :: Lens' RuleCondition (Maybe Text) rcField = lens _rcField (\ s a -> s{_rcField = a}); --- | The path pattern. You can specify a single path pattern. A path pattern is case sensitive, can be up to 255 characters in length, and can contain any of the following characters:     * A-Z, a-z, 0-9     * _ - . $ / ~ " ' @ : +     * & (using &amp;)     * * (matches 0 or more characters)     * ? (matches exactly 1 character)+-- | The condition value. If the field name is @host-header@ , you can specify a single host name (for example, my.example.com). A host name is case insensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters.     * A-Z, a-z, 0-9     * - .     * * (matches 0 or more characters)     * ? (matches exactly 1 character) If the field name is @path-pattern@ , you can specify a single path pattern (for example, /img/*). A path pattern is case sensitive, can be up to 128 characters in length, and can contain any of the following characters. Note that you can include up to three wildcard characters.     * A-Z, a-z, 0-9     * _ - . $ / ~ " ' @ : +     * & (using &amp;)     * * (matches 0 or more characters)     * ? (matches exactly 1 character) rcValues :: Lens' RuleCondition [Text] rcValues = lens _rcValues (\ s a -> s{_rcValues = a}) . _Default . _Coerce; @@ -647,9 +755,9 @@                 (x .@? "Values" .!@ mempty >>=                    may (parseXMLList "member")) -instance Hashable RuleCondition+instance Hashable RuleCondition where -instance NFData RuleCondition+instance NFData RuleCondition where  instance ToQuery RuleCondition where         toQuery RuleCondition'{..}@@ -664,10 +772,11 @@ -- -- /See:/ 'rulePriorityPair' smart constructor. data RulePriorityPair = RulePriorityPair'-    { _rppPriority :: !(Maybe Nat)-    , _rppRuleARN  :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _rppPriority :: !(Maybe Nat)+  , _rppRuleARN  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'RulePriorityPair' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -678,11 +787,9 @@ rulePriorityPair     :: RulePriorityPair rulePriorityPair =-    RulePriorityPair'-    { _rppPriority = Nothing-    , _rppRuleARN = Nothing-    }+  RulePriorityPair' {_rppPriority = Nothing, _rppRuleARN = Nothing} + -- | The rule priority. rppPriority :: Lens' RulePriorityPair (Maybe Natural) rppPriority = lens _rppPriority (\ s a -> s{_rppPriority = a}) . mapping _Nat;@@ -691,9 +798,9 @@ rppRuleARN :: Lens' RulePriorityPair (Maybe Text) rppRuleARN = lens _rppRuleARN (\ s a -> s{_rppRuleARN = a}); -instance Hashable RulePriorityPair+instance Hashable RulePriorityPair where -instance NFData RulePriorityPair+instance NFData RulePriorityPair where  instance ToQuery RulePriorityPair where         toQuery RulePriorityPair'{..}@@ -707,11 +814,12 @@ -- -- /See:/ 'sslPolicy' smart constructor. data SSLPolicy = SSLPolicy'-    { _spCiphers      :: !(Maybe [Cipher])-    , _spName         :: !(Maybe Text)-    , _spSSLProtocols :: !(Maybe [Text])-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _spCiphers      :: !(Maybe [Cipher])+  , _spName         :: !(Maybe Text)+  , _spSSLProtocols :: !(Maybe [Text])+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'SSLPolicy' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -724,12 +832,10 @@ sslPolicy     :: SSLPolicy sslPolicy =-    SSLPolicy'-    { _spCiphers = Nothing-    , _spName = Nothing-    , _spSSLProtocols = Nothing-    }+  SSLPolicy'+  {_spCiphers = Nothing, _spName = Nothing, _spSSLProtocols = Nothing} + -- | The ciphers. spCiphers :: Lens' SSLPolicy [Cipher] spCiphers = lens _spCiphers (\ s a -> s{_spCiphers = a}) . _Default . _Coerce;@@ -752,20 +858,63 @@                 (x .@? "SslProtocols" .!@ mempty >>=                    may (parseXMLList "member")) -instance Hashable SSLPolicy+instance Hashable SSLPolicy where -instance NFData SSLPolicy+instance NFData SSLPolicy where +-- | Information about a subnet mapping.+--+--+--+-- /See:/ 'subnetMapping' smart constructor.+data SubnetMapping = SubnetMapping'+  { _smAllocationId :: !(Maybe Text)+  , _smSubnetId     :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SubnetMapping' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'smAllocationId' - [Network Load Balancers] The allocation ID of the Elastic IP address.+--+-- * 'smSubnetId' - The ID of the subnet.+subnetMapping+    :: SubnetMapping+subnetMapping =+  SubnetMapping' {_smAllocationId = Nothing, _smSubnetId = Nothing}+++-- | [Network Load Balancers] The allocation ID of the Elastic IP address.+smAllocationId :: Lens' SubnetMapping (Maybe Text)+smAllocationId = lens _smAllocationId (\ s a -> s{_smAllocationId = a});++-- | The ID of the subnet.+smSubnetId :: Lens' SubnetMapping (Maybe Text)+smSubnetId = lens _smSubnetId (\ s a -> s{_smSubnetId = a});++instance Hashable SubnetMapping where++instance NFData SubnetMapping where++instance ToQuery SubnetMapping where+        toQuery SubnetMapping'{..}+          = mconcat+              ["AllocationId" =: _smAllocationId,+               "SubnetId" =: _smSubnetId]+ -- | Information about a tag. -- -- -- -- /See:/ 'tag' smart constructor. data Tag = Tag'-    { _tagValue :: !(Maybe Text)-    , _tagKey   :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _tagValue :: !(Maybe Text)+  , _tagKey   :: !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:@@ -776,12 +925,9 @@ tag     :: Text -- ^ 'tagKey'     -> Tag-tag pKey_ =-    Tag'-    { _tagValue = Nothing-    , _tagKey = pKey_-    }+tag pKey_ = Tag' {_tagValue = Nothing, _tagKey = pKey_} + -- | The value of the tag. tagValue :: Lens' Tag (Maybe Text) tagValue = lens _tagValue (\ s a -> s{_tagValue = a});@@ -794,9 +940,9 @@         parseXML x           = Tag' <$> (x .@? "Value") <*> (x .@ "Key") -instance Hashable Tag+instance Hashable Tag where -instance NFData Tag+instance NFData Tag where  instance ToQuery Tag where         toQuery Tag'{..}@@ -808,10 +954,11 @@ -- -- /See:/ 'tagDescription' smart constructor. data TagDescription = TagDescription'-    { _tdResourceARN :: !(Maybe Text)-    , _tdTags        :: !(Maybe (List1 Tag))-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _tdResourceARN :: !(Maybe Text)+  , _tdTags        :: !(Maybe (List1 Tag))+  } 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:@@ -821,12 +968,9 @@ -- * 'tdTags' - Information about the tags. tagDescription     :: TagDescription-tagDescription =-    TagDescription'-    { _tdResourceARN = Nothing-    , _tdTags = Nothing-    }+tagDescription = TagDescription' {_tdResourceARN = Nothing, _tdTags = Nothing} + -- | The Amazon Resource Name (ARN) of the resource. tdResourceARN :: Lens' TagDescription (Maybe Text) tdResourceARN = lens _tdResourceARN (\ s a -> s{_tdResourceARN = a});@@ -842,9 +986,9 @@                 (x .@? "Tags" .!@ mempty >>=                    may (parseXMLList1 "member")) -instance Hashable TagDescription+instance Hashable TagDescription where -instance NFData TagDescription+instance NFData TagDescription where  -- | Information about a target. --@@ -852,46 +996,56 @@ -- -- /See:/ 'targetDescription' smart constructor. data TargetDescription = TargetDescription'-    { _tdPort :: !(Maybe Nat)-    , _tdId   :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _tdAvailabilityZone :: !(Maybe Text)+  , _tdPort             :: !(Maybe Nat)+  , _tdId               :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'TargetDescription' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'tdAvailabilityZone' - An Availability Zone or @all@ . This determines whether the target receives traffic from the load balancer nodes in the specified Availability Zone or from all enabled Availability Zones for the load balancer. This parameter is not supported if the target type of the target group is @instance@ . If the IP address is in a subnet of the VPC for the target group, the Availability Zone is automatically detected and this parameter is optional. If the IP address is outside the VPC, this parameter is required. With an Application Load Balancer, if the IP address is outside the VPC for the target group, the only supported value is @all@ .+-- -- * 'tdPort' - The port on which the target is listening. ----- * 'tdId' - The ID of the target.+-- * 'tdId' - The ID of the target. If the target type of the target group is @instance@ , specify an instance ID. If the target type is @ip@ , specify an IP address. targetDescription     :: Text -- ^ 'tdId'     -> TargetDescription targetDescription pId_ =-    TargetDescription'-    { _tdPort = Nothing-    , _tdId = pId_-    }+  TargetDescription'+  {_tdAvailabilityZone = Nothing, _tdPort = Nothing, _tdId = pId_} ++-- | An Availability Zone or @all@ . This determines whether the target receives traffic from the load balancer nodes in the specified Availability Zone or from all enabled Availability Zones for the load balancer. This parameter is not supported if the target type of the target group is @instance@ . If the IP address is in a subnet of the VPC for the target group, the Availability Zone is automatically detected and this parameter is optional. If the IP address is outside the VPC, this parameter is required. With an Application Load Balancer, if the IP address is outside the VPC for the target group, the only supported value is @all@ .+tdAvailabilityZone :: Lens' TargetDescription (Maybe Text)+tdAvailabilityZone = lens _tdAvailabilityZone (\ s a -> s{_tdAvailabilityZone = a});+ -- | The port on which the target is listening. tdPort :: Lens' TargetDescription (Maybe Natural) tdPort = lens _tdPort (\ s a -> s{_tdPort = a}) . mapping _Nat; --- | The ID of the target.+-- | The ID of the target. If the target type of the target group is @instance@ , specify an instance ID. If the target type is @ip@ , specify an IP address. tdId :: Lens' TargetDescription Text tdId = lens _tdId (\ s a -> s{_tdId = a});  instance FromXML TargetDescription where         parseXML x           = TargetDescription' <$>-              (x .@? "Port") <*> (x .@ "Id")+              (x .@? "AvailabilityZone") <*> (x .@? "Port") <*>+                (x .@ "Id") -instance Hashable TargetDescription+instance Hashable TargetDescription where -instance NFData TargetDescription+instance NFData TargetDescription where  instance ToQuery TargetDescription where         toQuery TargetDescription'{..}-          = mconcat ["Port" =: _tdPort, "Id" =: _tdId]+          = mconcat+              ["AvailabilityZone" =: _tdAvailabilityZone,+               "Port" =: _tdPort, "Id" =: _tdId]  -- | Information about a target group. --@@ -899,22 +1053,24 @@ -- -- /See:/ 'targetGroup' smart constructor. data TargetGroup = TargetGroup'-    { _tgMatcher                    :: !(Maybe Matcher)-    , _tgHealthCheckPath            :: !(Maybe Text)-    , _tgUnhealthyThresholdCount    :: !(Maybe Nat)-    , _tgVPCId                      :: !(Maybe Text)-    , _tgTargetGroupARN             :: !(Maybe Text)-    , _tgProtocol                   :: !(Maybe ProtocolEnum)-    , _tgHealthCheckIntervalSeconds :: !(Maybe Nat)-    , _tgHealthyThresholdCount      :: !(Maybe Nat)-    , _tgHealthCheckProtocol        :: !(Maybe ProtocolEnum)-    , _tgLoadBalancerARNs           :: !(Maybe [Text])-    , _tgHealthCheckTimeoutSeconds  :: !(Maybe Nat)-    , _tgHealthCheckPort            :: !(Maybe Text)-    , _tgTargetGroupName            :: !(Maybe Text)-    , _tgPort                       :: !(Maybe Nat)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _tgMatcher                    :: !(Maybe Matcher)+  , _tgHealthCheckPath            :: !(Maybe Text)+  , _tgUnhealthyThresholdCount    :: !(Maybe Nat)+  , _tgVPCId                      :: !(Maybe Text)+  , _tgTargetGroupARN             :: !(Maybe Text)+  , _tgProtocol                   :: !(Maybe ProtocolEnum)+  , _tgHealthCheckIntervalSeconds :: !(Maybe Nat)+  , _tgTargetType                 :: !(Maybe TargetTypeEnum)+  , _tgHealthyThresholdCount      :: !(Maybe Nat)+  , _tgHealthCheckProtocol        :: !(Maybe ProtocolEnum)+  , _tgLoadBalancerARNs           :: !(Maybe [Text])+  , _tgHealthCheckTimeoutSeconds  :: !(Maybe Nat)+  , _tgHealthCheckPort            :: !(Maybe Text)+  , _tgTargetGroupName            :: !(Maybe Text)+  , _tgPort                       :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'TargetGroup' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -933,6 +1089,8 @@ -- -- * 'tgHealthCheckIntervalSeconds' - The approximate amount of time, in seconds, between health checks of an individual target. --+-- * 'tgTargetType' - The type of target that you must specify when registering targets with this target group. The possible values are @instance@ (targets are specified by instance ID) or @ip@ (targets are specified by IP address).+-- -- * 'tgHealthyThresholdCount' - The number of consecutive health checks successes required before considering an unhealthy target healthy. -- -- * 'tgHealthCheckProtocol' - The protocol to use to connect with the target.@@ -949,23 +1107,25 @@ targetGroup     :: TargetGroup targetGroup =-    TargetGroup'-    { _tgMatcher = Nothing-    , _tgHealthCheckPath = Nothing-    , _tgUnhealthyThresholdCount = Nothing-    , _tgVPCId = Nothing-    , _tgTargetGroupARN = Nothing-    , _tgProtocol = Nothing-    , _tgHealthCheckIntervalSeconds = Nothing-    , _tgHealthyThresholdCount = Nothing-    , _tgHealthCheckProtocol = Nothing-    , _tgLoadBalancerARNs = Nothing-    , _tgHealthCheckTimeoutSeconds = Nothing-    , _tgHealthCheckPort = Nothing-    , _tgTargetGroupName = Nothing-    , _tgPort = Nothing-    }+  TargetGroup'+  { _tgMatcher = Nothing+  , _tgHealthCheckPath = Nothing+  , _tgUnhealthyThresholdCount = Nothing+  , _tgVPCId = Nothing+  , _tgTargetGroupARN = Nothing+  , _tgProtocol = Nothing+  , _tgHealthCheckIntervalSeconds = Nothing+  , _tgTargetType = Nothing+  , _tgHealthyThresholdCount = Nothing+  , _tgHealthCheckProtocol = Nothing+  , _tgLoadBalancerARNs = Nothing+  , _tgHealthCheckTimeoutSeconds = Nothing+  , _tgHealthCheckPort = Nothing+  , _tgTargetGroupName = Nothing+  , _tgPort = Nothing+  } + -- | The HTTP codes to use when checking for a successful response from a target. tgMatcher :: Lens' TargetGroup (Maybe Matcher) tgMatcher = lens _tgMatcher (\ s a -> s{_tgMatcher = a});@@ -994,6 +1154,10 @@ tgHealthCheckIntervalSeconds :: Lens' TargetGroup (Maybe Natural) tgHealthCheckIntervalSeconds = lens _tgHealthCheckIntervalSeconds (\ s a -> s{_tgHealthCheckIntervalSeconds = a}) . mapping _Nat; +-- | The type of target that you must specify when registering targets with this target group. The possible values are @instance@ (targets are specified by instance ID) or @ip@ (targets are specified by IP address).+tgTargetType :: Lens' TargetGroup (Maybe TargetTypeEnum)+tgTargetType = lens _tgTargetType (\ s a -> s{_tgTargetType = a});+ -- | The number of consecutive health checks successes required before considering an unhealthy target healthy. tgHealthyThresholdCount :: Lens' TargetGroup (Maybe Natural) tgHealthyThresholdCount = lens _tgHealthyThresholdCount (\ s a -> s{_tgHealthyThresholdCount = a}) . mapping _Nat;@@ -1031,6 +1195,7 @@                 <*> (x .@? "TargetGroupArn")                 <*> (x .@? "Protocol")                 <*> (x .@? "HealthCheckIntervalSeconds")+                <*> (x .@? "TargetType")                 <*> (x .@? "HealthyThresholdCount")                 <*> (x .@? "HealthCheckProtocol")                 <*>@@ -1041,9 +1206,9 @@                 <*> (x .@? "TargetGroupName")                 <*> (x .@? "Port") -instance Hashable TargetGroup+instance Hashable TargetGroup where -instance NFData TargetGroup+instance NFData TargetGroup where  -- | Information about a target group attribute. --@@ -1051,30 +1216,29 @@ -- -- /See:/ 'targetGroupAttribute' smart constructor. data TargetGroupAttribute = TargetGroupAttribute'-    { _tgaValue :: !(Maybe Text)-    , _tgaKey   :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _tgaValue :: !(Maybe Text)+  , _tgaKey   :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'TargetGroupAttribute' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'tgaValue' - The value of the attribute. ----- * 'tgaKey' - The name of the attribute.     * @deregistration_delay.timeout_seconds@ - The amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from @draining@ to @unused@ . The range is 0-3600 seconds. The default value is 300 seconds.     * @stickiness.enabled@ - Indicates whether sticky sessions are enabled. The value is @true@ or @false@ .     * @stickiness.type@ - The type of sticky sessions. The possible value is @lb_cookie@ .     * @stickiness.lb_cookie.duration_seconds@ - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).+-- * 'tgaKey' - The name of the attribute.     * @deregistration_delay.timeout_seconds@ - The amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from @draining@ to @unused@ . The range is 0-3600 seconds. The default value is 300 seconds.     * @stickiness.enabled@ - [Application Load Balancers] Indicates whether sticky sessions are enabled. The value is @true@ or @false@ .     * @stickiness.type@ - [Application Load Balancers] The type of sticky sessions. The possible value is @lb_cookie@ .     * @stickiness.lb_cookie.duration_seconds@ - [Application Load Balancers] The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). targetGroupAttribute     :: TargetGroupAttribute targetGroupAttribute =-    TargetGroupAttribute'-    { _tgaValue = Nothing-    , _tgaKey = Nothing-    }+  TargetGroupAttribute' {_tgaValue = Nothing, _tgaKey = Nothing} + -- | The value of the attribute. tgaValue :: Lens' TargetGroupAttribute (Maybe Text) tgaValue = lens _tgaValue (\ s a -> s{_tgaValue = a}); --- | The name of the attribute.     * @deregistration_delay.timeout_seconds@ - The amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from @draining@ to @unused@ . The range is 0-3600 seconds. The default value is 300 seconds.     * @stickiness.enabled@ - Indicates whether sticky sessions are enabled. The value is @true@ or @false@ .     * @stickiness.type@ - The type of sticky sessions. The possible value is @lb_cookie@ .     * @stickiness.lb_cookie.duration_seconds@ - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).+-- | The name of the attribute.     * @deregistration_delay.timeout_seconds@ - The amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from @draining@ to @unused@ . The range is 0-3600 seconds. The default value is 300 seconds.     * @stickiness.enabled@ - [Application Load Balancers] Indicates whether sticky sessions are enabled. The value is @true@ or @false@ .     * @stickiness.type@ - [Application Load Balancers] The type of sticky sessions. The possible value is @lb_cookie@ .     * @stickiness.lb_cookie.duration_seconds@ - [Application Load Balancers] The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). tgaKey :: Lens' TargetGroupAttribute (Maybe Text) tgaKey = lens _tgaKey (\ s a -> s{_tgaKey = a}); @@ -1083,9 +1247,9 @@           = TargetGroupAttribute' <$>               (x .@? "Value") <*> (x .@? "Key") -instance Hashable TargetGroupAttribute+instance Hashable TargetGroupAttribute where -instance NFData TargetGroupAttribute+instance NFData TargetGroupAttribute where  instance ToQuery TargetGroupAttribute where         toQuery TargetGroupAttribute'{..}@@ -1097,34 +1261,33 @@ -- -- /See:/ 'targetHealth' smart constructor. data TargetHealth = TargetHealth'-    { _thState       :: !(Maybe TargetHealthStateEnum)-    , _thReason      :: !(Maybe TargetHealthReasonEnum)-    , _thDescription :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _thState       :: !(Maybe TargetHealthStateEnum)+  , _thReason      :: !(Maybe TargetHealthReasonEnum)+  , _thDescription :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'TargetHealth' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'thState' - The state of the target. ----- * 'thReason' - The reason code. If the target state is @healthy@ , a reason code is not provided. If the target state is @initial@ , the reason code can be one of the following values:     * @Elb.RegistrationInProgress@ - The target is in the process of being registered with the load balancer.     * @Elb.InitialHealthChecking@ - The load balancer is still sending the target the minimum number of health checks required to determine its health status. If the target state is @unhealthy@ , the reason code can be one of the following values:     * @Target.ResponseCodeMismatch@ - The health checks did not return an expected HTTP code.     * @Target.Timeout@ - The health check requests timed out.     * @Target.FailedHealthChecks@ - The health checks failed because the connection to the target timed out, the target response was malformed, or the target failed the health check for an unknown reason.     * @Elb.InternalError@ - The health checks failed due to an internal error. If the target state is @unused@ , the reason code can be one of the following values:     * @Target.NotRegistered@ - The target is not registered with the target group.     * @Target.NotInUse@ - The target group is not used by any load balancer or the target is in an Availability Zone that is not enabled for its load balancer.     * @Target.InvalidState@ - The target is in the stopped or terminated state. If the target state is @draining@ , the reason code can be the following value:     * @Target.DeregistrationInProgress@ - The target is in the process of being deregistered and the deregistration delay period has not expired.+-- * 'thReason' - The reason code. If the target state is @healthy@ , a reason code is not provided. If the target state is @initial@ , the reason code can be one of the following values:     * @Elb.RegistrationInProgress@ - The target is in the process of being registered with the load balancer.     * @Elb.InitialHealthChecking@ - The load balancer is still sending the target the minimum number of health checks required to determine its health status. If the target state is @unhealthy@ , the reason code can be one of the following values:     * @Target.ResponseCodeMismatch@ - The health checks did not return an expected HTTP code.     * @Target.Timeout@ - The health check requests timed out.     * @Target.FailedHealthChecks@ - The health checks failed because the connection to the target timed out, the target response was malformed, or the target failed the health check for an unknown reason.     * @Elb.InternalError@ - The health checks failed due to an internal error. If the target state is @unused@ , the reason code can be one of the following values:     * @Target.NotRegistered@ - The target is not registered with the target group.     * @Target.NotInUse@ - The target group is not used by any load balancer or the target is in an Availability Zone that is not enabled for its load balancer.     * @Target.IpUnusable@ - The target IP address is reserved for use by a load balancer.     * @Target.InvalidState@ - The target is in the stopped or terminated state. If the target state is @draining@ , the reason code can be the following value:     * @Target.DeregistrationInProgress@ - The target is in the process of being deregistered and the deregistration delay period has not expired. -- -- * 'thDescription' - A description of the target health that provides additional details. If the state is @healthy@ , a description is not provided. targetHealth     :: TargetHealth targetHealth =-    TargetHealth'-    { _thState = Nothing-    , _thReason = Nothing-    , _thDescription = Nothing-    }+  TargetHealth'+  {_thState = Nothing, _thReason = Nothing, _thDescription = Nothing} + -- | The state of the target. thState :: Lens' TargetHealth (Maybe TargetHealthStateEnum) thState = lens _thState (\ s a -> s{_thState = a}); --- | The reason code. If the target state is @healthy@ , a reason code is not provided. If the target state is @initial@ , the reason code can be one of the following values:     * @Elb.RegistrationInProgress@ - The target is in the process of being registered with the load balancer.     * @Elb.InitialHealthChecking@ - The load balancer is still sending the target the minimum number of health checks required to determine its health status. If the target state is @unhealthy@ , the reason code can be one of the following values:     * @Target.ResponseCodeMismatch@ - The health checks did not return an expected HTTP code.     * @Target.Timeout@ - The health check requests timed out.     * @Target.FailedHealthChecks@ - The health checks failed because the connection to the target timed out, the target response was malformed, or the target failed the health check for an unknown reason.     * @Elb.InternalError@ - The health checks failed due to an internal error. If the target state is @unused@ , the reason code can be one of the following values:     * @Target.NotRegistered@ - The target is not registered with the target group.     * @Target.NotInUse@ - The target group is not used by any load balancer or the target is in an Availability Zone that is not enabled for its load balancer.     * @Target.InvalidState@ - The target is in the stopped or terminated state. If the target state is @draining@ , the reason code can be the following value:     * @Target.DeregistrationInProgress@ - The target is in the process of being deregistered and the deregistration delay period has not expired.+-- | The reason code. If the target state is @healthy@ , a reason code is not provided. If the target state is @initial@ , the reason code can be one of the following values:     * @Elb.RegistrationInProgress@ - The target is in the process of being registered with the load balancer.     * @Elb.InitialHealthChecking@ - The load balancer is still sending the target the minimum number of health checks required to determine its health status. If the target state is @unhealthy@ , the reason code can be one of the following values:     * @Target.ResponseCodeMismatch@ - The health checks did not return an expected HTTP code.     * @Target.Timeout@ - The health check requests timed out.     * @Target.FailedHealthChecks@ - The health checks failed because the connection to the target timed out, the target response was malformed, or the target failed the health check for an unknown reason.     * @Elb.InternalError@ - The health checks failed due to an internal error. If the target state is @unused@ , the reason code can be one of the following values:     * @Target.NotRegistered@ - The target is not registered with the target group.     * @Target.NotInUse@ - The target group is not used by any load balancer or the target is in an Availability Zone that is not enabled for its load balancer.     * @Target.IpUnusable@ - The target IP address is reserved for use by a load balancer.     * @Target.InvalidState@ - The target is in the stopped or terminated state. If the target state is @draining@ , the reason code can be the following value:     * @Target.DeregistrationInProgress@ - The target is in the process of being deregistered and the deregistration delay period has not expired. thReason :: Lens' TargetHealth (Maybe TargetHealthReasonEnum) thReason = lens _thReason (\ s a -> s{_thReason = a}); @@ -1138,9 +1301,9 @@               (x .@? "State") <*> (x .@? "Reason") <*>                 (x .@? "Description") -instance Hashable TargetHealth+instance Hashable TargetHealth where -instance NFData TargetHealth+instance NFData TargetHealth where  -- | Information about the health of a target. --@@ -1148,11 +1311,12 @@ -- -- /See:/ 'targetHealthDescription' smart constructor. data TargetHealthDescription = TargetHealthDescription'-    { _thdTargetHealth    :: !(Maybe TargetHealth)-    , _thdHealthCheckPort :: !(Maybe Text)-    , _thdTarget          :: !(Maybe TargetDescription)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _thdTargetHealth    :: !(Maybe TargetHealth)+  , _thdHealthCheckPort :: !(Maybe Text)+  , _thdTarget          :: !(Maybe TargetDescription)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'TargetHealthDescription' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -1165,12 +1329,13 @@ targetHealthDescription     :: TargetHealthDescription targetHealthDescription =-    TargetHealthDescription'-    { _thdTargetHealth = Nothing-    , _thdHealthCheckPort = Nothing-    , _thdTarget = Nothing-    }+  TargetHealthDescription'+  { _thdTargetHealth = Nothing+  , _thdHealthCheckPort = Nothing+  , _thdTarget = Nothing+  } + -- | The health information for the target. thdTargetHealth :: Lens' TargetHealthDescription (Maybe TargetHealth) thdTargetHealth = lens _thdTargetHealth (\ s a -> s{_thdTargetHealth = a});@@ -1189,6 +1354,6 @@               (x .@? "TargetHealth") <*> (x .@? "HealthCheckPort")                 <*> (x .@? "Target") -instance Hashable TargetHealthDescription+instance Hashable TargetHealthDescription where -instance NFData TargetHealthDescription+instance NFData TargetHealthDescription where
gen/Network/AWS/ELBv2/Types/Sum.hs view
@@ -9,20 +9,21 @@  -- | -- Module      : Network.AWS.ELBv2.Types.Sum--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.AWS.ELBv2.Types.Sum where -import           Network.AWS.Prelude+import Network.AWS.Prelude  data ActionTypeEnum =-    Forward-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  Forward+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText ActionTypeEnum where     parser = takeLowerText >>= \case         "forward" -> pure Forward@@ -42,11 +43,39 @@ instance FromXML ActionTypeEnum where     parseXML = parseXMLText "ActionTypeEnum" +data IPAddressType+  = Dualstack+  | IPV4+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText IPAddressType where+    parser = takeLowerText >>= \case+        "dualstack" -> pure Dualstack+        "ipv4" -> pure IPV4+        e -> fromTextError $ "Failure parsing IPAddressType from value: '" <> e+           <> "'. Accepted values: dualstack, ipv4"++instance ToText IPAddressType where+    toText = \case+        Dualstack -> "dualstack"+        IPV4 -> "ipv4"++instance Hashable     IPAddressType+instance NFData       IPAddressType+instance ToByteString IPAddressType+instance ToQuery      IPAddressType+instance ToHeader     IPAddressType++instance FromXML IPAddressType where+    parseXML = parseXMLText "IPAddressType"+ data LoadBalancerSchemeEnum-    = Internal-    | InternetFacing-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Internal+  | InternetFacing+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText LoadBalancerSchemeEnum where     parser = takeLowerText >>= \case         "internal" -> pure Internal@@ -69,22 +98,26 @@     parseXML = parseXMLText "LoadBalancerSchemeEnum"  data LoadBalancerStateEnum-    = Active-    | Failed-    | Provisioning-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Active+  | ActiveImpaired+  | Failed+  | Provisioning+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText LoadBalancerStateEnum where     parser = takeLowerText >>= \case         "active" -> pure Active+        "active_impaired" -> pure ActiveImpaired         "failed" -> pure Failed         "provisioning" -> pure Provisioning         e -> fromTextError $ "Failure parsing LoadBalancerStateEnum from value: '" <> e-           <> "'. Accepted values: active, failed, provisioning"+           <> "'. Accepted values: active, active_impaired, failed, provisioning"  instance ToText LoadBalancerStateEnum where     toText = \case         Active -> "active"+        ActiveImpaired -> "active_impaired"         Failed -> "failed"         Provisioning -> "provisioning" @@ -97,19 +130,23 @@ instance FromXML LoadBalancerStateEnum where     parseXML = parseXMLText "LoadBalancerStateEnum" -data LoadBalancerTypeEnum =-    Application-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+data LoadBalancerTypeEnum+  = Application+  | Network+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText LoadBalancerTypeEnum where     parser = takeLowerText >>= \case         "application" -> pure Application+        "network" -> pure Network         e -> fromTextError $ "Failure parsing LoadBalancerTypeEnum from value: '" <> e-           <> "'. Accepted values: application"+           <> "'. Accepted values: application, network"  instance ToText LoadBalancerTypeEnum where     toText = \case         Application -> "application"+        Network -> "network"  instance Hashable     LoadBalancerTypeEnum instance NFData       LoadBalancerTypeEnum@@ -121,21 +158,25 @@     parseXML = parseXMLText "LoadBalancerTypeEnum"  data ProtocolEnum-    = HTTP-    | HTTPS-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = HTTP+  | HTTPS+  | TCP+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText ProtocolEnum where     parser = takeLowerText >>= \case         "http" -> pure HTTP         "https" -> pure HTTPS+        "tcp" -> pure TCP         e -> fromTextError $ "Failure parsing ProtocolEnum from value: '" <> e-           <> "'. Accepted values: http, https"+           <> "'. Accepted values: http, https, tcp"  instance ToText ProtocolEnum where     toText = \case         HTTP -> "HTTP"         HTTPS -> "HTTPS"+        TCP -> "TCP"  instance Hashable     ProtocolEnum instance NFData       ProtocolEnum@@ -147,18 +188,20 @@     parseXML = parseXMLText "ProtocolEnum"  data TargetHealthReasonEnum-    = Elb_InitialHealthChecking-    | Elb_InternalError-    | Elb_RegistrationInProgress-    | Target_DeregistrationInProgress-    | Target_FailedHealthChecks-    | Target_InvalidState-    | Target_NotInUse-    | Target_NotRegistered-    | Target_ResponseCodeMismatch-    | Target_Timeout-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Elb_InitialHealthChecking+  | Elb_InternalError+  | Elb_RegistrationInProgress+  | Target_DeregistrationInProgress+  | Target_FailedHealthChecks+  | Target_IPUnusable+  | Target_InvalidState+  | Target_NotInUse+  | Target_NotRegistered+  | Target_ResponseCodeMismatch+  | Target_Timeout+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText TargetHealthReasonEnum where     parser = takeLowerText >>= \case         "elb.initialhealthchecking" -> pure Elb_InitialHealthChecking@@ -166,13 +209,14 @@         "elb.registrationinprogress" -> pure Elb_RegistrationInProgress         "target.deregistrationinprogress" -> pure Target_DeregistrationInProgress         "target.failedhealthchecks" -> pure Target_FailedHealthChecks+        "target.ipunusable" -> pure Target_IPUnusable         "target.invalidstate" -> pure Target_InvalidState         "target.notinuse" -> pure Target_NotInUse         "target.notregistered" -> pure Target_NotRegistered         "target.responsecodemismatch" -> pure Target_ResponseCodeMismatch         "target.timeout" -> pure Target_Timeout         e -> fromTextError $ "Failure parsing TargetHealthReasonEnum from value: '" <> e-           <> "'. Accepted values: elb.initialhealthchecking, elb.internalerror, elb.registrationinprogress, target.deregistrationinprogress, target.failedhealthchecks, target.invalidstate, target.notinuse, target.notregistered, target.responsecodemismatch, target.timeout"+           <> "'. Accepted values: elb.initialhealthchecking, elb.internalerror, elb.registrationinprogress, target.deregistrationinprogress, target.failedhealthchecks, target.ipunusable, target.invalidstate, target.notinuse, target.notregistered, target.responsecodemismatch, target.timeout"  instance ToText TargetHealthReasonEnum where     toText = \case@@ -181,6 +225,7 @@         Elb_RegistrationInProgress -> "Elb.RegistrationInProgress"         Target_DeregistrationInProgress -> "Target.DeregistrationInProgress"         Target_FailedHealthChecks -> "Target.FailedHealthChecks"+        Target_IPUnusable -> "Target.IpUnusable"         Target_InvalidState -> "Target.InvalidState"         Target_NotInUse -> "Target.NotInUse"         Target_NotRegistered -> "Target.NotRegistered"@@ -197,28 +242,32 @@     parseXML = parseXMLText "TargetHealthReasonEnum"  data TargetHealthStateEnum-    = Draining-    | Healthy-    | Initial-    | Unhealthy-    | Unused-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Draining+  | Healthy+  | Initial+  | Unavailable+  | Unhealthy+  | Unused+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText TargetHealthStateEnum where     parser = takeLowerText >>= \case         "draining" -> pure Draining         "healthy" -> pure Healthy         "initial" -> pure Initial+        "unavailable" -> pure Unavailable         "unhealthy" -> pure Unhealthy         "unused" -> pure Unused         e -> fromTextError $ "Failure parsing TargetHealthStateEnum from value: '" <> e-           <> "'. Accepted values: draining, healthy, initial, unhealthy, unused"+           <> "'. Accepted values: draining, healthy, initial, unavailable, unhealthy, unused"  instance ToText TargetHealthStateEnum where     toText = \case         Draining -> "draining"         Healthy -> "healthy"         Initial -> "initial"+        Unavailable -> "unavailable"         Unhealthy -> "unhealthy"         Unused -> "unused" @@ -230,3 +279,30 @@  instance FromXML TargetHealthStateEnum where     parseXML = parseXMLText "TargetHealthStateEnum"++data TargetTypeEnum+  = IP+  | Instance+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText TargetTypeEnum where+    parser = takeLowerText >>= \case+        "ip" -> pure IP+        "instance" -> pure Instance+        e -> fromTextError $ "Failure parsing TargetTypeEnum from value: '" <> e+           <> "'. Accepted values: ip, instance"++instance ToText TargetTypeEnum where+    toText = \case+        IP -> "ip"+        Instance -> "instance"++instance Hashable     TargetTypeEnum+instance NFData       TargetTypeEnum+instance ToByteString TargetTypeEnum+instance ToQuery      TargetTypeEnum+instance ToHeader     TargetTypeEnum++instance FromXML TargetTypeEnum where+    parseXML = parseXMLText "TargetTypeEnum"
gen/Network/AWS/ELBv2/Waiters.hs view
@@ -7,15 +7,15 @@  -- | -- Module      : Network.AWS.ELBv2.Waiters--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.AWS.ELBv2.Waiters where -import           Network.AWS.ELBv2.Types-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Waiter+import Network.AWS.ELBv2.Types+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Waiter
test/Main.hs view
@@ -2,9 +2,9 @@  -- | -- Module      : Main--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --
test/Test/AWS/Gen/ELBv2.hs view
@@ -5,20 +5,20 @@  -- | -- Module      : Test.AWS.Gen.ELBv2--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- module Test.AWS.Gen.ELBv2 where  import Data.Proxy+import Network.AWS.ELBv2+import Test.AWS.ELBv2.Internal import Test.AWS.Fixture import Test.AWS.Prelude import Test.Tasty-import Network.AWS.ELBv2-import Test.AWS.ELBv2.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.@@ -49,6 +49,9 @@ --         , requestCreateRule $ --             createRule --+--         , requestDescribeListenerCertificates $+--             describeListenerCertificates+-- --         , requestSetSecurityGroups $ --             setSecurityGroups --@@ -85,6 +88,9 @@ --         , requestDescribeSSLPolicies $ --             describeSSLPolicies --+--         , requestDescribeAccountLimits $+--             describeAccountLimits+-- --         , requestDeregisterTargets $ --             deregisterTargets --@@ -97,6 +103,9 @@ --         , requestModifyLoadBalancerAttributes $ --             modifyLoadBalancerAttributes --+--         , requestSetIPAddressType $+--             setIPAddressType+-- --         , requestAddTags $ --             addTags --@@ -112,9 +121,15 @@ --         , requestCreateLoadBalancer $ --             createLoadBalancer --+--         , requestRemoveListenerCertificates $+--             removeListenerCertificates+-- --         , requestModifyRule $ --             modifyRule --+--         , requestAddListenerCertificates $+--             addListenerCertificates+-- --           ]  --     , testGroup "response"@@ -139,6 +154,9 @@ --         , responseCreateRule $ --             createRuleResponse --+--         , responseDescribeListenerCertificates $+--             describeListenerCertificatesResponse+-- --         , responseSetSecurityGroups $ --             setSecurityGroupsResponse --@@ -175,6 +193,9 @@ --         , responseDescribeSSLPolicies $ --             describeSSLPoliciesResponse --+--         , responseDescribeAccountLimits $+--             describeAccountLimitsResponse+-- --         , responseDeregisterTargets $ --             deregisterTargetsResponse --@@ -187,6 +208,9 @@ --         , responseModifyLoadBalancerAttributes $ --             modifyLoadBalancerAttributesResponse --+--         , responseSetIPAddressType $+--             setIPAddressTypeResponse+-- --         , responseAddTags $ --             addTagsResponse --@@ -202,9 +226,15 @@ --         , responseCreateLoadBalancer $ --             createLoadBalancerResponse --+--         , responseRemoveListenerCertificates $+--             removeListenerCertificatesResponse+-- --         , responseModifyRule $ --             modifyRuleResponse --+--         , responseAddListenerCertificates $+--             addListenerCertificatesResponse+-- --           ] --     ] @@ -245,6 +275,11 @@     "CreateRule"     "fixture/CreateRule.yaml" +requestDescribeListenerCertificates :: DescribeListenerCertificates -> TestTree+requestDescribeListenerCertificates = req+    "DescribeListenerCertificates"+    "fixture/DescribeListenerCertificates.yaml"+ requestSetSecurityGroups :: SetSecurityGroups -> TestTree requestSetSecurityGroups = req     "SetSecurityGroups"@@ -305,6 +340,11 @@     "DescribeSSLPolicies"     "fixture/DescribeSSLPolicies.yaml" +requestDescribeAccountLimits :: DescribeAccountLimits -> TestTree+requestDescribeAccountLimits = req+    "DescribeAccountLimits"+    "fixture/DescribeAccountLimits.yaml"+ requestDeregisterTargets :: DeregisterTargets -> TestTree requestDeregisterTargets = req     "DeregisterTargets"@@ -325,6 +365,11 @@     "ModifyLoadBalancerAttributes"     "fixture/ModifyLoadBalancerAttributes.yaml" +requestSetIPAddressType :: SetIPAddressType -> TestTree+requestSetIPAddressType = req+    "SetIPAddressType"+    "fixture/SetIPAddressType.yaml"+ requestAddTags :: AddTags -> TestTree requestAddTags = req     "AddTags"@@ -350,11 +395,21 @@     "CreateLoadBalancer"     "fixture/CreateLoadBalancer.yaml" +requestRemoveListenerCertificates :: RemoveListenerCertificates -> TestTree+requestRemoveListenerCertificates = req+    "RemoveListenerCertificates"+    "fixture/RemoveListenerCertificates.yaml"+ requestModifyRule :: ModifyRule -> TestTree requestModifyRule = req     "ModifyRule"     "fixture/ModifyRule.yaml" +requestAddListenerCertificates :: AddListenerCertificates -> TestTree+requestAddListenerCertificates = req+    "AddListenerCertificates"+    "fixture/AddListenerCertificates.yaml"+ -- Responses  responseDescribeLoadBalancers :: DescribeLoadBalancersResponse -> TestTree@@ -406,6 +461,13 @@     eLBv2     (Proxy :: Proxy CreateRule) +responseDescribeListenerCertificates :: DescribeListenerCertificatesResponse -> TestTree+responseDescribeListenerCertificates = res+    "DescribeListenerCertificatesResponse"+    "fixture/DescribeListenerCertificatesResponse.proto"+    eLBv2+    (Proxy :: Proxy DescribeListenerCertificates)+ responseSetSecurityGroups :: SetSecurityGroupsResponse -> TestTree responseSetSecurityGroups = res     "SetSecurityGroupsResponse"@@ -490,6 +552,13 @@     eLBv2     (Proxy :: Proxy DescribeSSLPolicies) +responseDescribeAccountLimits :: DescribeAccountLimitsResponse -> TestTree+responseDescribeAccountLimits = res+    "DescribeAccountLimitsResponse"+    "fixture/DescribeAccountLimitsResponse.proto"+    eLBv2+    (Proxy :: Proxy DescribeAccountLimits)+ responseDeregisterTargets :: DeregisterTargetsResponse -> TestTree responseDeregisterTargets = res     "DeregisterTargetsResponse"@@ -518,6 +587,13 @@     eLBv2     (Proxy :: Proxy ModifyLoadBalancerAttributes) +responseSetIPAddressType :: SetIPAddressTypeResponse -> TestTree+responseSetIPAddressType = res+    "SetIPAddressTypeResponse"+    "fixture/SetIPAddressTypeResponse.proto"+    eLBv2+    (Proxy :: Proxy SetIPAddressType)+ responseAddTags :: AddTagsResponse -> TestTree responseAddTags = res     "AddTagsResponse"@@ -553,9 +629,23 @@     eLBv2     (Proxy :: Proxy CreateLoadBalancer) +responseRemoveListenerCertificates :: RemoveListenerCertificatesResponse -> TestTree+responseRemoveListenerCertificates = res+    "RemoveListenerCertificatesResponse"+    "fixture/RemoveListenerCertificatesResponse.proto"+    eLBv2+    (Proxy :: Proxy RemoveListenerCertificates)+ responseModifyRule :: ModifyRuleResponse -> TestTree responseModifyRule = res     "ModifyRuleResponse"     "fixture/ModifyRuleResponse.proto"     eLBv2     (Proxy :: Proxy ModifyRule)++responseAddListenerCertificates :: AddListenerCertificatesResponse -> TestTree+responseAddListenerCertificates = res+    "AddListenerCertificatesResponse"+    "fixture/AddListenerCertificatesResponse.proto"+    eLBv2+    (Proxy :: Proxy AddListenerCertificates)