APIs in Category: Qtree
API version 5.0

 
QtreeListInfoIterEnd
QtreeListInfoIterNext
QtreeListInfoIterStart
QtreeModify
QtreeRename
QtreeStartMonitoring
QtreeStopMonitoring
DFM tracks all the Qtrees it discovers on storage systems it is monitoring. These APIs give the user access To the information DFM has collected. In addition, this API family gives users the ability To stop and start monitoring of Qtrees From the DFM database. It also provides the ability To rename Qtrees on storage systems.

NetApp Manage ONTAP API version 5.0
 
QtreeListInfoIterEnd (supported) [top]

The QtreeListInfoIter* set of APIs are used To retrieve the list of Qtrees. QtreeListInfoIterEnd is used To tell the DFM station that the temporary store used by DFM To support the QtreeListInfoIterNext API for the particular Tag is no longer necessary.
Input Name Type
QtreeListInfoIterEnd QtreeListInfoIterEnd
 
Output Name Type
QtreeListInfoIterEndResult QtreeListInfoIterEndResult
 Error Name  Description
 EINVALIDTAG

 
QtreeListInfoIterNext (supported) [top]
For more documentation please check QtreeListInfoIterStart. The QtreeListInfoIterNext API is used To iterate over the Members of the Qtrees stored in the temporary store created by the QtreeListInfoIterStart API.
Input Name Type
QtreeListInfoIterNext QtreeListInfoIterNext
 
Output Name Type
QtreeListInfoIterNextResult QtreeListInfoIterNextResult
 Error Name  Description
 EINVALIDTAG

 
QtreeListInfoIterStart (supported) [top]
The QtreeListInfoIter* set of APIs are used To retrieve the list of Qtrees in DFM. QtreeListInfoIterStart returns the union of Qtree Objects specified, intersected with IsSnapvaultSecondaryQtrees, IsInDataset and RbacOperation. It loads the list of Qtrees 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 Qtrees in the temporary store. If QtreeListInfoIterStart is invoked twice, then two distinct temporary stores are created.
Input Name Type
QtreeListInfoIterStart QtreeListInfoIterStart
 
Output Name Type
QtreeListInfoIterStartResult QtreeListInfoIterStartResult
 Error Name  Description
 EACCESSDENIED
 EAPIERROR
 EDATABASEERROR
 EINTERNALERROR
 EINVALIDINPUTERROR
 EOBJECTAMBIGUOUS
 EOBJECTNOTFOUND

 
QtreeModify (supported) [top]
Modify a Qtree's information. If modifying of one property fails, nothing will be changed.
Error Conditions:
  • EACCESSDENIED - When the user does not have DFM.Database.Write Capability on the specified Qtree.
  • EINVALIDINPUT - When invalid input specified.
  • EOBJECTNOTFOUND - When the QtreeNameOrId does not correspond To a Qtree.
  • EDATABASEERROR - On database Error.
Input Name Type
QtreeModify QtreeModify
 
Output Name Type
QtreeModifyResult QtreeModifyResult
 Error Name  Description
 EACCESSDENIED
 EDATABASEERROR
 EINVALIDINPUT
 EOBJECTNOTFOUND

 
QtreeRename (supported) [top]
Rename a Qtree on a storage system and in the DataFabric Manager database. The new Qtree will still be in the same Volume as the original Qtree. The first step renames the given Qtree on the storage system. If that fails, then processing stops and the API emits an EINTERNALERROR To the caller along with the appropriate Error message. The second step renames the given Qtree on the DFM database. If that fails, then processing stops and the same EINTERNALERROR is emitted back To the caller along with an appropriate Error message. There is no retrying or undoing of any of the steps should they fail. The API relies on the DFM monitor To undo the rename automatically. However, the undoing does not happen right away because it depends on the DFM monitor regular update schedule. The DFM monitor periodically ensures that storage system resources are matched in its database -- it updates the database To be consistent with the storage system. Prior To invoking this API, the storage system's login credentials where the Qtree resides must be specified in DFM's database using normal DFM procedure.
Input Name Type
QtreeRename QtreeRename
 
Output Name Type
QtreeRenameResult QtreeRenameResult
 Error Name  Description
 EACCESSDENIED
 EINTERNALERROR
 EINVALIDQTREENAME
 EQTREEALREADYEXISTS
 EQTREEDOESNOTEXIST

 
