APIs in Category: dfm
API version 3.7.1

 
dfm-about
dfm-get-resource-property-values
dfm-object-refresh
dfm-objects-get-status
dfm-related-objects-list-info
dfm-server-list-diagnostic-info
dfm-user-priv-get

NetApp Manage ONTAP
 
dfm-about [top]

Retrieve information currently provided by the 'dfm about' command.
Input Name Range Type Description
include-directory-size-info boolean
optional
If true, then size and file count information of the DFM directories is returned. Default value is false i.e. only names of the DFM directories are returned.
 
Output Name Range Type Description
cpu-count string
CPU count.
dfm-directories directory-info[]
host-name string
Host name.
install-dir string
Installation directory.
installed-plugins plugin[]
licensed-features feature[]
node-limit string
Node limit.
operating-system string
Operating system.
serial-number string
serial number of this product.
system-memory string
System memory.
system-time integer
System time in seconds since 00:00:00 Jan 1, 1970, UTC.
version string
A string that adheres to the following regular expression: [1-9][0-9]+\.[1-9][0-9]+.* The first number is the DFM major version. The second number is the DFM minor version. DFM APIs don't change if the major.minor doesn't change. Example: 3.5.0.4726
 Errno  Description
 EAPIPRIVILEDGE

 
dfm-get-resource-property-values [top]
Gets the list of resource properties and the values that can be set as filters for thresholds. The list of resource properties are pre-defined, but the values are obtained from the current set of values in the database
Input Name Range Type Description
resource-property string
optional
Specifies the property for which the values are to be returned If not present, then resource values for all properties are returned Maximum length of 255 characters
 
Output Name Range Type Description
resource-property-values resource-property-values[]
The values for the resource properties
 Errno  Description
 EINTERNALERROR
 EAPIERROR
 EACCESSDENIED
 EDATABASEERROR

 
dfm-object-refresh [top]
Request monitors be scheduled to run to refresh the information of the object specified. The monitors to be scheduled to run can be specified implicitly using child-type or explicitly by providing monitor-names. If both child-type and monitor-names are specified, it will be treated as an error.
Input Name Range Type Description
child-type string
optional
If specified, schedule only those monitors affecting the specified type. Otherwise, all monitors affecting the object-name-or-id will be scheduled. Valid only if object-name-or-id points to a Storage System or a vFiler unit. Possible values: "aggregate", "volume", "qtree" and "lun_path".
monitor-names monitor-name[]
optional
Specifies one or more monitors to be scheduled to run. If this input is not provided, all monitors will be scheduled. Valid only if object-name-or-id points to a Host Agent, Storage System, vFiler unit, OSSV Host or a NetCache.
object-name-or-id obj-name-or-id
The name or id of the object to be refreshed. Should be name or id of a Host Agent, Storage System, vFiler unit, OSSV Host, Aggregate, Volume, Qtree, LUN or a NetCache. If child-type is specified, this should be name or id of a Storage System or a vFiler unit. If monitor-names are specified, this should be name or id of a Host Agent, Storage System, vFiler unit, OSSV Host or a NetCache.
 Errno  Description
 EOBJECTNOTFOUND
 EOBJECTAMBIGUOUS
 EINVALIDINPUT
 EACCESSDENIED
 EDATABASEERROR
 EINTERNALERROR

 
dfm-objects-get-status [top]
Get status for DFM objects This api always returns true. It returns the status for all the objects that are passed in. A object-name-or-id of "0" indicates the "global group" Privelege required is read
Input Name Range Type Description
objects obj-name-or-id[]
The objects for which status is to be retrieved
 
Output Name Range Type Description
objects-status obj-status-info[]
Status of the passed in input objects.
 Errno  Description
 EAPIPRIVILEDGE
 EAPINOTLICENSED
 EOBJECTNOTFOUND
 EACCESSDENIED
 EOBJECTAMBIGUOUS
 EDATABASEERROR
 EINVALIDINPUT
 EAPIERROR

 
