The Elastic Load Balancing API contains several data types that various actions use. This section describes each data type in detail.
Note
The order of each element in the response is not guaranteed. Applications should not assume a particular order.
The following data types are supported:
• AccessLog (p. 69)
• AddTagsResult (p. 70)
• AppCookieStickinessPolicy (p. 70)
• ApplySecurityGroupsToLoadBalancerResult (p. 71)
• AttachLoadBalancerToSubnetsResult (p. 71)
• BackendServerDescription (p. 71)
• ConfigureHealthCheckResult (p. 72)
• ConnectionDraining (p. 72)
• ConnectionSettings (p. 72)
• CreateAppCookieStickinessPolicyResult (p. 73)
• CreateLBCookieStickinessPolicyResult (p. 73)
• CreateLoadBalancerListenersResult (p. 73)
• CreateLoadBalancerPolicyResult (p. 73)
• CreateLoadBalancerResult (p. 74)
• CrossZoneLoadBalancing (p. 74)
• DeleteLoadBalancerListenersResult (p. 74)
• DeleteLoadBalancerPolicyResult (p. 75)
• DeleteLoadBalancerResult (p. 75)
• DeregisterInstancesFromLoadBalancerResult (p. 75)
• DescribeInstanceHealthResult (p. 75)
• DescribeLoadBalancerAttributesResult (p. 76)
• DescribeLoadBalancerPoliciesResult (p. 76)
• DescribeLoadBalancerPolicyTypesResult (p. 76)
• DescribeLoadBalancersResult (p. 77)
Elastic Load Balancing API Reference
• DescribeTagsResult (p. 77)
• DetachLoadBalancerFromSubnetsResult (p. 77)
• DisableAvailabilityZonesForLoadBalancerResult (p. 78)
• EnableAvailabilityZonesForLoadBalancerResult (p. 78)
• HealthCheck (p. 78)
• Instance (p. 79)
• InstanceState (p. 80)
• LBCookieStickinessPolicy (p. 80)
• Listener (p. 81)
• ListenerDescription (p. 82)
• LoadBalancerAttributes (p. 82)
• LoadBalancerDescription (p. 83)
• ModifyLoadBalancerAttributesResult (p. 85)
• Policies (p. 86)
• PolicyAttribute (p. 86)
• PolicyAttributeDescription (p. 87)
• PolicyAttributeTypeDescription (p. 87)
• PolicyDescription (p. 88)
• PolicyTypeDescription (p. 89)
• RegisterInstancesWithLoadBalancerResult (p. 89)
• RemoveTagsResult (p. 89)
• SetLoadBalancerListenerSSLCertificateResult (p. 90)
• SetLoadBalancerPoliciesForBackendServerResult (p. 90)
• SetLoadBalancerPoliciesOfListenerResult (p. 90)
• SourceSecurityGroup (p. 90)
• Tag (p. 91)
• TagDescription (p. 91)
• TagKeyOnly (p. 92)
AccessLog
Description
The AccessLog data type.
Contents
EmitInterval
The interval for publishing the access logs. You can specify an interval of either 5 minutes or 60 minutes.
Default: 60 minutes Type: Integer Required: No Enabled
Type: Boolean Required: Yes S3BucketName
The name of the Amazon S3 bucket where the access logs are stored.
Type: String Required: No S3BucketPrefix
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.
Type: String Required: No
AddTagsResult
Description
The output for the AddTags (p. 3)
action.
Contents
AppCookieStickinessPolicy
Description
The AppCookieStickinessPolicy data type.
Contents
CookieName
The name of the application cookie used for stickiness.
Type: String Required: No PolicyName
The mnemonic name for the policy being created. The name must be unique within a set of policies for this load balancer.
Type: String Required: No
Elastic Load Balancing API Reference AddTagsResult
ApplySecurityGroupsToLoadBalancerResult
Description
The out for the ApplySecurityGroupsToLoadBalancer (p. 5) action.
Contents
SecurityGroups
A list of security group IDs associated with your load balancer.
Type: String list Required: No
AttachLoadBalancerToSubnetsResult
Description
The output for the AttachLoadBalancerToSubnets (p. 7) action.
Contents
Subnets
A list of subnet IDs attached to the load balancer.
Type: String list Required: No
BackendServerDescription
Description
This data type is used as a response element in the DescribeLoadBalancers (p. 43) action to describe the configuration of the back-end server.
Contents
InstancePort
Provides the port on which the back-end server is listening.
Type: Integer Required: No PolicyNames
Provides a list of policy names enabled for the back-end server.
Type: String list
Required: No
ConfigureHealthCheckResult
Description
The output for the ConfigureHealthCheck (p. 9) action.
Contents
HealthCheck
The updated healthcheck for the instances.
Type:HealthCheck (p. 78) Required: No
ConnectionDraining
Description
The ConnectionDraining data type.
Contents
Enabled
Specifies whether connection draining is enabled for the load balancer.
Type: Boolean Required: Yes Timeout
Specifies the maximum time (in seconds) to keep the existing connections open before deregistering the instances.
Type: Integer Required: No
ConnectionSettings
Description
The ConnectionSettings data type.
Elastic Load Balancing API Reference ConfigureHealthCheckResult
Contents
IdleTimeout
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.
Type: Integer Required: Yes
CreateAppCookieStickinessPolicyResult
Description
The output for the CreateAppCookieStickinessPolicy (p. 11) action.
Contents
CreateLBCookieStickinessPolicyResult
Description
The output for the CreateLBCookieStickinessPolicy (p. 13) action.
Contents
CreateLoadBalancerListenersResult
Description
The output for the CreateLoadBalancerListeners (p. 22) action.
Contents
CreateLoadBalancerPolicyResult
Description
The output for the CreateLoadBalancerPolicy (p. 24) action.
Contents
CreateLoadBalancerResult
Description
The output for the CreateLoadBalancer (p. 15) action.
Contents
DNSName
The DNS name for the load balancer.
Type: String Required: No
CrossZoneLoadBalancing
Description
The CrossZoneLoadBalancing data type.
Contents
Enabled
Specifies whether cross-zone load balancing is enabled for the load balancer.
Type: Boolean Required: Yes
DeleteLoadBalancerListenersResult
Description
The output for the DeleteLoadBalancerListeners (p. 27) action.
Elastic Load Balancing API Reference Contents
Contents
DeleteLoadBalancerPolicyResult
Description
The output for the DeleteLoadBalancerPolicy (p. 28) action.
Contents
DeleteLoadBalancerResult
Description
The output for the DeleteLoadBalancer (p. 26) action.
Contents
DeregisterInstancesFromLoadBalancerResult
Description
The output for the DeregisterInstancesFromLoadBalancer (p. 29) action.
Contents
Instances
An updated list of remaining instances registered with the load balancer.
Type:Instance (p. 79) list Required: No
DescribeInstanceHealthResult
Description
The output for the DescribeInstanceHealth (p. 31) action.
Contents
InstanceStates
A list containing health information for the specified instances.
Type:InstanceState (p. 80) list Required: No
DescribeLoadBalancerAttributesResult
Description
The following element is returned in a structure named DescribeLoadBalancerAttributesResult.
Contents
LoadBalancerAttributes
The load balancer attributes structure.
Type:LoadBalancerAttributes (p. 82) Required: No
DescribeLoadBalancerPoliciesResult
Description
The output for the DescribeLoadBalancerPolicies (p. 37) action.
Contents
PolicyDescriptions
A list of policy description structures.
Type:PolicyDescription (p. 88) list Required: No
DescribeLoadBalancerPolicyTypesResult
Description
The output for the DescribeLoadBalancerPolicyTypes (p. 40) action.
Contents
PolicyTypeDescriptions
List of policy type description structures of the specified policy type. If no policy type names are specified, returns the description of all the policy types defined by Elastic Load Balancing service.
Type:PolicyTypeDescription (p. 89) list
Elastic Load Balancing API Reference DescribeLoadBalancerAttributesResult
Required: No
DescribeLoadBalancersResult
Description
The output for the DescribeLoadBalancers (p. 43) action.
Contents
LoadBalancerDescriptions
A list of load balancer description structures.
Type:LoadBalancerDescription (p. 83) list Required: No
NextMarker
Specifies the value of next marker if the request returned more than one page of results.
Type: String Required: No
DescribeTagsResult
Description
The output for the DescribeTags (p. 46) action.
Contents
TagDescriptions
A list of tag description structures.
Type:TagDescription (p. 91) list Required: No
DetachLoadBalancerFromSubnetsResult
Description
The output for the DetachLoadBalancerFromSubnets (p. 48) action.
Contents
Subnets
A list of subnet IDs the load balancer is now attached to.
Type: String list Required: No
DisableAvailabilityZonesForLoadBalancerResult
Description
The output for the DisableAvailabilityZonesForLoadBalancer (p. 50) action.
Contents
AvailabilityZones
A list of updated Availability Zones for the load balancer.
Type: String list Required: No
EnableAvailabilityZonesForLoadBalancerResult
Description
The output for the EnableAvailabilityZonesForLoadBalancer (p. 52) action.
Contents
AvailabilityZones
An updated list of Availability Zones for the load balancer.
Type: String list Required: No
HealthCheck
Description
The HealthCheck data type.
Contents
HealthyThreshold
Specifies the number of consecutive health probe successes required before moving the instance to the Healthy state.
Type: Integer
Elastic Load Balancing API Reference DisableAvailabilityZonesForLoadBalancerResult
Required: Yes Interval
Specifies the approximate interval, in seconds, between health checks of an individual instance.
Type: Integer Required: Yes Target
Specifies the instance being checked. The protocol is either TCP, HTTP, HTTPS, or SSL. The range of valid ports is one (1) through 65535.
Note
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 "HT-TP:80/weather/us/wa/seattle". 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.
Type: String Required: Yes Timeout
Specifies the amount of time, in seconds, during which no response means a failed health probe.
Note
This value must be less than the Interval value.
Type: Integer Required: Yes UnhealthyThreshold
Specifies the number of consecutive health probe failures required before moving the instance to the Unhealthy state.
Type: Integer Required: Yes
Instance
Description
The Instance data type.
Contents
InstanceId
Provides an EC2 instance ID.
Type: String Required: No
InstanceState
Description
The InstanceState data type.
Contents
Description
Provides a description of the instance state.
Type: String Required: No InstanceId
Provides an EC2 instance ID.
Type: String Required: No ReasonCode
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 Type: String
Required: No State
Specifies the current state of the instance.
Valid value:InService|OutOfService|Unknown Type: String
Required: No
LBCookieStickinessPolicy
Description
The LBCookieStickinessPolicy data type.
Elastic Load Balancing API Reference Contents
Contents
CookieExpirationPeriod
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.
Type: Long Required: No PolicyName
The name for the policy being created. The name must be unique within the set of policies for this load balancer.
Type: String Required: No
Listener
Description
The Listener data type.
Contents
InstancePort
Specifies the TCP port on which the instance server is listening. This property cannot be modified for the life of the load balancer.
Type: Integer Required: Yes InstanceProtocol
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.
Note
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, In-stanceProtocol has to be TCP or SSL.
Note
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.
Type: String Required: No LoadBalancerPort
Specifies the external load balancer port number. This property cannot be modified for the life of the load balancer.
Type: Integer
Required: Yes Protocol
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.
Type: String Required: Yes SSLCertificateId
The ARN string of the server certificate. To get the ARN of the server certificate, call the AWS Identity and Access Management UploadServerCertificate API.
Type: String Required: No
ListenerDescription
Description
The ListenerDescription data type.
Contents
Listener
The Listener data type.
Type:Listener (p. 81) Required: No PolicyNames
A list of policies enabled for this listener. An empty list indicates that no policies are enabled.
Type: String list Required: No
LoadBalancerAttributes
Description
The LoadBalancerAttributes data type.
Contents
AccessLog
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.
Type:AccessLog (p. 69)
Elastic Load Balancing API Reference ListenerDescription
Required: No ConnectionDraining
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 in-stance.
For more information, see Enable Connection Draining.
Type:ConnectionDraining (p. 72) Required: No
ConnectionSettings
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.
Type:ConnectionSettings (p. 72) Required: No
CrossZoneLoadBalancing
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.
Type:CrossZoneLoadBalancing (p. 74) Required: No
LoadBalancerDescription
Description
Contains the result of a successful invocation of DescribeLoadBalancers (p. 43).
Contents
AvailabilityZones
Specifies a list of Availability Zones.
Type: String list Required: No
BackendServerDescriptions
Contains a list of back-end server descriptions.
Type:BackendServerDescription (p. 71) list Required: No
CanonicalHostedZoneName
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.
Type: String Required: No
CanonicalHostedZoneNameID
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 Elastic Load Balancing in the Elastic Load Balancing Developer Guide.
Type: String Required: No CreatedTime
Provides the date and time the load balancer was created.
Type: DateTime Required: No DNSName
Specifies the external DNS name associated with the load balancer.
Type: String Required: No HealthCheck
Specifies information regarding the various health probes conducted on the load balancer.
Type:HealthCheck (p. 78) Required: No
Instances
Provides a list of EC2 instance IDs for the load balancer.
Type:Instance (p. 79) list Required: No
ListenerDescriptions
LoadBalancerPort, InstancePort, Protocol, InstanceProtocol, and PolicyNames are returned in a list of tuples in the ListenerDescriptions element.
Type:ListenerDescription (p. 82) list Required: No
LoadBalancerName
Specifies the name associated with the load balancer.
Type: String Required: No Policies
Provides a list of policies defined for the load balancer.
Type:Policies (p. 86) Required: No
Elastic Load Balancing API Reference Contents
Scheme
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.
Type: String Required: No SecurityGroups
The security groups the load balancer is a member of (VPC only).
Type: String list Required: No SourceSecurityGroup
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.
Type:SourceSecurityGroup (p. 90) Required: No
Subnets
Provides a list of VPC subnet IDs for the load balancer.
Type: String list Required: No VPCId
Provides the ID of the VPC attached to the load balancer.
Type: String Required: No
ModifyLoadBalancerAttributesResult
Description
The output for the ModifyLoadBalancerAttributes (p. 54) action.
Contents
LoadBalancerAttributes
The LoadBalancerAttributes data type.
Type:LoadBalancerAttributes (p. 82) Required: No
LoadBalancerName
The name of the load balancer.
Type: String Required: No
Policies
Description
The policies data type.
Contents
AppCookieStickinessPolicies
A list of the AppCookieStickinessPolicy (p. 70) objects created with CreateAppCookieStickiness-Policy (p. 11).
Type:AppCookieStickinessPolicy (p. 70) list Required: No
LBCookieStickinessPolicies
A list of LBCookieStickinessPolicy (p. 80) objects created with CreateAppCookieStickiness-Policy (p. 11).
Type:LBCookieStickinessPolicy (p. 80) list Required: No
OtherPolicies
A list of policy names other than the stickiness policies.
Type: String list Required: No
PolicyAttribute
Description
The PolicyAttribute (p. 86) data type. This data type contains a key/value pair that defines properties of a specific policy.
Contents
AttributeName
The name of the attribute associated with the policy.
Type: String Required: No
Elastic Load Balancing API Reference Policies
AttributeValue
The value of the attribute associated with the policy.
Type: String Required: No
PolicyAttributeDescription
Description
The PolicyAttributeDescription data type. This data type is used to describe the attributes and values associated with a policy.
Contents
AttributeName
The name of the attribute associated with the policy.
Type: String Required: No AttributeValue
The value of the attribute associated with the policy.
Type: String Required: No
PolicyAttributeTypeDescription
Description
The PolicyAttributeTypeDescription data type. This data type is used to describe values that are acceptable for the policy attribute.
Contents
AttributeName
The name of the attribute associated with the policy type.
Type: String Required: No AttributeType
The type of attribute. For example, Boolean, Integer, etc.
Type: String Required: No Cardinality
• 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 Type: String
Required: No DefaultValue
The default value of the attribute, if applicable.
Type: String Required: No Description
A human-readable description of the attribute.
Type: String Required: No
PolicyDescription
Description
The PolicyDescription data type.
Contents
PolicyAttributeDescriptions
A list of policy attribute description structures.
Type:PolicyAttributeDescription (p. 87) list Required: No
PolicyName
The name of the policy associated with the load balancer.
Type: String Required: No PolicyTypeName
The name of the policy type associated with the load balancer.
Type: String Required: No
Elastic Load Balancing API Reference PolicyDescription
PolicyTypeDescription
Description
The PolicyTypeDescription (p. 89) data type.
Contents
Description
A human-readable description of the policy type.
Type: String Required: No
PolicyAttributeTypeDescriptions
The description of the policy attributes associated with the load balancer policies defined by the Elastic Load Balancing service.
Type:PolicyAttributeTypeDescription (p. 87) list Required: No
PolicyTypeName
The name of the policy type.
Type: String Required: No
RegisterInstancesWithLoadBalancerResult
Description
The output for the RegisterInstancesWithLoadBalancer (p. 58) action.
Contents
Instances
An updated list of instances for the load balancer.
Type:Instance (p. 79) list Required: No
RemoveTagsResult
Description
The output for the RemoveTags (p. 60) action.
Contents
SetLoadBalancerListenerSSLCertificateResult
Description
The output for the SetLoadBalancerListenerSSLCertificate (p. 62) action.
Contents
SetLoadBalancerPoliciesForBackendServerRes-ult
Description
The output for the SetLoadBalancerPoliciesForBackendServer (p. 64) action.
Contents
SetLoadBalancerPoliciesOfListenerResult
Description
The output for the SetLoadBalancerPoliciesOfListener (p. 66) action.
Contents
SourceSecurityGroup
Description
This data type is used as a response element in the DescribeLoadBalancers (p. 43) action. For information about Elastic Load Balancing security groups, go to Using Security Groups With Elastic Load Balancing in the Elastic Load Balancing Developer Guide.
Contents
GroupName
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.
Elastic Load Balancing API Reference Contents
Type: String Required: No OwnerAlias
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.
Type: String Required: No
Tag
Description
Metadata assigned to a load balancer consisting of key-value pair.
For more information, see Tagging in the Elastic Load Balancing Developer Guide.
Contents
Key
The key of the tag.
Type: String
Length constraints: Minimum length of 1. Maximum length of 128.
Required: Yes Value
The value of the tag.
Type: String
Length constraints: Minimum length of 0. Maximum length of 256.
Required: No
TagDescription
Description
The descriptions of all the tags associated with load balancer.
Contents
LoadBalancerName
The name of the load balancer.
Type: String Required: No
Tags
List of tags associated with the load balancer.
Type:Tag (p. 91) list
Length constraints: Minimum of 1 item(s) in the list.
Required: No
TagKeyOnly
Description
The key of a tag to be removed.
Contents
Key
The name of the key.
Type: String
Length constraints: Minimum length of 1. Maximum length of 128.
Required: No
Elastic Load Balancing API Reference TagKeyOnly