QtreeStartMonitoring (supported) [top]
Start monitoring a previously un-monitored primary Qtree From the DataFabric Manager. Error EQTREEMONITORONFAIL means that an attempt To start monitoring the specified Qtree failed.
Input Name Type
QtreeStartMonitoring QtreeStartMonitoring
 
Output Name Type
QtreeStartMonitoringResult QtreeStartMonitoringResult
 Error Name  Description
 EACCESSDENIED
 EDATABASEERROR
 EINTERNALERROR
 EQTREEALREADYEXISTS
 EQTREEDELETEDPARENT
 EQTREEDOESNOTEXIST
 EQTREEMONITORONFAIL
 EQTREEUNDELETEFAIL

 
QtreeStopMonitoring (supported) [top]
Stop monitoring a primary Qtree From the DataFabric Manager. A Qtree that is being managed by an application cannot be stopped being monitored (Errno returned will be EQTREEMANAGEDBYAPP)
Input Name Type
QtreeStopMonitoring QtreeStopMonitoring
 
Output Name Type
QtreeStopMonitoringResult QtreeStopMonitoringResult
 Error Name  Description
 EACCESSDENIED
 EDATABASEERROR
 EINTERNALERROR
 EQTREEDOESNOTEXIST
 EQTREEMANAGEDBYAPP
 EQTREEMONITOROFFFAIL

 
Element definition: QtreeListInfoIterEnd [top]
The QtreeListInfoIter* set of APIs are used To retrieve the list of Qtrees. QtreeListInfoIterEnd is used To tell the DFM station that the temporary store used by DFM To support the QtreeListInfoIterNext API for the particular Tag is no longer necessary.
Name Type Description
Tag xsd:string
An internal opaque handle used by the DFM station

 
Element definition: QtreeListInfoIterEndResult [top]
[none]

 
Element definition: QtreeListInfoIterNext [top]
For more documentation please check QtreeListInfoIterStart. The QtreeListInfoIterNext API is used To iterate over the Members of the Qtrees stored in the temporary store created by the QtreeListInfoIterStart API.
Name Type Description
Maximum xsd:integer
The Maximum number of entries To retrieve. Range: [1..2^31-1]
Tag xsd:string
Tag From a previous QtreeListInfoIterStart. It's an opaque handle used by the DFM station To identify the temporary store created by QtreeListInfoIterStart.

 
Element definition: QtreeListInfoIterNextResult [top]
Name Type Description
Qtrees ArrayOfQtreeInfo
List of Qtrees.
Records xsd:integer
The number of Records actually returned. Range: [1..2^31-1]

 
Element definition: QtreeListInfoIterStart [top]
The QtreeListInfoIter* set of APIs are used To retrieve the list of Qtrees in DFM. QtreeListInfoIterStart returns the union of Qtree Objects specified, intersected with IsSnapvaultSecondaryQtrees, IsInDataset and RbacOperation. It loads the list of Qtrees 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 Qtrees in the temporary store. If QtreeListInfoIterStart is invoked twice, then two distinct temporary stores are created.
Name Type Description
IncludeIsAvailable xsd:boolean
optional
If true, the IsAvailable Status is calculated for each Qtree which may make the call To this zapi take much longer. Default is false.
IsDirectMemberOnly xsd:boolean
optional
If true, only return the Qtrees that are direct Members of the specified Resource Group. Default Value is false. This field is meaningful only if a Resource Group Name or Id is given for the ObjectNameOrId field.
IsDirectVfilerChild xsd:boolean
optional
If true, only list Qtrees that are direct children of a Vfiler. If false, only list Qtrees that are indirect children of a Vfiler. If not specified, list Qtrees that are direct and indirect children of a Vfiler. This filter does not have any Effect if ObjectNameOrId is not a Vfiler.
IsDpIgnored xsd:boolean
optional
If true, only list Qtrees that have been set To be ignored for purposes of data protection. If false, only list Qtrees that have been not set To be ignored for purposes of data protection. If not specified, list all Qtrees without taking into account whether they have been ignored or not.
IsInDataset xsd:boolean
optional
If true, only list Qtrees which only contain data which is protected by a Dataset. If false, only list Qtrees containing data which is not protected by a Dataset. If not specified, list all Qtrees whether they are in a Dataset or not.
IsSnapvaultSecondaryQtrees xsd:boolean
optional
If true, only SnapVault secondary Qtrees are listed. Otherwise, all Qtrees are listed. Default is false.
IsUnprotected xsd:boolean
optional
If true, only list Qtrees that are not protected, which means they are not in any SnapMirror or SnapVault relationship. If false or not set, list all Qtrees.
ObjectManagementFilter ObjectManagementInterface
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.
ObjectNameOrId xsd:string
optional
Name or identifier of an object To list Qtrees for. The allowed object types for this argument are:
  • Resource Group
  • Dataset
  • Storage Set
  • Host
  • Aggregate
  • Volume
  • Qtree
  • GenericAppObject
