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

= delete-http-lb-ref

[[delete-http-lb-ref-1]][[GSRFM00081]][[delete-http-lb-ref]]

== delete-http-lb-ref

Deletes the cluster or server instance from a load balancer

[[sthref723]]

=== Synopsis

[source]
----
asadmin [asadmin-options] delete-http-lb-ref [--help]
--config config_name | --lbname load_balancer_name
[--force=false] target
----

[[sthref724]]

=== Description

Use the `delete-http-lb-ref` subcommand to remove a reference to a
cluster or standalone server instance from a load balancer configuration
or load balancer. So that you do not interrupt user requests, make sure
the standalone server instance or all server instances in the cluster
are disabled before you remove them from the load balancer
configuration. If the `force` option is set to true, the references are
deleted even if server instances or clusters are enabled.

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

[[sthref725]]

=== 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.
`--config`::
  Specifies which load balancer configuration to delete cluster and
  server instance references from. +
  Specify either a load balancer configuration or a load balancer.
  Specifying both results in an error.
`--lbname`::
  Specifies the load balancer to delete cluster and server instance
  references from. +
  Specify either a load balancer configuration or a load balancer.
  Specifying both results in an error.
`--force`::
  If `force` is set to true, then the references are deleted even if
  there are currently enabled applications or instances. The default is
  false.

[[sthref726]]

=== Operands

target::
  Specifies which cluster or instance to remove from the load balancer.
  Valid values are:

  * cluster_name- The name of a target cluster.
  * instance_name- The name of a target server instance.

[[sthref727]]

=== Examples

[[GSRFM550]][[sthref728]]

==== Example 1   Deleting a Cluster Reference from a Load Balancer
Configuration

This example deletes the reference to cluster named `cluster2` from a
load balancer configuration named `mycluster-http-lb-config`.

[source]
----
asadmin> delete-http-lb-ref --config mycluster-http-lb-config cluster2

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

[[sthref729]]

=== Exit Status

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

[[sthref730]]

=== See Also

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

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


