Session Management APIs for Python

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

This page contains information about the Session Management APIs for Python, 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 clustered Data ONTAP 8.2 and OnCommand Unified Manager 5.0.2, 5.1, and 5.2.

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

None on failure

[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 on which the API commands need to be invoked for the given server context.

 

Following is the default port on the storage system for Data ONTAP API communication:

HTTP=80

HTTPS=443

 

Following is the default port on the server for OnCommand Unified Manager Core Package 5.2 or earlier for API communication:

HTTP=8080

HTTPS=8488

 

Following is the only supported and default port on the server for OnCommand Unified Manager 6.0 or later for API communication:

HTTPS=443

 

You must invoke this API to set the port, if Data ONTAP or OnCommand Unified Manager does not have the default port settings.

 

Input

Description

port

The port number that is to be set

Return value

void

[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

void

[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:

  • FILER—to connect to a NetApp storage system.

  • DFM—to connect to an OnCommand Unified Manager 5.2 or earlier server.

  • OCUM-to connect to an OnCommand Unified Manager 6.0 or later 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

 The default transport type is HTTP. For secure transport, use HTTPS as the transport type.

       For server type OCUM, only HTTPS is supported and is set as default.

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

set_vserver(vsrv)

Description

Sets the name of the Storage Virtual Machine (SVM, formerly known as Vserver) to which a Cluster API need to be tunneled from a Cluster Management Interface.

 

Input

Description

vsrv

The name of the SVM that is to be set

 

Return value

[top]

NaServer.get_vserver

Prototype

get_vserver()

Description

Gets the name of the Storage Virtual Machine (SVM, formerly known as Vserver) to which a Cluster API need to be tunneled from a Cluster Management Interface.

Return value

Name of the SVM

[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

void

[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)

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 certificate

key

The name of the file in PEM format that contains the private key

The key should not be password protected.

Return value

void

[top]

NaServer.set_server_cert_verification

Prototype

set_server_cert_verification(enable)

Description

EEnables 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:

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

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

Return value

None

[top]

NaServer.set_ca_certs

Prototype

set_ca_certs(CAfile)

Description

Specifies the certificates that belong to the trusted Certificate Authorities, and the certificates that are used to verify the remote server certificate.

 

Input

Description

CAfile

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

The file can contain several certificates from the trusted Certificate Authorities.

Return value

void

[top]

NaServer.is_server_cert_verification_enabled

Prototype

is_server_cert_verification_enabled()

Description

Determines whether server certificate verification is enabled or not.

Return value

 [top]

NaServer.set_hostname_verification

Prototype

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

None

 [top]

NaServer.is_hostname_verification_enabled

Prototype

is_hostname_verification_enabled()

Description

Determines whether hostname verification is enabled.

Return value

NaServer.set_application_name

Prototype

set_application_name(app_name)

Description

Sets the name of the client application that initiates an operation using Data ONTAP APIs, and requires a response from the Data ONTAP server.

The name of the client application helps you track the actions performed by the application on the server. This information is logged in the server audit log file.

 

Input

Description

app_name

The name of the client application that is to be set

Return value

None

 

NaServer.get_application_name

Prototype

get_application_name()

Description

Gets the name of the client application.

Return value