If ObjectNameOrId identifies a Qtree, that single Qtree will be returned. If ObjectNameOrId resolves To more than one Qtree, all of them will be returned. If no ObjectNameOrId is provided, all Qtrees will be listed. If ObjectNameOrId identifies a Dataset or a storage set, only Qtrees that are direct Members of that Dataset or storage set will be returned.
RbacOperation xsd:string
optional
Name of an RBAC Operation. If specified, only return Qtrees for which authenticated admin has the required Capability. A Capability is an operation/resource pair. The Resource is the Volume where the Qtree lives. The possible Values that can be specified for Operation can be obtained by calling RbacOperationInfoList. If Operation is not specified, then it defaults To DFM.Database.Read. For more information about operations, Capabilities and user roles, see the RBAC APIs.
SortResults xsd:boolean
optional
If true, sort the Results by Qtree Name in ascending alphabetical order using US ASCII lexographic rules.. Default Value is true. The Results are always sorted unless all Qtrees in the system are requested and "SortResults" is set To false.

 
Element definition: QtreeListInfoIterStartResult [top]
Name Type Description
Records xsd:integer
Number which tells you how many items have been saved for future retrieval with QtreeListInfoIterNext. Range: [1..2^31-1]
Tag xsd:string
Tag To be used in subsequent calls To QtreeListInfoIterNext. It is an opaque handle used by the DFM station To identify a temporary store.

 
Element definition: QtreeModify [top]
Modify a Qtree's information. If modifying of one property fails, nothing will be changed.
Error Conditions:
  • EACCESSDENIED - When the user does not have DFM.Database.Write Capability on the specified Qtree.
  • EINVALIDINPUT - When invalid input specified.
  • EOBJECTNOTFOUND - When the QtreeNameOrId does not correspond To a Qtree.
  • EDATABASEERROR - On database Error.
