amazonka-elb-0.3.2: Amazon Elastic Load Balancing SDK.

Safe HaskellNone
LanguageHaskell2010

Network.AWS.ELB.Types

Contents

Synopsis

Service

data ELB Source

Version 2012-06-01 of the Amazon Elastic Load Balancing service.

Instances

AWSService ELB 
type Sg ELB = V4 
type Er ELB = RESTError 

Error

data RESTError :: *

Instances

Eq RESTError 
Show RESTError 
Generic RESTError 
AWSErrorCode RESTError 
FromXML RESTError 
type Rep RESTError = D1 D1RESTError (C1 C1_0RESTError ((:*:) ((:*:) (S1 S1_0_0RESTError (Rec0 Text)) (S1 S1_0_1RESTError (Rec0 (Maybe ErrorType)))) ((:*:) (S1 S1_0_2RESTError (Rec0 ErrorCode)) (S1 S1_0_3RESTError (Rec0 Text))))) 

XML

ns :: Text Source

SourceSecurityGroup

sourceSecurityGroup :: SourceSecurityGroup Source

SourceSecurityGroup constructor.

The fields accessible through corresponding lenses are:

ssgGroupName :: Lens' SourceSecurityGroup (Maybe Text) Source

Name of the source security group. Use this value for the '--source-group' parameter of the 'ec2-authorize' command in the Amazon EC2 command line tool.

ssgOwnerAlias :: Lens' SourceSecurityGroup (Maybe Text) Source

Owner of the source security group. Use this value for the '--source-group-user' parameter of the 'ec2-authorize' command in the Amazon EC2 command line tool.

TagDescription

tagDescription Source

Arguments

:: NonEmpty Tag

tdTags

-> TagDescription 

TagDescription constructor.

The fields accessible through corresponding lenses are:

tdLoadBalancerName :: Lens' TagDescription (Maybe Text) Source

The name of the load balancer.

tdTags :: Lens' TagDescription (NonEmpty Tag) Source

List of tags associated with the load balancer.

Tag

data Tag Source

Instances

Eq Tag 
Ord Tag 
Read Tag 
Show Tag 
FromXML Tag 
ToQuery Tag 

tag Source

Arguments

:: Text

tagKey

-> Tag 

Tag constructor.

The fields accessible through corresponding lenses are:

tagKey :: Lens' Tag Text Source

The key of the tag.

tagValue :: Lens' Tag (Maybe Text) Source

The value of the tag.

PolicyAttributeTypeDescription

patdAttributeName :: Lens' PolicyAttributeTypeDescription (Maybe Text) Source

The name of the attribute associated with the policy type.

patdAttributeType :: Lens' PolicyAttributeTypeDescription (Maybe Text) Source

The type of attribute. For example, Boolean, Integer, etc.

patdCardinality :: Lens' PolicyAttributeTypeDescription (Maybe Text) Source

The cardinality of the attribute. Valid Values: ONE(1) : Single value required ZERO_OR_ONE(0..1) : Up to one value can be supplied ZERO_OR_MORE(0..*) : Optional. Multiple values are allowed ONE_OR_MORE(1..*0) : Required. Multiple values are allowed

patdDefaultValue :: Lens' PolicyAttributeTypeDescription (Maybe Text) Source

The default value of the attribute, if applicable.

patdDescription :: Lens' PolicyAttributeTypeDescription (Maybe Text) Source

A human-readable description of the attribute.

HealthCheck

healthCheck Source

Arguments

:: Text

hcTarget

-> Natural

hcInterval

-> Natural

hcTimeout

-> Natural

hcUnhealthyThreshold

-> Natural

hcHealthyThreshold

-> HealthCheck 

HealthCheck constructor.

The fields accessible through corresponding lenses are:

hcHealthyThreshold :: Lens' HealthCheck Natural Source

Specifies the number of consecutive health probe successes required before moving the instance to the Healthy state.

hcInterval :: Lens' HealthCheck Natural Source

Specifies the approximate interval, in seconds, between health checks of an individual instance.

hcTarget :: Lens' HealthCheck Text Source

Specifies the instance being checked. The protocol is either TCP, HTTP, HTTPS, or SSL. The range of valid ports is one (1) through 65535.

TCP is the default, specified as a TCP: port pair, for example TCP:5000. In this case a healthcheck simply attempts to open a TCP connection to the instance on the specified port. Failure to connect within the configured timeout is considered unhealthy.

SSL is also specified as SSL: port pair, for example, SSL:5000.

For HTTP or HTTPS protocol, the situation is different. You have to include a ping path in the string. HTTP is specified as a HTTP:port;/;PathToPing; grouping, for example "HTTP:80weatheruswaseattle". In this case, a HTTP GET request is issued to the instance on the given port and path. Any answer other than "200 OK" within the timeout period is considered unhealthy.

