Session Management APIs for Perl

The session management APIs are used to open the server connection, and to set and retrieve the server session parameters, such as transport type, authentication style.

This page contains information about the Session Management APIs for Perl, including the description and syntax, and the input, input types, input description, and input return values.

NaServer::set_style

Prototype

set_style($style)

Description

Sets the authentication mechanism to be used for communicating with the given server.

 

Input

Description

$style

The authentication style.

Following are the supported values:

  • HOSTS—to use the hosts.equiv file on the storage system to determine access rights.

  • LOGIN—to provide user name and password information. You can set the user name by using the API set_admin_user.

  • CERTIFICATE—to use certificates to authenticate clients who attempt to connect to a server, without using login credentials. This style automatically sets HTTPS as the transport mechanism. You can use this authentication mechanism for DataFabric Manager APIs for the OnCommand Package only.

To authenticate the server, server certificate verification and hostname verification is required.

For more information, see the APIs NaServer::set_client_cert_and_key(), NaServer::set_ca_certs(), NaServer::set_server_cert_verification(), and NaServer::set_hostname_verification(.

Return value

[top]

NaServer::get_style

Prototype

get_style()

Description

Retrieves the configured authentication style.

Return value

The authentication style.

Following are the supported values:

[top]

NaServer::set_port

Prototype

set_port($port)

Description

Sets the port number on which the API commands need to be invoked with the given server.

 

Input

Description

$port

The port number that is to be set.

Return value

None

[top]

NaServer::get_port

Prototype

get_port()

Description

Retrieves the port number used for invoking API commands.

Return value

The port number

[top]

NaServer::set_admin_user

Prototype

set_admin_user($user,$passwd)

Description

Sets the administrator user name and password for a server context.

This API is used if style=LOGIN.

 

Input

Description

$user

The user name.

$passwd

The password.

Return value

None

[top]

NaServer::set_server_type

Prototype

set_server_type($type)

Description

Sets the type of system you are connecting to.

 

Input

Description

$type

The server-type to be set.

Following are the supported values:

  • FILERto connect to a NetApp storage system.

  • DFMto connect to a DataFabric Manager server.

The default server type is FILER.

Return value

[top]

NaServer::get_server_type

Prototype

get_server_type()

Description

Retrieves the value of the server-type.

Return Value

The type of the given server.

Following are the possible return values:

[top]

NaServer::set_transport_type

Prototype

set_transport_type($type)

Description

Set the connection transport type.

 

Input

Description

$type

The connection transport type.

Following are the supported values:

  • HTTP

  • HTTPS

Return value

[top]

NaServer::get_transport_type

Prototype

get_transport_type()

Description

Retrieves the connection transport type.

Return value

The connection transport type

Following are the supported values:

[top]

NaServer::set_debug_style

Prototype

set_debug_style($debug_style)

Description

Sets the debug style for the given server context.

 

Input

Description

$debug_style

The debug style that is to be set.

It takes the value NA_PRINT_DONT_PARSE. If set to NA_PRINT_DONT_PARSE, then the raw XML input and output of the API are printed.

Return value

[top]

NaServer::set_vfiler

Prototype

set_vfiler($vfiler)

Description

Sets the name of the vFiler unit on which the Data ONTAP API commands need to be invoked.

After you set the command, all the API commands are executed on the vFiler unit through the actual storage system.

This API supports the vFiler tunneling feature.

Input

Description

$vfiler

The name of the vFiler unit that is to be set.

Return value

[top]

NaServer::set_vserver

Prototype

NaServer::set_vserver($srv, $vsrv)

Description

Sets the name of the Vserver to which a Cluster API need to be tunneled from a Cluster Management Interface.

Input

Description

$srv

The pointer to the server context.

$vsrv

The name of the Vserver that is to be set.

 

Return value

[top]

NaServer::get_vserver

Prototype

NaServer::get_vserver()

Description

Gets the name of the Vserver to which a Cluster API need to be tunneled from a Cluster Management Interface.

Return value

Name of the Vserver

[top]

NaServer::use_https

Prototype

use_https()

Description

Determines whether HTTPS is enabled.

Return value

[top]

NaServer::invoke

Prototype

invoke($api, [$argname, $argval] ...)

Description

Invokes any API on the given server.

This function takes the API name as the first argument. If the API has any input element, type it as input argument name-value pairs. This function takes only an odd number of arguments.

All the input elements are assembled and sent to the server.

 

Input

Description

$api

The name of the API to be invoked.

$argname

The input element name.

$argval

The input element value.

Return value

The NaElement object

[top]

NaServer::invoke_elem

Prototype

invoke_elem($elt)

Description

 

Input

Description

elt

An object of NaElement.

Return value

The NaElement object

[top]

NaServer::set_timeout

Prototype

set_timeout($timeout)

Description

Sets the connection timeout value, in seconds, for the given server context.

 

Input

Description

$timeout

The timeout value that is to be set.

Return value

None

[top]

NaServer::get_timeout

Prototype

get_timeout()

Description

Retrieves the connection timeout value for the given server context.

Return value

The connection timeout value in seconds

[top]

NaServer::set_client_cert_and_key

Prototype

set_client_cert_and_key ($cert, $key, $passwd)

Description

Sets the client's certificate and private key files that are required during the Secure Sockets Layer (SSL) session.

 

Input

Description

$cert

The name of the file in Privacy Enhanced Mail (PEM) format that contains the client certificate.

To set intermediate certificates and root certificate, you can use the NaServer::set_ca_certs() API.

$key

The name of the file in PEM format that contains the private key. If key=NULL, the certificate file is used in place of the key.

$passwd

The password to access the private key file. The value is undef if the private key file is not password-protected.

Return value

[top]

NaServer::set_server_cert_verification

Prototype

NaServer::set_server_cert_verification($enable)

Description

Enables or disables the server certificate verification by the client.

When the authentication style is set to CERTIFICATE, server certificate verification is enabled by default. Otherwise, you have to set the transport type to HTTPS, and then provide the trusted CA certificates by using the NaServer::set_ca_certs() API to verify the server certificate.

Hostname verification is enabled by default during server certificate verification.

 

Input

Description

enable

The status of the server certificate validation.

Following are the supported values:

  • 1 if the server certificate verification is to be enabled.

  • 0 if the server certificate verification is to be disabled.

Return value

[top]

NaServer::is_server_cert_verification_enabled

Prototype

NaServer::is_server_cert_verification_enabled()

Description

Determines whether server certificate verification is enabled.

Return value

[top]

NaServer::set_ca_certs

Prototype

set_ca_certs($CAfile)

Description

Sets the location of trusted certificates that is used for server certificate verification during SSL session.

You can use the APIs NaServer::set_ca_certs() and NaServer::set_client_cert_and_key()to build the client certificate chain that is sent to the server.

 

Input

Description

$CAfile

The name of the file that contains the certificate of the trusted Certificate Authorities in PEM format.

Return value

[top]

NaServer::set_hostname_verification

Prototype

NaServer::set_hostname_verification($enable)

Description

Enables or disables hostname verification during server certificate verification.

 

Input

Description

$enable

The status of the hostname certificate validation

  • TRUE if the hostname verification is to be enabled.

  • FALSE if the hostname verification is to be disabled.

Return value

[top]

NaServer::is_hostname_verification_enabled

Prototype

NaServer::is_hostname_verification_enabled()

Description

Determines whether hostname verification is enabled.

Return value

[top]