---
title: Getting Started with Datadog
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: Docs > Infrastructure > Datadog Resource Catalog
---

# aws_elb_load_balancer{% #aws_elb_load_balancer %}

## `account_id`{% #account_id %}

**Type**: `STRING`

## `availability_zones`{% #availability_zones %}

**Type**: `UNORDERED_LIST_STRING`**Provider name**: `AvailabilityZones`**Description**: The Availability Zones for the load balancer.

## `backend_server_descriptions`{% #backend_server_descriptions %}

**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `BackendServerDescriptions`**Description**: Information about your EC2 instances.

- `instance_port`**Type**: `INT32`**Provider name**: `InstancePort`**Description**: The port on which the EC2 instance is listening.
- `policy_names`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `PolicyNames`**Description**: The names of the policies enabled for the EC2 instance.

## `canonical_hosted_zone_name`{% #canonical_hosted_zone_name %}

**Type**: `STRING`**Provider name**: `CanonicalHostedZoneName`**Description**: The DNS name of the load balancer. For more information, see [Configure a Custom Domain Name](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/using-domain-names-with-elb.html) in the Classic Load Balancers Guide.

## `canonical_hosted_zone_name_id`{% #canonical_hosted_zone_name_id %}

**Type**: `STRING`**Provider name**: `CanonicalHostedZoneNameID`**Description**: The ID of the Amazon Route 53 hosted zone for the load balancer.

## `created_time`{% #created_time %}

**Type**: `TIMESTAMP`**Provider name**: `CreatedTime`**Description**: The date and time the load balancer was created.

## `dns_name`{% #dns_name %}

**Type**: `STRING`**Provider name**: `DNSName`**Description**: The DNS name of the load balancer.

## `health_check`{% #health_check %}

**Type**: `STRUCT`**Provider name**: `HealthCheck`**Description**: Information about the health checks conducted on the load balancer.

- `healthy_threshold`**Type**: `INT32`**Provider name**: `HealthyThreshold`**Description**: The number of consecutive health checks successes required before moving the instance to the `Healthy` state.
- `interval`**Type**: `INT32`**Provider name**: `Interval`**Description**: The approximate interval, in seconds, between health checks of an individual instance.
- `target`**Type**: `STRING`**Provider name**: `Target`**Description**: 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 health check 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/HTTPS, you must include a ping path in the string. HTTP is specified as a HTTP:port;/;PathToPing; grouping, for example "HTTP: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 must be 1024 16-bit Unicode characters or less.
- `timeout`**Type**: `INT32`**Provider name**: `Timeout`**Description**: The amount of time, in seconds, during which no response means a failed health check. This value must be less than the `Interval` value.
- `unhealthy_threshold`**Type**: `INT32`**Provider name**: `UnhealthyThreshold`**Description**: The number of consecutive health check failures required before moving the instance to the `Unhealthy` state.

## `instance_states`{% #instance_states %}

**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `InstanceStates`**Description**: Information about the health of the instances.

- `description`**Type**: `STRING`**Provider name**: `Description`**Description**: A description of the instance state. This string can contain one or more of the following messages.
  - `N/A`
  - `A transient error occurred. Please try again later.`
  - `Instance has failed at least the UnhealthyThreshold number of health checks consecutively.`
  - `Instance has not passed the configured HealthyThreshold number of health checks consecutively.`
  - `Instance registration is still in progress.`
  - `Instance is in the EC2 Availability Zone for which LoadBalancer is not configured to route traffic to.`
  - `Instance is not currently registered with the LoadBalancer.`
  - `Instance deregistration currently in progress.`
  - `Disable Availability Zone is currently in progress.`
  - `Instance is in pending state.`
  - `Instance is in stopped state.`
  - `Instance is in terminated state.`
- `instance_id`**Type**: `STRING`**Provider name**: `InstanceId`**Description**: The ID of the instance.
- `reason_code`**Type**: `STRING`**Provider name**: `ReasonCode`**Description**: Information about the cause of `OutOfService` instances. Specifically, whether the cause is Elastic Load Balancing or the instance. Valid values: `ELB` | `Instance` | `N/A`
- `state`**Type**: `STRING`**Provider name**: `State`**Description**: The current state of the instance. Valid values: `InService` | `OutOfService` | `Unknown`

## `instances`{% #instances %}

**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `Instances`**Description**: The IDs of the instances for the load balancer.

- `instance_id`**Type**: `STRING`**Provider name**: `InstanceId`**Description**: The instance ID.

## `listener_descriptions`{% #listener_descriptions %}

