type=page
status=published
title=delete-transport
next=delete-virtual-server.html
prev=delete-threadpool.html
~~~~~~

delete-transport
================

[[delete-transport-1]][[GSRFM00112]][[delete-transport]]

delete-transport
----------------

Removes a transport

[[sthref999]]

=== Synopsis

[source]
----
asadmin [asadmin-options] delete-transport [--help]
[--target target]
transport-name
----

[[sthref1000]]

=== Description

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

[[sthref1001]]

=== 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`::
  Deletes the transport only from the specified target. Valid values are
  as follows:

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

[[sthref1002]]

=== Operands

transport-name::
  The name of the transport to be deleted.

[[sthref1003]]

=== Examples

[[GSRFM582]][[sthref1004]]

==== Example 1   Deleting a Transport

The following command deletes the transport named `http1-trans`:

[source]
----
asadmin> delete-transport http1-trans
Command delete-transport executed successfully.
----

[[sthref1005]]

=== Exit Status

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

[[sthref1006]]

=== See Also

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

link:create-transport.html#create-transport-1[`create-transport`(1)],
link:list-transports.html#list-transports-1[`list-transports`(1)]


