type=page
status=published
title=delete-http-lb
next=delete-http-lb-config.html
prev=delete-http-health-checker.html
~~~~~~
delete-http-lb
==============

[[delete-http-lb-1]][[GSRFM00079]][[delete-http-lb]]

delete-http-lb
--------------

deletes a load balancer

[[sthref707]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] delete-http-lb [--help] 
load_balancer_name
----

[[sthref708]]

Description

Use the `delete-http-lb` subcommand to delete a physical load balancer.


[NOTE]
=======================================================================

This subcommand is only applicable to Oracle GlassFish Server. This
subcommand is not applicable to GlassFish Server Open Source Edition.

=======================================================================


[[sthref709]]

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.

[[sthref710]]

Operands

load_balancer_name::
  The name of the load balancer to be deleted.

[[sthref711]]

Examples

[[GSRFM548]][[sthref712]]

Example 1   Deleting a Load Balancer Configuration

This example deletes the load balancer configuration named `mylb`.

[source,oac_no_warn]
----
asadmin> delete-http-lb mylb

Command delete-http-lb executed successfully.
----

[[sthref713]]

Exit Status

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

[[sthref714]]

See Also

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

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


