type=page
status=published
title=delete-audit-module
next=delete-auth-realm.html
prev=delete-application-ref.html
~~~~~~

= delete-audit-module

[[delete-audit-module-1]][[GSRFM00065]][[delete-audit-module]]

== delete-audit-module

Removes the named audit-module

[[sthref593]]

=== Synopsis

[source]
----
asadmin [asadmin-options] delete-audit-module [--help]
[--target target]
audit_module_name
----

[[sthref594]]

=== Description

This subcommand removes the named audit module. This subcommand is
supported in remote mode only.

[[sthref595]]

=== 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.
`--target`::
  Specifies the target on which you are deleting the audit module. Valid
  values are as follows:

  `server`;;
    Deletes the audit module for the default server instance `server`
    and is the default value.
  configuration_name;;
    Deletes the audit module for the named configuration.
  cluster_name;;
    Deletes the audit module for every server instance in the cluster.
  instance_name;;
    Deletes the audit module for a particular server instance.

[[sthref596]]

=== Operands

audit_module_name::
  The name of the audit module to be deleted.

[[sthref597]]

=== Examples

[[GSRFM532]][[sthref598]]

==== Example 1   Deleting an audit module

[source]
----
asadmin> delete-audit-module sampleAuditModule
Command delete-audit-module executed successfully
----

[[sthref599]]

=== Exit Status

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

[[sthref600]]

=== See Also

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

link:create-audit-module.html#create-audit-module-1[`create-audit-module`(1)],
link:list-audit-modules.html#list-audit-modules-1[`list-audit-modules`(1)]