**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `ListenerDescriptions`**Description**: The listeners for the load balancer.

- `listener`**Type**: `STRUCT`**Provider name**: `Listener`**Description**: The listener.
  - `instance_port`**Type**: `INT32`**Provider name**: `InstancePort`**Description**: The port on which the instance is listening.
  - `instance_protocol`**Type**: `STRING`**Provider name**: `InstanceProtocol`**Description**: The protocol to use for routing traffic to instances: HTTP, HTTPS, TCP, or SSL. If the front-end protocol is TCP or SSL, the back-end protocol must be TCP or SSL. If the front-end protocol is HTTP or HTTPS, the back-end protocol must be HTTP or HTTPS. If there is another listener with the same `InstancePort` whose `InstanceProtocol` is secure, (HTTPS or SSL), the listener's `InstanceProtocol` must also be secure. If there is another listener with the same `InstancePort` whose `InstanceProtocol` is HTTP or TCP, the listener's `InstanceProtocol` must be HTTP or TCP.
  - `load_balancer_port`**Type**: `INT32`**Provider name**: `LoadBalancerPort`**Description**: The port on which the load balancer is listening. On EC2-VPC, you can specify any port from the range 1-65535. On EC2-Classic, you can specify any port from the following list: 25, 80, 443, 465, 587, 1024-65535.
  - `protocol`**Type**: `STRING`**Provider name**: `Protocol`**Description**: The load balancer transport protocol to use for routing: HTTP, HTTPS, TCP, or SSL.
  - `ssl_certificate_id`**Type**: `STRING`**Provider name**: `SSLCertificateId`**Description**: The Amazon Resource Name (ARN) of the server certificate.
- `policy_names`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `PolicyNames`**Description**: The policies. If there are no policies enabled, the list is empty.

## `load_balancer_arn`{% #load_balancer_arn %}

**Type**: `STRING`

## `load_balancer_attributes`{% #load_balancer_attributes %}

**Type**: `STRUCT`**Provider name**: `LoadBalancerAttributes`**Description**: Information about the load balancer attributes.

- `access_log`**Type**: `STRUCT`**Provider name**: `AccessLog`**Description**: If enabled, the load balancer captures detailed information of all requests and delivers the information to the Amazon S3 bucket that you specify. For more information, see [Enable Access Logs](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html) in the Classic Load Balancers Guide.
  - `emit_interval`**Type**: `INT32`**Provider name**: `EmitInterval`**Description**: The interval for publishing the access logs. You can specify an interval of either 5 minutes or 60 minutes.**Default**: 60 minutes
  - `enabled`**Type**: `BOOLEAN`**Provider name**: `Enabled`**Description**: Specifies whether access logs are enabled for the load balancer.
  - `s3_bucket_name`**Type**: `STRING`**Provider name**: `S3BucketName`**Description**: The name of the Amazon S3 bucket where the access logs are stored.
  - `s3_bucket_prefix`**Type**: `STRING`**Provider name**: `S3BucketPrefix`**Description**: 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.
- `additional_attributes`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `AdditionalAttributes`**Description**: Any additional attributes.
  - `key`**Type**: `STRING`**Provider name**: `Key`**Description**: The name of the attribute. The following attribute is supported.
    - `elb.http.desyncmitigationmode` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are `monitor`, `defensive`, and `strictest`. The default is `defensive`.
  - `value`**Type**: `STRING`**Provider name**: `Value`**Description**: This value of the attribute.
- `connection_draining`**Type**: `STRUCT`**Provider name**: `ConnectionDraining`**Description**: If enabled, the load balancer allows existing requests to complete before the load balancer shifts traffic away from a deregistered or unhealthy instance. For more information, see [Configure Connection Draining](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-conn-drain.html) in the Classic Load Balancers Guide.
  - `enabled`**Type**: `BOOLEAN`**Provider name**: `Enabled`**Description**: Specifies whether connection draining is enabled for the load balancer.
  - `timeout`**Type**: `INT32`**Provider name**: `Timeout`**Description**: The maximum time, in seconds, to keep the existing connections open before deregistering the instances.
- `connection_settings`**Type**: `STRUCT`**Provider name**: `ConnectionSettings`**Description**: If enabled, the load balancer allows the connections to remain idle (no data is sent over the connection) for the specified duration. By default, Elastic Load Balancing maintains a 60-second idle connection timeout for both front-end and back-end connections of your load balancer. For more information, see [Configure Idle Connection Timeout](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html) in the Classic Load Balancers Guide.
  - `idle_timeout`**Type**: `INT32`**Provider name**: `IdleTimeout`**Description**: The time, in seconds, that the connection is allowed to be idle (no data has been sent over the connection) before it is closed by the load balancer.