dfm-related-objects-list-info [top]
Retrieve information about objects related to a DFM object. This api takes an object as input and returns the information about parent objects of that object, resource groups, data sets and resource pools the object belongs to and objects that belong to the specified object. Privilege required is DFM.Database.Read on the specified object. Parent output objects are returned only if the authenticated user has DFM.Database.Read privilege on that parent object. For e.g. group to which an object belongs is returned only if the authenticated user has DFM.Database.Read privilege on that group.
Input Name Range Type Description
include-indirect boolean
optional
If true, resource groups, data sets and resource pools in which the input object is an indirect member will also be returned. Default value is false, i.e only direct memberships are returned.
object-name-or-id obj-name-or-id
Name or identifier of an object to list related objects for. The allowed object types for this argument are:
  • Host
  • Aggregate
  • Volume
  • Qtree
  • Lun
 
Output Name Range Type Description
child-count-list child-count[]
optional
Count of children for the specified object. Present in the output if the object has at least one child.
parent-dataset-list parent-dataset[]
optional
Data Sets the specified object belongs to. Present in the output if the object belongs to at least one data set.
parent-group-list parent-group[]
optional
Resource groups the specified object belongs to. Present in the output if the object belongs to at least one group.
parent-object-list parent-object[]
optional
Parents of the specified object. Present in the output if there is at least one parent object.
parent-resourcepool-list parent-resourcepool[]
optional
Resource Pools the specified object belongs to. Present in the output if the object belongs to at least one resource pool.
 Errno  Description
 EAPIPRIVILEDGE
 EOBJECTNOTFOUND
 EINTERNALERROR
 EAPIERROR
 EACCESSDENIED
 EDATABASEERROR

 
dfm-server-list-diagnostic-info [top]
Retrieve server diagnostic information
Output Name Range Type Description
diag-info dfm-diag-counter-group[]
Diagnostic information collected from the dfm server.
 Errno  Description
 EAPIPRIVILEDGE

 
dfm-user-priv-get [top]
Retrieve current user's global privilege. This api is no longer the preferred way to getting user privileges. Use rbac-access-check.
Output Name Range Type Description
privilege string
User's privilege(s), comma separated if there are multiple. Possible privileges are: FULL, DELETE, WRITE, READ, DISTRIBUTION, BACKUP, RESTORE, SAN, SRM, MIRROR.
 Errno  Description
 ENAMENOTFOUND

 
Element definition: child-count [top]
Count of children of one type for the specified object. An element of this type is returned if count is 1 or more.
Name Range Type Description
count integer
Number of children of this type.

Range: [1..2^31-1]

