type=page
status=published
title=delete-protocol-filter
next=delete-protocol-finder.html
prev=delete-protocol.html
~~~~~~

delete-protocol-filter
======================

[[delete-protocol-filter-1]][[GSRFM00104]][[delete-protocol-filter]]

delete-protocol-filter
----------------------

Removes a protocol filter

[[sthref945]]

=== Synopsis

[source]
----
asadmin [asadmin-options] delete-protocol-filter [--help]
--protocol protocol-name
[--target server]
protocol-filter-name
----

[[sthref946]]

=== Description

The `delete-protocol-filter` subcommand removes the specified protocol
filter. This subcommand is supported in remote mode only.

[[sthref947]]

=== 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.
`--protocol-name`::
  The name of the associated protocol.
`--target`::
  Deletes the protocol filter only from the specified target. Valid
  values are as follows:

  `server`;;
    Deletes the protocol filter from the default server instance. This
    is the default value.
  configuration-name;;
    Deletes the protocol filter from the specified configuration.
  cluster-name;;
    Deletes the protocol filter from all server instances in the
    specified cluster.
  standalone-instance-name;;
    Deletes the protocol filter from the specified standalone server
    instance.

[[sthref948]]

=== Operands

protocol-filter-name::
  The name of the protocol filter to be deleted.

[[sthref949]]

=== Examples

[[GSRFM575]][[sthref950]]

==== Example 1   Deleting a Protocol Filter

The following command deletes the protocol filter named `http1-filter`:

[source]
----
asadmin> delete-protocol-filter --protocol http1 http1-filter
Command delete-protocol-filter executed successfully.
----

[[sthref951]]

=== Exit Status

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

[[sthref952]]

=== See Also

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

link:create-protocol-filter.html#create-protocol-filter-1[`create-protocol-filter`(1)],
link:list-protocol-filters.html#list-protocol-filters-1[`list-protocol-filters`(1)]


