APIs in Category: dp-dashboard
API version 3.7.1

 
dp-dashboard-get-dr-dataset-counts
dp-dashboard-get-lagged-datasets
dp-dashboard-get-lagged-relationships
dp-dashboard-get-protected-data-counts
These operations are optimized APIs designed specially to make the Protection Manager dashboard page load quickly. Every API is this category provides data which is also available from other general purpose APIs. Any data not specifically required to draw the dashboard page is intentionally omitted, in order to maximize performance.

NetApp Manage ONTAP
 
dp-dashboard-get-dr-dataset-counts [top]

Return number of disaster recovery enabled data sets in all dr-state and dr-status combinations. The number of data sets in each distinct dr-state/dr-status combination is returned.
Error conditions:
  • EGROUPDOESNOTEXIST - The group name or ID was not found.
  • EINTERNALERROR - An error occurred while processing the request. Try again later.
  • EDATABASEERROR - A database-related error occurred while processing the request. Try again later.
Input Name Range Type Description
group-name-or-id group-name-or-id
optional
If present, limit counts to data sets which are members of this group.
 
Output Name Range Type Description
dr-state-status-counts dr-state-status-count[]
Counts of all data sets with a distinct dr-state/dr-status combination.
 Errno  Description
 EGROUPDOESNOTEXIST
 EINTERNALERROR
 EDATABASEERROR

 
dp-dashboard-get-lagged-datasets [top]
Get a list of the most lagged data sets. This API returns a list of some or all data sets, sorted by lag time. Only the data sets name, ID, and worst relationship lag time are returned.
Error conditions:
  • EGROUPDOESNOTEXIST - The group name or ID was not found.
  • EINTERNALERROR - An error occurred while processing the request. Try again later.
  • EDATABASEERROR - A database-related error occurred while processing the request. Try again later.
Input Name Range Type Description
group-name-or-id group-name-or-id
optional
Name or identifier of a group. Only relationships inside the specified group will be returned. If no value is specified, then relationships are returned regardless of group.
max-datasets integer
optional
The maximum number of data sets to return. If not specified, all data sets are returned. Range: [1..2^31-1]
 
Output Name Range Type Description
dp-datasets dp-dataset-lag-info[]
List of data sets.
 Errno  Description
 EGROUPDOESNOTEXIST
 EINTERNALERROR
 EDATABASEERROR

 
dp-dashboard-get-lagged-relationships [top]
Get a list of the most lagged relationships. This API returns a list of some or all relationships, sorted by lag time. Only the relationship name, ID, and lag time are returned.
Error conditions:
  • EGROUPDOESNOTEXIST - The group name or ID was not found.
  • EINTERNALERROR - An error occurred while processing the request. Try again later.
  • EDATABASEERROR - A database-related error occurred while processing the request. Try again later.
Input Name Range Type Description
group-name-or-id group-name-or-id
optional
Name or identifier of a group. Only relationships inside the specified group will be returned. If no value is specified, then relationships are returned regardless of group.
max-relationships integer
optional
The maximum number of relationships to return. If not specified, all relationships are returned. Range: [1..2^31-1]
 
Output Name Range Type Description
dp-relationships dp-relationship-lag-info[]
List of SnapVault and SnapMirror relationships.
 Errno  Description
 EGROUPDOESNOTEXIST
 EINTERNALERROR
 EDATABASEERROR

 
dp-dashboard-get-protected-data-counts [top]
Get counts for certain types of objects for displaying on the Protection Manager Dashboard. The types of objects are: data sets, volumes, qtrees, and OSSV directories. For each object type, the number of protected objects, unprotected objects, and ignored objects is returned. And object is considered to be protected if it is a member of a dataset, and a dataset is considered to be protected if it has a protection policy. Objects are unprotected if they are both not protected and not ignored.
Error conditions:
  • EGROUPDOESNOTEXIST - The group name or ID was not found.
  • EINTERNALERROR - An error occurred while processing the request. Try again later.
  • EDATABASEERROR - A database-related error occurred while processing the request. Try again later.
Input Name Range Type Description
group-name-or-id group-name-or-id
optional
Name or identifier of a group. Only objects inside the specified group will be counted. If no value is specified, then all objects are counted, regardless of group.
 