type string
Object type of the child object. Valid values are: 'vfiler', 'aggregate' 'volume', 'qtree', 'lun' and 'disk'.

 
Element definition: dfm-diag-counter-group [top]
Descriptive diagnostic information about a counter group.
Name Range Type Description
group-name string
The name of the counter group.
histogram string
Comma delimited list of counter values.
host-name string
The name of the monitored host.
last-updated integer
Timestamp of the last time this counter group was monitored (seconds since 1/1/1970).

 
Element definition: directory-info [top]
Lists the information about DFM directories. These directories include Performance Advisor data directory, Database Backup directory, Data Export directory and Reports Archival directory.
Name Range Type Description
file-count integer
optional
Number of files in the directory. This field is returned only for Performance Data directory. Range:[0..(2^(32-1))-1] This field is not returned if the file count of the directory is unknown.
name string
Name of the directory. For example, "opt/NTAPdfm/perfdata".
size integer
optional
Size of the directory in bytes. Range:[0..(2^(64-1))-1] This field is not returned if the size is unknown.
type string
Type of the DFM directory. Possible values: "performance_data", "database_backup", "reports_archive" and "data_export".

 
Element definition: feature [top]
Installed plugins.
Name Range Type Description
name string
name of the feature
summary string
information about the feature

 
Element definition: monitor-name [top]
Specifies name of a monitor to be scheduled to run. Possible values are as follows:
  • "agent" - refreshes agent information
  • "cache" - refreshes net cache information
  • "cluster_failover" - refreshes cluster fail over information
  • "config_conformance" - checks a storage system's configuration for conformance
  • "connectivity" - checks connectivity of a given Host
  • "cpu" - refreshes cpu related information
  • "disk_free_space" - refreshes disk free space of a Host
  • "disk_status" - refreshes disk status of a Host
  • "env" - refreshes environmentals of a Host
  • "fibre_channel" - refreshes fibre channel information
  • "file_system" - refreshes file system information of Host
  • "interface_status" - refreshes network related information of a Host
  • "license" - collects license information from Hosts
  • "lun" - collects lun information from Host
  • "ndmp" - refreshes ndmp ping timestamp
  • "ndmp_credentials" - refreshes ndmp credentials timestamp
  • "ops" - refreshes file system operation count of a Host
  • "ping" - refreshes ping status of a Host
  • "qtree" - refreshes qtree data using snmp
  • "qtree_xml" - refreshes qtree data using zapi
  • "san" - refresh SAN information of a Host Agent
  • "share" - refreshes shares information of a Host
  • "snapmirror" - refreshes snap mirror information
  • "snapshot" - refreshes snap shot information
  • "snapvault" - refreshes snap vault information
  • "snapvault_dir" - refreshes directories on OSSV Hosts; monitor applicable only for OSSV Hosts
  • "srm" - refresh SRM information of a Host Agent
  • "status" - refreshes global status of a Host
  • "sysinfo" - refreshes system information of a Host
  • "userquota" - refreshes user quota information of a host
  • "vfiler" - refreshes vfiler information of a hosting storage system
[none]

 
Element definition: obj-name-or-id [top]
Name or internal ID of a DFM object. This typedef is an alias for the builtin ZAPI type string. An obj-name-or-id must contain between 1 and 64 characters, and must conform to one of the following formats:
  • It must have the format of an obj-name, or
  • It must be the decimal numeric string form of a positive integer whose value is in the range [1..2^31 - 1].
Elements of type obj-name-or-id are used only as inputs to ZAPIs. The value must match either the name or internal ID of an existing DFM object. The ZAPI must specify the object's DFM object type (e.g. data set, host, DP policy, etc.). Some ZAPIs allow the object to be one of several different types.

If the format of an obj-name-or-id input element does not conform, or the value does not match the name or ID of an existing object, then generally the ZAPI documents that it fails with error code EOBJECTNOTFOUND. A ZAPI may return more specific error codes. In such cases, the ZAPI specification must document its behavior.

If a ZAPI can accept a null value (e.g. reference to no object at all) for such an element, then the element is declared optional, and the absence of the input element represents a null value.

[none]

 
Element definition: obj-status-info [top]
Status of the dfm object
Name Range Type Description
object-name-or-id obj-name-or-id
Identifier of the dfm object. This corresponds to an entry in the input "objects" array.
object-perf-status obj-status
Status for the object based on performance events If the object is not present or is ambiguous, the status is set to "Unknown"
object-status obj-status
Status for the object based on all events If the object is not present or is ambiguous, the status is set to "Unknown"

 
Element definition: parent-dataset [top]
Information about one data set. A parent data set is returned if the authenticated user has DFM.Database.Read privilege on the data set.
Name Range Type Description
id obj-id
Identifier of the data set
name obj-name
Name of the data set

 
Element definition: parent-group [top]
Information about one resource group. A parent group is returned if the user has DFM.Database.Read privilege on the group.
Name Range Type Description
full-name obj-full-name
Full name of the group
id obj-id
Identifier of the group
name obj-name
Name of the group

 
Element definition: parent-object [top]
Information about one parent object. A parent object is returned if the authenticated user has DFM.Database.Read privilege on that object.
Name Range Type Description
full-name obj-full-name
Full name of the parent
id obj-id
Identifier of the parent
name obj-name
Name of the parent
type string
Object type of the parent object. Valid values are: 'filer', 'vfiler', 'aggregate' 'volume' and 'qtree'.

 
Element definition: parent-resourcepool [top]
Information about one resource pool. A parent resource pool is returned if the authenticated user has DFM.Database.Read privilege on that resource pool.
Name Range Type Description
id obj-id
Identifier of the resource pool
name obj-name
Name of the resource pool

 
Element definition: plugin [top]
Installed plugins.
Name Range Type Description
plugin-type string
optional
type of the plugin. The possible types are, 'filer-config' for storage system plugins, 'netcache-config' for NetCache plugins and 'unknown' for unknown type plugins.
product-version string
product and version of the product
special-build string
information about the build of the plugin used

 
Element definition: resource-property-values [top]
Provides information on resource properties and the possible values
Name Range Type Description
resource-property string
The resource property name
values string
A comma seperated list of possible values for the resource properties Maximum length of 2048 characters

 
Element definition: obj-full-name [top]
Full name of a DFM object. This typedef is an alias for the builtin ZAPI type string. An object full name conforms to all the rules of an obj-name, except that the full name may be up to 255 characters long.