Name Type Description
IsDpIgnored xsd:boolean
optional
True if an administrator has chosen To ignore this object for purposes of data protection.
QtreeNameOrId xsd:string
Name or identifier of the Qtree To modify.

 
Element definition: QtreeModifyResult [top]
[none]

 
Element definition: QtreeRename [top]
Rename a Qtree on a storage system and in the DataFabric Manager database. The new Qtree will still be in the same Volume as the original Qtree. The first step renames the given Qtree on the storage system. If that fails, then processing stops and the API emits an EINTERNALERROR To the caller along with the appropriate Error message. The second step renames the given Qtree on the DFM database. If that fails, then processing stops and the same EINTERNALERROR is emitted back To the caller along with an appropriate Error message. There is no retrying or undoing of any of the steps should they fail. The API relies on the DFM monitor To undo the rename automatically. However, the undoing does not happen right away because it depends on the DFM monitor regular update schedule. The DFM monitor periodically ensures that storage system resources are matched in its database -- it updates the database To be consistent with the storage system. Prior To invoking this API, the storage system's login credentials where the Qtree resides must be specified in DFM's database using normal DFM procedure.
Name Type Description
QtreeNameNew xsd:string
New Name for Qtree on storage system. This is just the Qtree Name, not including the storage system or Volume parts.
QtreeNameOrId xsd:integer
Qtree To rename. If a Name is specified, then it must in the form specified by DFM's normal container and containment rules such as Hostname:/volume/qtree_name (for example, breeze:/vol0/myqtree). Range: [1..2^31-1]

 
Element definition: QtreeRenameResult [top]
[none]

 
Element definition: QtreeStartMonitoring [top]
Start monitoring a previously un-monitored primary Qtree From the DataFabric Manager. Error EQTREEMONITORONFAIL means that an attempt To start monitoring the specified Qtree failed.
Name Type Description
QtreeNameOrId xsd:integer
A Qtree Name or identifier To start monitoring. Name must in the form specified by DFM's normal container and containment rules such as Hostname:/volume/qtree_name (for example, breeze:/vol0/myqtree). Range: [1..2^31-1]

 
Element definition: QtreeStartMonitoringResult [top]
[none]

 
Element definition: QtreeStopMonitoring [top]
Stop monitoring a primary Qtree From the DataFabric Manager. A Qtree that is being managed by an application cannot be stopped being monitored (Errno returned will be EQTREEMANAGEDBYAPP)
Name Type Description
QtreeNameOrId xsd:integer
A Qtree Name or identifier To stop monitoring. Name must in the form specified by DFM's normal container and containment rules such as Hostname:/volume/qtree_name (for example, breeze:/vol0/myqtree). Range: [1..2^31-1]

 
Element definition: QtreeStopMonitoringResult [top]
[none]

 
Element definition: ArrayOfQtreeInfo [top]
Name Type Description
QtreeInfo QtreeInfo[]

 
Element definition: ObjectManagementInterface [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: QtreeInfo [top]
Information about a Qtree.
Name Type Description
DatasetId xsd:integer
optional
ID of Dataset where this Qtree is in the primary storage set. Range: [1..2^31-1] This field is deprecated in favor of Datasets, which lists all Datasets the Qtree belongs To. It is still populated with one of the Dataset ids.
Datasets ArrayOfDatasetReference
List of Dataset IDs where this Qtree is in the primary storage set. If IsInDataset is false, this list will be empty.
FilerId xsd:integer
Identifier of storage system on which the Qtree resides. Always present in the output. Range: [1..2^31-1]
FilerName xsd:string
Name of storage system on which the Qtree resides. Always present in the output.
IsAvailable xsd:boolean
optional
True if this object and all of it's parents are up or online. Only output if the call To iter-start included the "IncludeIsAvailable" flag.
IsDirectVfilerChild xsd:boolean
optional
Indicates whether the Qtree is a direct or indirect child of a Vfiler. If not present, then Qtree is not under a Vfiler.
IsDpIgnored xsd:boolean
Indicates whether an admin has decided To ignore this Qtree for purposes of data protection.
IsInDataset xsd:boolean
Indicates whether the Qtree is a member of any Dataset.
IsSnapvaultSecondaryQtree xsd:boolean
optional
Indicates whether the Qtree is a secondary Volume for storing SnapVault Backups.
QtreeId xsd:integer
Identifier of the Qtree. Range: [1..2^31-1]
QtreeName xsd:string
Simple Name of the Qtree. Always present in the output. The Qtree Name is a simple Name without the storage system or Volume part. For example, myqtree2.
QtreeSize WrapperOfQtreeSizeInfo
Sizes of various parameters of the Qtree.
VolumeId xsd:integer
Identifier of Volume in which the Qtree resides. Always present in the output. Range: [1..2^31-1]
VolumeName xsd:string
Name of Volume in which the Qtree resides. Always present in the output.

 
Element definition: ArrayOfDatasetReference [top]
Name Type Description
DatasetReference DatasetReference[]

 
Element definition: WrapperOfQtreeSizeInfo [top]
Name Type Description
QtreeSizeInfo QtreeSizeInfo

 
Element definition: DatasetReference [top]
The Name and Id of a Dataset.
Name Type Description
DatasetId ObjId
Identifier for the Dataset.
Range: [1..2^31-1]
DatasetName ObjName
Name of the Dataset.

 
Element definition: QtreeSizeInfo [top]
Sizes of various parameters of a Qtree. File counts are simple counts.
Name Type Description
FilesLimit xsd:integer
optional
Limit of number of files in Qtree.
FilesUsed xsd:integer
optional
Number of files in Qtree.
HardLimit xsd:integer
optional
Hard Size limit of Qtree in bytes. Range: [0..2^63-1]
QtreePerfStatus ObjStatus
optional
Current Status of the Qtree based on performance Events
QtreeStatus ObjStatus
optional
Current Status of the Qtree based on all Events
SoftLimit xsd:integer
optional
Soft Size limit of Qtree in bytes. Range: [0..2^63-1]
SpaceUsed xsd:integer
Number of bytes used by Qtree. Range: [0..2^63-1]

 
Element definition: ObjId [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 ObjId 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 ObjId 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: ObjName [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 ObjName 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 ObjFullName 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 ObjName 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 ObjName 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: ObjStatus [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 storage system 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]