Output Name Range Type Description
ignored-dataset-count integer
Number of ignored data sets.
Range: [0..2^31-1]
ignored-ossv-directory-count integer
Number of ignored OSSV directories.
Range: [0..2^31-1]
ignored-qtree-count integer
Number of ignored qtrees.
Range: [0..2^31-1]
ignored-volume-count integer
Number of ignored volumes.
Range: [0..2^31-1]
protected-dataset-count integer
Number of protected data sets.
Range: [0..2^31-1]
protected-ossv-directory-count integer
Number of protected OSSV directories.
Range: [0..2^31-1]
protected-qtree-count integer
Number of protected qtrees.
Range: [0..2^31-1]
protected-volume-count integer
Number of protected volumes.
Range: [0..2^31-1]
unprotected-dataset-count integer
Number of unprotected data sets.
Range: [0..2^31-1]
unprotected-ossv-directory-count integer
Number of unprotected OSSV directories.
Range: [0..2^31-1]
unprotected-qtree-count integer
Number of unprotected qtrees.
Range: [0..2^31-1]
unprotected-volume-count integer
Number of unprotected volumes.
Range: [0..2^31-1]
 Errno  Description
 EGROUPDOESNOTEXIST
 EINTERNALERROR
 EDATABASEERROR

 
Element definition: dp-dataset-lag-info [top]
Information about a single dataset.
Name Range Type Description
dataset-id obj-id
ID of the data set.
dataset-name obj-name
Name of the data set.
worst-lag integer
Worst lag time of all the relationships in the data sets. The lag time is the number of seconds since the completion of the last successful transfer to the destination for each relationship. Range: [0..2^63-1]

 
Element definition: dp-relationship-lag-info [top]
Information about a single SnapVault or SnapMirror relationship.
Name Range Type Description
dataset-id obj-id
optional
ID of the data set this relationship is protecting. Not present if this relationship is not protecting a component of a dataset.
dataset-name obj-name
optional
Name of the data set this relationship is protecting. Not present if this relationship is not a protecting a component of a data set.
lag integer
Seconds since the completion of the last successful transfer to the destination. If no transfer has ever succeeded, this value is 0. Range: [0..2^63-1]
relationship-id obj-id
Identifier of the relationship.
relationship-type relationship-type
Type of the relationship.

 
Element definition: dr-state-status-count [top]
Number of DR-enabled data sets with a single distinct dr-state/dr-status combination.
Name Range Type Description
count integer
Number of DR-enabled data sets with a state of dr-state and status of dr-status. Only return state and status combinations which have at least one dataset in them. Range: [1..2^31-1]
dr-state dr-state
DR state of all data sets
dr-status dr-status
DR status of all data sets

 
Element definition: group-name-or-id [top]
Name or ID of a group. If a group name is specified, it must be fully qualified.
[none]

 
Element definition: dr-state [top]
Disaster recovery states of a data set. Possible values are:
  • "ready": The data set is prepared to fail over.
  • "failing_over": The data set is in the process of failing over. Eventually, the state of the data set will change to either "failed_over" or "failover_error".
  • "failed_over": The data set has failed over. The primary data is now considered unavailable and the mirror relationships from the primary to the DR node have been broken.
  • "failover_error": The data set attempted to fail over but encountered an error. User intervention is required to change the state to either "failed_over" or "ready".
[none]

 
Element definition: dr-status [top]
The DR status has one of the following values:
  • normal : A DR operation would likely succeed, and the amount of lost data would be within the duration specified by the lag warning threshold.
  • warning : A DR operation would likely succeed, but the amount of lost data would exceed that specified by the policy's lag warning threshold.
  • error : A DR operation would likely fail, or would succeed but the amount of lost data would be unacceptable.

The DR status is computed based on all of the following:

  • The resource status of the data set's DR secondaries. The specific condition that impacts the resource status is the availability of the secondary filers and volumes. The status will be error if either is unavailable.
  • Whether there is sufficient space on the DR secondaries to meet the space guarantees of the primaries.
  • The existence and state of the relationships associated with the data set's disaster recovery capable connection.
  • Whether the relationships associated with the data set's DR-capable connection are within their thresholds for lag warnings and errors.

If the data set list iteration's output element is-dr-capable is true, then this element appears in the output. Otherwise, if is-dr-capable is false, this element does not appear in the output.

[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: relationship-type [top]
Type of a data protection relationship. Legal values are "snapvault", "qtree_snapmirror" and "volume_snapmirror".
[none]