DFM creates full names by concatenating an object name with any parent object names, so as to create a unique name for an object. The format of full names is as follows:

  • Host full names are the either the fully-qualified domain name or the IP address in dotted-decimal format of the host.
  • Aggregate full names are the host name and the aggregate name, separated by a colon, e.g. hostname:aggr0.
  • Volume full names are the host name and the volume name, separated by ":/", e.g. hostname:/volume. Note this does not include "/vol". Volume and aggregate full names are distinguished by the presence of a forward slash after the colon.
  • Qtree full names are the containing volume full name and the qtree name, separated by a slash, e.g. hostname:/volume/qtree. The data not contained by any qtree may be represented by "-", e.g. hostname:/volume/-.
  • Lun Path full names are either a volume or qtree full name and the LUN path, separated by a slash, e.g. hostname:/volume/LUN or hostname:/volume/qtree/LUN.
  • Network full names are a network address block in CIDR format, e.g. 1.2.3.0/8.
  • OSSV Directory full names are the OSSV host name and the OSSV path, separated by a colon, e.g. host-lnx:/usr/local or host-w2k:c:/temp
  • Include any others here...
  • Initiator Group full names are host name and the initiator group name, separated by a colon, e.g. hostname:igroup.

For any DFM object not listed above, the obj-name and obj-full-name are identical.

[none]

 
Element definition: obj-id [top]
Identification number (ID) for a DFM object. This typedef is an alias for the builtin ZAPI type integer. Object IDs are unsigned integers in the range [1..2^31 - 1]. In some contexts, an object ID is also allowed to be 0, which is interpreted as a null value, e.g., a reference to no object at all.

The ID for a DFM object is always assigned by the system; the user is never allowed to assign an ID to an object. Therefore, an input element of type obj-id is always used to refer to an existing object by its ID. The ZAPI must specify the object's DFM object type (e.g. data set, host, DP policy, etc.). Some ZAPIs allow the object to be one of several different types.

If the value of an obj-id input element does not match the ID of any existing DFM object of the specified type or types, then typically the ZAPI fails with error code EOBJECTNOTFOUND. A ZAPI may deviate from this general rule, for example, it may return a more specific error code. In either case, the ZAPI specification must document its behavior.

[none]

 
Element definition: obj-name [top]
Name of a DFM object. This typedef is an alias for the builtin ZAPI type string. An object name must conform to the following format:
  • It must contain between 1 and 64 characters.
  • It may start with any character and may contain any combination of characters, except that it may not consist solely of decimal digits ('0' through '9').
  • In some contexts, a name may be the empty string (""), which is interpreted as a null value, e.g., a reference to no object at all.
