type=page
status=published
title=delete-module-config
next=delete-network-listener.html
prev=delete-message-security-provider.html
~~~~~~
delete-module-config
====================

[[delete-module-config-1]][[GSRFM854]][[delete-module-config]]

delete-module-config
--------------------

removes the configuration of a module from `domain.xml`

[[sthref882]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] delete-module-config [--help]
[--target target]
service_name
----

[[sthref883]]

Description

The `delete-module-config` subcommand removes the configuration of a
module from `domain.xml` and causes the module to use the default
configuration included in the module.

This subcommand is supported in remote mode only.

[[sthref884]]

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 from which the configuration is to be deleted. +
  Possible values are as follows: +
  `server`;;
    Deletes the configuration from the default server instance. This is
    the default value.
  `domain`;;
    Deletes the configuration from the default domain.
  cluster-name;;
    Deletes the configuration from every server instance in the
    specified cluster.
  instance-name;;
    Deletes the configuration from the specified instance.

[[sthref885]]

Operands

service_name::
  The name of the module for which configuration is to be removed.

[[sthref886]]

Examples

[[GSRFM855]][[sthref887]]

Example 1   Deleting a Default Configuration From domain.xml

This example deletes the configuration of the web container module from
`domain1` in `server-config` (the default configuration).

[source,oac_no_warn]
----
asadmin> delete-module-config web-container
Command delete-module-config executed successfully.
----

[[sthref888]]

Exit Status

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

[[sthref889]]

See Also

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

link:create-module-config.html#create-module-config-1[`create-module-config`(1)],
link:get-active-module-config.html#get-active-module-config-1[`get-active-module-config`(1)]


