type=page
status=published
title=create-protocol
next=create-protocol-filter.html
prev=create-profiler.html
~~~~~~
create-protocol
===============

[[create-protocol-1]][[GSRFM00051]][[create-protocol]]

create-protocol
---------------

adds a new protocol

[[sthref489]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] create-protocol [--help]
[--securityenabled={false|true}]
[--target target]
protocol-name
----

[[sthref490]]

Description

The `create-protocol` subcommand creates a protocol. This subcommand is
supported in remote mode only.

[[sthref491]]

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.
`--securityenabled`::
  If set to `true`, the protocol runs SSL. You can turn SSL2 or SSL3 ON
  or OFF and set ciphers using an `ssl` element. The security setting
  globally enables or disables SSL by making certificates available to
  the server instance. The default value is `false`.
`--target`::
  Creates the protocol only on the specified target. Valid values are as
  follows: +
  `server`;;
    Creates the protocol on the default server instance. This is the
    default value.
  configuration-name;;
    Creates the protocol in the specified configuration.
  cluster-name;;
    Creates the protocol on all server instances in the specified
    cluster.
  standalone-instance-name;;
    Creates the protocol on the specified standalone server instance.

[[sthref492]]

Operands

protocol-name::
  The name of the protocol.

[[sthref493]]

Examples

[[GSRFM517]][[sthref494]]

Example 1   Creating a Protocol

The following command creates a protocol named `http-1` with security
enabled:

[source,oac_no_warn]
----
asadmin> create-protocol --securityenabled=true http-1
Command create-protocol executed successfully.
----

[[sthref495]]

Exit Status

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

[[sthref496]]

See Also

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

link:delete-protocol.html#delete-protocol-1[`delete-protocol`(1)],
link:list-protocols.html#list-protocols-1[`list-protocols`(1)],
link:create-network-listener.html#create-network-listener-1[`create-network-listener`(1)]


