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)]