The behavior of a ZAPI when it encounters an error involving an obj-name input element depends on how the ZAPI uses the input element. Here are the general rules:
  • If the input name element is used to create a new object with the given name, or rename an existing object to that name, and the name does not conform to the above format, then the ZAPI fails with error code EINVALIDINPUTERROR. Note that because EINVALIDINPUTERROR is such a common error code, ZAPI specifications are not required to document cases when they may return it.
  • If the input name element is used to refer to an existing object with that name, and there is no object with that name, then the ZAPI fails with error code EOBJECTNOTFOUND. Generally the ZAPI specification documents cases when it may return this error code.
A ZAPI may deviate from these general rules, for example, it may return more specific error codes. In such cases, the ZAPI specification must document its behavior.

If an input name element is used to refer to an existing object, then the ZAPI specification must specify which DFM object type (e.g. data set, host, DP policy, etc.) is allowed. Some ZAPIs allow the object to be one of several different types. See the description of obj-full-name for examples of valid input formats.

Note that there is no requirement that all object names must be unique. However, the names for some specific types of objects are constrained such that no two objects of that type may have the same name. For example, this constraint applies to data sets, DP schedules, and DP policies. This means that no two data sets may have the same name, but a data set may have the same name as a DP schedule or DP policy.

In general, object names are compared in a case-insensitive manner. This means that, for example, "MyObject" and "MYOBJECT" are considered to be the same name for purposes of: creating new objects, renaming existing objects, or looking up an object by name. On the other hand, ZAPIs that return an obj-name generally do not change the capitalization at all. For example, if an object's name has been set to "MyObject", then list iteration ZAPIs that return the object's name return it as "MyObject" rather than "MYOBJECT" or "myobject".

ZAPIs that operate on obj-name values and do not follow these general rules about case sensitivity must document the rules that they do follow.

One important exception to these general rules is that volumes, qtrees, OSSV directories, SRM paths, interfaces, FCP targets and FC switch ports all have case-sensitive names. When looking up objects of these types by name, the case must match the object name.

[none]

 
Element definition: obj-name-or-id [top]
Name or internal ID of a DFM object. This typedef is an alias for the builtin ZAPI type string. An obj-name-or-id must contain between 1 and 64 characters, and must conform to one of the following formats:
  • It must have the format of an obj-name, or
  • It must be the decimal numeric string form of a positive integer whose value is in the range [1..2^31 - 1].
Elements of type obj-name-or-id are used only as inputs to ZAPIs. The value must match either the name or internal ID of an existing DFM object. The ZAPI must specify the object's DFM object type (e.g. data set, host, DP policy, etc.). Some ZAPIs allow the object to be one of several different types.

If the format of an obj-name-or-id input element does not conform, or the value does not match the name or ID of an existing object, then generally the ZAPI documents that it fails with error code EOBJECTNOTFOUND. A ZAPI may return more specific error codes. In such cases, the ZAPI specification must document its behavior.

If a ZAPI can accept a null value (e.g. reference to no object at all) for such an element, then the element is declared optional, and the absence of the input element represents a null value.

[none]

 
Element definition: obj-status [top]
A status value which can be associated with a DFM object. This typedef is an alias for the builtin ZAPI type string. The severity associated with an event has this type.

Possible values are: 'unknown', 'normal', 'information', 'unmanaged' 'warning', 'error', 'critical', 'emergency'.

  • unknown: An object has an unknown status when it transitions from one state to another. Ideally, an object will have this status briefly. For example, when an object has been added, but not yet discovered.
  • normal: An object has normal status when it is working within the thresholds specified in DFM.
  • information: The information events are normal occurrences on an object for which you can define alarms.
  • unmanaged: An object is considered to be unmanaged when the login and password are not set for the appliance or agent.
  • warning: An object has the warning status when an event related to the object occurred that an administrator should know about. The event will not cause service disruption.
  • error: An object has error status when it does not cause any service disruption, but it may affect performance.
  • critical: An object has critical status when it is still performing, but service disruption may occur if corrective action is not taken immediately.
  • emergency: An object is in emergency status when it stops performing unexpectedly and could lose data.
In some contexts, it is important that severities are ordered (as above). For example, an alarm might be triggered if an event with a given severity "or worse" occurs. In this example, worse means "after" in the list above.
[none]