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

= delete-http-health-checker

[[delete-http-health-checker-1]][[GSRFM00078]][[delete-http-health-checker]]

== delete-http-health-checker

Deletes the health-checker for a specified load balancer configuration

[[sthref699]]

=== Synopsis

[source]
----
asadmin [asadmin-options] delete-http-health-checker [--help]
[--config config_name]
 target
----

[[sthref700]]

=== Description

The `delete-http-health-checker` subcommand deletes the health checker
from a load balancer configuration. A health checker is unique for the
combination of target and load balancer configuration.

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

[[sthref701]]

=== 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`::
  The load balancer configuration from which you delete the
  health-checker.

[[sthref702]]

=== Operands

target::
  Specifies the target from which you are deleting the health checker. +
  Valid values are:

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

[[sthref703]]

=== Examples

[[GSRFM547]][[sthref704]]

==== Example 1   Deleting a Health Checker from a Load Balancer Configuration

This example deletes the health checker for load balancer configuration
named `mycluster-http-lb-config` on a cluster named `mycluster`.

[source]
----
asadmin> delete-http-health-checker --user admin
--passwordfile password.txt --config mycluster-http-lb-config mycluster

Command delete-http-health-checker executed successfully.
----

[[sthref705]]

=== Exit Status

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

[[sthref706]]

=== See Also

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

link:create-http-health-checker.html#create-http-health-checker-1[`create-http-health-checker`(1)]