The total length of the HTTP ping target needs to be 1024 16-bit Unicode characters or less.

hcTimeout :: Lens' HealthCheck Natural Source

Specifies the amount of time, in seconds, during which no response means a failed health probe.

This value must be less than the Interval value.

hcUnhealthyThreshold :: Lens' HealthCheck Natural Source

Specifies the number of consecutive health probe failures required before moving the instance to the Unhealthy state.

CrossZoneLoadBalancing

crossZoneLoadBalancing Source

CrossZoneLoadBalancing constructor.

The fields accessible through corresponding lenses are:

czlbEnabled :: Lens' CrossZoneLoadBalancing Bool Source

Specifies whether cross-zone load balancing is enabled for the load balancer.

LoadBalancerAttributes

lbaAccessLog :: Lens' LoadBalancerAttributes (Maybe AccessLog) Source

The name of the load balancer attribute. If enabled, the load balancer captures detailed information of all the requests and delivers the information to the Amazon S3 bucket that you specify.

For more information, see Enable Access Logs.

lbaConnectionDraining :: Lens' LoadBalancerAttributes (Maybe ConnectionDraining) Source

The name of the load balancer attribute. If enabled, the load balancer allows existing requests to complete before the load balancer shifts traffic away from a deregistered or unhealthy back-end instance.

For more information, see Enable Connection Draining.

lbaConnectionSettings :: Lens' LoadBalancerAttributes (Maybe ConnectionSettings) Source

The name of the load balancer attribute.

By default, Elastic Load Balancing maintains a 60-second idle connection timeout for both front-end and back-end connections of your load balancer. If the ConnectionSettings attribute is set, Elastic Load Balancing will allow the connections to remain idle (no data is sent over the connection) for the specified duration.

For more information, see Configure Idle Connection Timeout.

lbaCrossZoneLoadBalancing :: Lens' LoadBalancerAttributes (Maybe CrossZoneLoadBalancing) Source

The name of the load balancer attribute. If enabled, the load balancer routes the request traffic evenly across all back-end instances regardless of the Availability Zones.

For more information, see Enable Cross-Zone Load Balancing.

AccessLog

accessLog Source

Arguments

:: Bool

alEnabled

-> AccessLog 

AccessLog constructor.

The fields accessible through corresponding lenses are:

alEmitInterval :: Lens' AccessLog (Maybe Int) Source

The interval for publishing the access logs. You can specify an interval of either 5 minutes or 60 minutes.

Default: 60 minutes

alEnabled :: Lens' AccessLog Bool Source

Specifies whether access log is enabled for the load balancer.

alS3BucketName :: Lens' AccessLog (Maybe Text) Source

The name of the Amazon S3 bucket where the access logs are stored.

alS3BucketPrefix :: Lens' AccessLog (Maybe Text) Source

The logical hierarchy you created for your Amazon S3 bucket, for example 'my-bucket-prefix/prod'. If the prefix is not provided, the log is placed at the root level of the bucket.

ListenerDescription

listenerDescription :: ListenerDescription Source

ListenerDescription constructor.

The fields accessible through corresponding lenses are:

ldPolicyNames :: Lens' ListenerDescription [Text] Source

A list of policies enabled for this listener. An empty list indicates that no policies are enabled.

LBCookieStickinessPolicy

lbcspCookieExpirationPeriod :: Lens' LBCookieStickinessPolicy (Maybe Integer) Source

The time period in seconds after which the cookie should be considered stale. Not specifying this parameter indicates that the stickiness session will last for the duration of the browser session.

lbcspPolicyName :: Lens' LBCookieStickinessPolicy (Maybe Text) Source

The name for the policy being created. The name must be unique within the set of policies for this load balancer.

PolicyDescription

pdPolicyAttributeDescriptions :: Lens' PolicyDescription [PolicyAttributeDescription] Source

A list of policy attribute description structures.

pdPolicyName :: Lens' PolicyDescription (Maybe Text) Source

The name of the policy associated with the load balancer.

pdPolicyTypeName :: Lens' PolicyDescription (Maybe Text) Source

The name of the policy type associated with the load balancer.

AppCookieStickinessPolicy

appCookieStickinessPolicy :: AppCookieStickinessPolicy Source

AppCookieStickinessPolicy constructor.

The fields accessible through corresponding lenses are:

acspCookieName :: Lens' AppCookieStickinessPolicy (Maybe Text) Source

The name of the application cookie used for stickiness.

acspPolicyName :: Lens' AppCookieStickinessPolicy (Maybe Text) Source

