type=page
status=published
title=list-http-lbs
next=list-http-listeners.html
prev=list-http-lb-configs.html
~~~~~~

= list-http-lbs

[[list-http-lbs-1]][[GSRFM00167]][[list-http-lbs]]

== list-http-lbs

Lists load balancers

[[sthref1493]]

=== Synopsis

[source]
----
asadmin [asadmin-options] list-http-lbs [--help]
[--long={false|true}]
[--output output]
[--header={false|true}]
[name]
----

[[sthref1494]]

=== Description

Use the `list-http-lbs` subcommand to list physical load balancers.

[NOTE]
====
This subcommand is only applicable to {productName}. This
subcommand is not applicable to {productName}.
====

[[sthref1495]]

=== Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--long`::
`-l`::
  Displays detailed information about each load balancer. The default
  value is `false.`
`--output`::
`-o`::
  Displays specific details about each load balancer. Use a
  comma-separated list to specify the details you want to display and
  their order. For example,
  `list-http-lbs --output name,device-host,device-port`. The values are
  case-insensitive. +
  Possible values are as follows:

  `device-host`;;
    Displays the device host or the IP address of the load balancing
    device. This host or IP is where the physical load balancer resides.
  `name`;;
    Displays the name of the load balancer.
  `auto-apply-enabled`;;
    Displays whether the Auto Apply feature is enabled.
  `lb-config-name`;;
    Displays the name of the load balancer configuration.
  `device-port`;;
    Displays the port used to communicate with the load balancing device.

`--header`::
`-h`::
  Specifies whether column headings are displayed when the `--long`
  option is used. The default value is `true`. To suppress the headings,
  set the `--header` option to `false`.

[[sthref1496]]

=== Operands

name::
  The name of the load balancer for which you want to display details.

[[sthref1497]]

=== Examples

[[GSRFM661]][[sthref1498]]

==== Example 1   Listing Physical Load Balancers for a Domain

This example lists all physical load balancers defined for a domain.

[source]
----
asadmin> list-http-lbs

lb1
lb2
Command list-http-lbs executed successfully.
----

[[sthref1499]]

=== Exit Status

0::
  subcommand executed successfully
1::
  error in executing the subcommand

[[sthref1500]]

=== See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:create-http-lb.html#create-http-lb-1[`create-http-lb`(1)],
link:delete-http-lb.html#delete-http-lb-1[`delete-http-lb`(1)]


