type=page
status=published
title=list-transports
next=list-virtual-servers.html
prev=list-timers.html
~~~~~~
list-transports
===============

[[list-transports-1]][[GSRFM00206]][[list-transports]]

list-transports
---------------

lists the existing transports

[[sthref1842]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] list-transports [--help]
[target]
----

[[sthref1843]]

Description

The `list-transports` subcommand lists the existing transports. This
subcommand is supported in remote mode only.

[[sthref1844]]

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.

[[sthref1845]]

Operands

target::
  Restricts the listing to transports for a specified target. Valid
  values are as follows: +
  `server`;;
    Lists the transports for the default server instance. This is the
    default value.
  configuration-name;;
    Lists the transports for the specified configuration.
  cluster-name;;
    Lists the transports for all server instances in the specified
    cluster.
  instance-name;;
    Lists the transports for the specified server instance.

[[sthref1846]]

Examples

[[GSRFM716]][[sthref1847]]

Example 1   Listing Transports

The following command lists all the transports for the server instance:

[source,oac_no_warn]
----
asadmin> list-transports
http1-trans
tcp
Command list-transports executed successfully.
----

[[sthref1848]]

Exit Status

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

[[sthref1849]]

See Also

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

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