- `cross_zone_load_balancing`**Type**: `STRUCT`**Provider name**: `CrossZoneLoadBalancing`**Description**: If enabled, the load balancer routes the request traffic evenly across all instances regardless of the Availability Zones. For more information, see [Configure Cross-Zone Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-crosszone-lb.html) in the Classic Load Balancers Guide.
  - `enabled`**Type**: `BOOLEAN`**Provider name**: `Enabled`**Description**: Specifies whether cross-zone load balancing is enabled for the load balancer.

## `load_balancer_name`{% #load_balancer_name %}

**Type**: `STRING`**Provider name**: `LoadBalancerName`**Description**: The name of the load balancer.

## `policies`{% #policies %}

**Type**: `STRUCT`**Provider name**: `Policies`**Description**: The policies defined for the load balancer.

- `app_cookie_stickiness_policies`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `AppCookieStickinessPolicies`**Description**: The stickiness policies created using CreateAppCookieStickinessPolicy.
  - `cookie_name`**Type**: `STRING`**Provider name**: `CookieName`**Description**: The name of the application cookie used for stickiness.
  - `policy_name`**Type**: `STRING`**Provider name**: `PolicyName`**Description**: The mnemonic name for the policy being created. The name must be unique within a set of policies for this load balancer.
- `lb_cookie_stickiness_policies`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `LBCookieStickinessPolicies`**Description**: The stickiness policies created using CreateLBCookieStickinessPolicy.
  - `cookie_expiration_period`**Type**: `INT64`**Provider name**: `CookieExpirationPeriod`**Description**: The time period, in seconds, after which the cookie should be considered stale. If this parameter is not specified, the stickiness session lasts for the duration of the browser session.
  - `policy_name`**Type**: `STRING`**Provider name**: `PolicyName`**Description**: The name of the policy. This name must be unique within the set of policies for this load balancer.
- `other_policies`**Type**: `UNORDERED_LIST_STRING`**Provider name**: `OtherPolicies`**Description**: The policies other than the stickiness policies.

## `policy_descriptions`{% #policy_descriptions %}

**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `PolicyDescriptions`**Description**: Information about the policies.

- `policy_attribute_descriptions`**Type**: `UNORDERED_LIST_STRUCT`**Provider name**: `PolicyAttributeDescriptions`**Description**: The policy attributes.
  - `attribute_name`**Type**: `STRING`**Provider name**: `AttributeName`**Description**: The name of the attribute.
  - `attribute_value`**Type**: `STRING`**Provider name**: `AttributeValue`**Description**: The value of the attribute.
- `policy_name`**Type**: `STRING`**Provider name**: `PolicyName`**Description**: The name of the policy.
- `policy_type_name`**Type**: `STRING`**Provider name**: `PolicyTypeName`**Description**: The name of the policy type.

## `scheme`{% #scheme %}

**Type**: `STRING`**Provider name**: `Scheme`**Description**: The type of load balancer. Valid only for load balancers in a VPC. If `Scheme` is `internet-facing`, the load balancer has a public DNS name that resolves to a public IP address. If `Scheme` is `internal`, the load balancer has a public DNS name that resolves to a private IP address.

## `security_groups`{% #security_groups %}

**Type**: `UNORDERED_LIST_STRING`**Provider name**: `SecurityGroups`**Description**: The security groups for the load balancer. Valid only for load balancers in a VPC.

## `source_security_group`{% #source_security_group %}

**Type**: `STRUCT`**Provider name**: `SourceSecurityGroup`**Description**: The security group for the load balancer, which you can use as part of your inbound rules for your registered instances. To only allow traffic from load balancers, add a security group rule that specifies this source security group as the inbound source.

- `group_name`**Type**: `STRING`**Provider name**: `GroupName`**Description**: The name of the security group.
- `owner_alias`**Type**: `STRING`**Provider name**: `OwnerAlias`**Description**: The owner of the security group.

## `subnets`{% #subnets %}

**Type**: `UNORDERED_LIST_STRING`**Provider name**: `Subnets`**Description**: The IDs of the subnets for the load balancer.

## `tags`{% #tags %}

**Type**: `UNORDERED_LIST_STRING`

## `vpc_id`{% #vpc_id %}

**Type**: `STRING`**Provider name**: `VPCId`**Description**: The ID of the VPC for the load balancer.