The mnemonic name for the policy being created. The name must be unique within a set of policies for this load balancer.

PolicyAttribute

policyAttribute :: PolicyAttribute Source

PolicyAttribute constructor.

The fields accessible through corresponding lenses are:

paAttributeName :: Lens' PolicyAttribute (Maybe Text) Source

The name of the attribute associated with the policy.

paAttributeValue :: Lens' PolicyAttribute (Maybe Text) Source

The value of the attribute associated with the policy.

LoadBalancerDescription

lbdAvailabilityZones :: Lens' LoadBalancerDescription [Text] Source

Specifies a list of Availability Zones.

lbdBackendServerDescriptions :: Lens' LoadBalancerDescription [BackendServerDescription] Source

Contains a list of back-end server descriptions.

lbdCanonicalHostedZoneName :: Lens' LoadBalancerDescription (Maybe Text) Source

Provides the name of the Amazon Route 53 hosted zone that is associated with the load balancer. For information on how to associate your load balancer with a hosted zone, go to Using Domain Names With Elastic Load Balancing in the Elastic Load Balancing Developer Guide.

lbdCanonicalHostedZoneNameID :: Lens' LoadBalancerDescription (Maybe Text) Source

Provides the ID of the Amazon Route 53 hosted zone name that is associated with the load balancer. For information on how to associate or disassociate your load balancer with a hosted zone, go to Using Domain Names With ElasticLoad Balancing in the Elastic Load Balancing Developer Guide.

lbdCreatedTime :: Lens' LoadBalancerDescription (Maybe UTCTime) Source

Provides the date and time the load balancer was created.

lbdDNSName :: Lens' LoadBalancerDescription (Maybe Text) Source

Specifies the external DNS name associated with the load balancer.

lbdHealthCheck :: Lens' LoadBalancerDescription (Maybe HealthCheck) Source

Specifies information regarding the various health probes conducted on the load balancer.

lbdInstances :: Lens' LoadBalancerDescription [Instance] Source

Provides a list of EC2 instance IDs for the load balancer.

lbdListenerDescriptions :: Lens' LoadBalancerDescription [ListenerDescription] Source

LoadBalancerPort, InstancePort, Protocol, InstanceProtocol, and PolicyNames are returned in a list of tuples in the ListenerDescriptions element.

lbdLoadBalancerName :: Lens' LoadBalancerDescription (Maybe Text) Source

Specifies the name associated with the load balancer.

lbdPolicies :: Lens' LoadBalancerDescription (Maybe Policies) Source

Provides a list of policies defined for the load balancer.

lbdScheme :: Lens' LoadBalancerDescription (Maybe Text) Source

Specifies the type of load balancer.

If the Scheme is 'internet-facing', the load balancer has a publicly resolvable DNS name that resolves to public IP addresses.

If the Scheme is internal, the load balancer has a publicly resolvable DNS name that resolves to private IP addresses.

This option is only available for load balancers attached to an Amazon VPC.

lbdSecurityGroups :: Lens' LoadBalancerDescription [Text] Source

The security groups the load balancer is a member of (VPC only).

lbdSourceSecurityGroup :: Lens' LoadBalancerDescription (Maybe SourceSecurityGroup) Source

The security group that you can use as part of your inbound rules for your load balancer's back-end Amazon EC2 application instances. To only allow traffic from load balancers, add a security group rule to your back end instance that specifies this source security group as the inbound source.

lbdSubnets :: Lens' LoadBalancerDescription [Text] Source

Provides a list of VPC subnet IDs for the load balancer.

lbdVPCId :: Lens' LoadBalancerDescription (Maybe Text) Source

Provides the ID of the VPC attached to the load balancer.

BackendServerDescription

backendServerDescription :: BackendServerDescription Source

BackendServerDescription constructor.

The fields accessible through corresponding lenses are:

bsdInstancePort :: Lens' BackendServerDescription (Maybe Natural) Source

Provides the port on which the back-end server is listening.

bsdPolicyNames :: Lens' BackendServerDescription [Text] Source

Provides a list of policy names enabled for the back-end server.

PolicyAttributeDescription

policyAttributeDescription :: PolicyAttributeDescription Source

PolicyAttributeDescription constructor.

The fields accessible through corresponding lenses are:

padAttributeName :: Lens' PolicyAttributeDescription (Maybe Text) Source

The name of the attribute associated with the policy.

padAttributeValue :: Lens' PolicyAttributeDescription (Maybe Text) Source

The value of the attribute associated with the policy.

AdditionalAttribute

additionalAttribute :: AdditionalAttribute Source

AdditionalAttribute constructor.

The fields accessible through corresponding lenses are:

ConnectionSettings

connectionSettings Source

