type=page
status=published
title=delete-custom-resource
next=delete-domain.html
prev=delete-context-service.html
~~~~~~
delete-custom-resource
======================

[[delete-custom-resource-1]][[GSRFM00074]][[delete-custom-resource]]

delete-custom-resource
----------------------

removes a custom resource

[[sthref666]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] delete-custom-resource [--help] 
[--target target] jndi-name
----

[[sthref667]]

Description

The `delete-custom-resource` subcommand removes a custom resource.

This subcommand is supported in remote mode only.

[[sthref668]]

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`::
  This option helps specify the location of the custom resources that
  you are deleting. Valid targets are server, domain, cluster, and
  instance. The default is server. +

[width="100%",cols="100%",]
|=======================================================================
a|
Note:

Resources are always created for a domain as a whole but are only
active for targets for which a `<resource-ref>` has been created using
the `--target` option when the resource was created. This means that
deleting a resource only deletes the `<resource-ref>` element for the
specified `--target`, and does not delete the resource from the domain
as a whole unless `domain` is specified as the `--target` for the
deletion.

|=======================================================================

  `server`;;
    Deletes the resource for the default server instance. This is the
    default value.
  `domain`;;
    Deletes the resource for the domain.
  cluster_name;;
    Deletes the resource for every server instance in the cluster.
  instance_name;;
    Deletes the resource for a particular server instance.

[[sthref669]]

Operands

jndi-name::
  The JNDI name of this resource.

[[sthref670]]

Examples

[[GSRFM542]][[sthref671]]

Example 1   Deleting a Custom Resource

This example deletes a custom resource named `mycustomresource`.

[source,oac_no_warn]
----
asadmin> delete-custom-resource mycustomresource
Command delete-custom-resource executed successfully.
----

[[sthref672]]

Exit Status

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

[[sthref673]]

See Also

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

link:create-custom-resource.html#create-custom-resource-1[`create-custom-resource`(1)],
link:list-custom-resources.html#list-custom-resources-1[`list-custom-resources`(1)]


