APIs in Category: disk
API version 4.0

 
disk-list-info-iter-end
disk-list-info-iter-next
disk-list-info-iter-start
DFM tracks all the disks it discovers on storage systems it is monitoring. These APIs give the user access to the information DFM has collected about disks.

NetApp Manage ONTAP
 
disk-list-info-iter-end [top]

The disk-list-info-iter-* set of APIs are used to retrieve the list of disks. disk-list-info-iter-end is used to tell the DFM station that the temporary store used by DFM to support the disk-list-info-iter-next API for the particular tag is no longer necessary.
Input Name Range Type Description
tag string
An internal opaque handle used by the DFM station
 Errno  Description
 EINVALIDTAG

 
disk-list-info-iter-next [top]
For more documentation please check disk-list-info-iter-start. The disk-list-info-iter-next API is used to iterate over the members of the disks stored in the temporary store created by the disk-list-info-iter-start API.
Input Name Range Type Description
maximum integer
The maximum number of entries to retrieve. Range: [1..2^31-1]
tag string
Tag from a previous disk-list-info-iter-start. It's an opaque handle used by the DFM station to identify the temporary store created by disk-list-info-iter-start.
 
Output Name Range Type Description
disks disk-info[]
List of disks.
records integer
The number of records actually returned. Range: [1..2^31-1]
 Errno  Description
 EINVALIDINPUTERROR
 EINVALIDTAG

 
disk-list-info-iter-start [top]
The disk-list-info-iter-* set of APIs are used to retrieve the list of disks in DFM. disk-list-info-iter-start returns the disk belonging to objects specified. It loads the list of disks into a temporary store. The API returns a tag that identifies that temporary store so that subsequent APIs can be used to iterate over the disks in the temporary store. If disk-list-info-iter-start is invoked twice, then two distinct temporary stores are created.
Input Name Range Type Description
object-management-filter object-management-interface
optional
Filter the object based on the Data ONTAP interface that provides complete management for the object i.e. ONTAP CLIs, SNMP, ONTAPI etc. If no filter is supplied, all objects will be considered.
object-name-or-id obj-name-or-id
optional
Name or identifier of an object to list disks for. The allowed object types for this argument are:
  • Resource Group
  • Host
  • Aggregate
Disks are not objects in DFM. So, a single disk cannot be listed. If object-name-or-id is specified, all disks that belong to the object specified will be listed. If no object-name-or-id is provided, all disks will be listed.
 
Output Name Range Type Description
records integer
Number which tells you how many items have been saved for future retrieval with disk-list-info-iter-next. Range: [1..2^31-1]
tag string
Tag to be used in subsequent calls to disk-list-info-iter-next. It is an opaque handle used by the DFM station to identify a temporary store.
 Errno  Description
 EINTERNALERROR
 EAPIERROR
 EACCESSDENIED
 EOBJECTNOTFOUND
 EOBJECTAMBIGUOUS
 EDATABASEERROR
 EINVALIDINPUTERROR

 
Element definition: disk-info [top]
Information about a disk.
Name Range Type Description
aggregate-id obj-id
optional
Identifier of aggregate to which the disk belongs. When aggregate the disk belongs to is not known or disk is a spare disk, aggregate-id will not be returned.
aggregate-name obj-full-name
optional
Name of aggregate to which the disk belongs. When aggregate the disk belongs to is not known or disk is a spare disk, aggregate-name will not be returned. The name is any simple name such as myaggr.
disk-id obj-id
Identifier of the disk. Always present in the output.
disk-name string
Name of the disk. Always present in the output. The name will look like "data disk 0b.18", "parity disk 0b.17", "dparity disk 0b.16" etc. Maximum length of 64 characters.
disk-size integer
Disk size in bytes. Range : [0..2^63-1].
disk-type string
Type of the disk. Maximum length of 64 characters.
disk-uid-or-wwn string
optional
Identifier of the disk. For hosts running Data ONTAP versions prior to 7.0.1, this will be the World Wide Name (WWN) of the disk. For hosts running Data ONTAP versions 7.0.1 and later, this will be the Unique Identifier (UID) of the disk. When UID or WWN of a disk is not known, this field will not be returned. Maximum length of 90 characters. Format of disk WWN will look like: 20:00:00:0c:50:45:7d:bc Format of disk UUID will look like: 2000000C:50A9022F:00000000:00000000:00000000:00000000: 00000000:00000000:00000000:00000000
host-id obj-id
Identifier of host to which the disk belongs. Always present in the output.
host-name obj-name
Name of host to which the disk belongs. Always present in the output. The name is any simple name such as myhost.
plex-name string
optional
Name of plex to which the disk belongs. The name is any simple name such as plex0. When plex the disk belongs to is not known or disk is a spare disk, plex-name will not be returned. Maximum length of 64 characters.
raidgroup-name string
optional
Name of raidgroup to which the disk belongs. The name is any simple name such as rg0. When raidgroup the disk belongs to is not known or disk is a spare disk, raidgroup-name will not be returned. Maximum length of 64 characters.

 
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. dataset, 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: object-management-interface [top]
Specify the management interface of ONTAP that provides complete management for the object i.e. ONTAP CLIs, SNMP, ONTAPI etc. Possible values are:
  • "node" - For objects manageable by node management interface
  • "cluster" - For objects manageable by cluster management interface
[none]

 
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 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. dataset, 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 built in 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 datasets, DP schedules, and DP policies. This means that no two datasets may have the same name, but a dataset 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]