Arguments

:: Natural

csIdleTimeout

-> ConnectionSettings 

ConnectionSettings constructor.

The fields accessible through corresponding lenses are:

csIdleTimeout :: Lens' ConnectionSettings Natural Source

Specifies the time (in seconds) the connection is allowed to be idle (no data has been sent over the connection) before it is closed by the load balancer.

PolicyTypeDescription

ptdDescription :: Lens' PolicyTypeDescription (Maybe Text) Source

A human-readable description of the policy type.

ptdPolicyAttributeTypeDescriptions :: Lens' PolicyTypeDescription [PolicyAttributeTypeDescription] Source

The description of the policy attributes associated with the load balancer policies defined by the Elastic Load Balancing service.

ptdPolicyTypeName :: Lens' PolicyTypeDescription (Maybe Text) Source

The name of the policy type.

Policies

data Policies Source

Instances

pAppCookieStickinessPolicies :: Lens' Policies [AppCookieStickinessPolicy] Source

A list of the AppCookieStickinessPolicy objects created with CreateAppCookieStickinessPolicy.

pLBCookieStickinessPolicies :: Lens' Policies [LBCookieStickinessPolicy] Source

A list of LBCookieStickinessPolicy objects created with CreateAppCookieStickinessPolicy.

pOtherPolicies :: Lens' Policies [Text] Source

A list of policy names other than the stickiness policies.

Listener

listener Source

Arguments

:: Text

lProtocol

-> Int

lLoadBalancerPort

-> Natural

lInstancePort

-> Listener 

Listener constructor.

The fields accessible through corresponding lenses are:

lInstancePort :: Lens' Listener Natural Source

Specifies the TCP port on which the instance server is listening. This property cannot be modified for the life of the load balancer.

lInstanceProtocol :: Lens' Listener (Maybe Text) Source

Specifies the protocol to use for routing traffic to back-end instances - HTTP, HTTPS, TCP, or SSL. This property cannot be modified for the life of the load balancer.

If the front-end protocol is HTTP or HTTPS, InstanceProtocol has to be at the same protocol layer, i.e., HTTP or HTTPS. Likewise, if the front-end protocol is TCP or SSL, InstanceProtocol has to be TCP or SSL. If there is another listener with the same InstancePort whose InstanceProtocol is secure, i.e., HTTPS or SSL, the listener's InstanceProtocol has to be secure, i.e., HTTPS or SSL. If there is another listener with the same InstancePort whose InstanceProtocol is HTTP or TCP, the listener's InstanceProtocol must be either HTTP or TCP.

lLoadBalancerPort :: Lens' Listener Int Source

Specifies the external load balancer port number. This property cannot be modified for the life of the load balancer.

lProtocol :: Lens' Listener Text Source

Specifies the load balancer transport protocol to use for routing - HTTP, HTTPS, TCP or SSL. This property cannot be modified for the life of the load balancer.

lSSLCertificateId :: Lens' Listener (Maybe Text) Source

The ARN string of the server certificate. To get the ARN of the server certificate, call the AWS Identity and Access Management UploadServerCertificate API.

ConnectionDraining

connectionDraining Source

ConnectionDraining constructor.

The fields accessible through corresponding lenses are:

cdEnabled :: Lens' ConnectionDraining Bool Source

Specifies whether connection draining is enabled for the load balancer.

cdTimeout :: Lens' ConnectionDraining (Maybe Int) Source

Specifies the maximum time (in seconds) to keep the existing connections open before deregistering the instances.

InstanceState

instanceState :: InstanceState Source

InstanceState constructor.

The fields accessible through corresponding lenses are:

isDescription :: Lens' InstanceState (Maybe Text) Source

Provides a description of the instance state.

isInstanceId :: Lens' InstanceState (Maybe Text) Source

Provides an EC2 instance ID.

isReasonCode :: Lens' InstanceState (Maybe Text) Source

Provides information about the cause of OutOfService instances. Specifically, it indicates whether the cause is Elastic Load Balancing or the instance behind the load balancer.

Valid value: 'ELB'|'Instance'|'N/A'

isState :: Lens' InstanceState (Maybe Text) Source

Specifies the current state of the instance.

Valid value: 'InService'|'OutOfService'|'Unknown'

TagKeyOnly

tagKeyOnly :: TagKeyOnly Source

TagKeyOnly constructor.

The fields accessible through corresponding lenses are:

tkoKey :: Lens' TagKeyOnly (Maybe Text) Source

The name of the key.

Instance

instance' :: Instance Source

Instance constructor.

The fields accessible through corresponding lenses are:

iInstanceId :: Lens' Instance (Maybe Text) Source

Provides an EC2 instance ID.