|
APIs in Category: volume |
API version 3.6R2 |
volume-list-info-iter-end |
DFM tracks all the volumes it discovers on filers it is monitoring. These APIs give the user access to the information DFM has collected. In addition, this API family will eventually give users the ability to create, modify and destroy volumes on filers. |
| volume-list-info-iter-end | [top] |
Ends iteration to list volumes.
Input Name Range Type Description tag string
Tag from a previous volume-list-info-iter-start.
Errno Description EINVALIDTAG
| volume-list-info-iter-next | [top] |
Get next few records in the iteration started by volume-list-info-iter-start.
Input Name Range Type Description maximum integer
validate
The maximum number of entries to retrieve. tag string
Tag from a previous volume-list-info-iter-start. Output Name Range Type Description records integer
The number of records actually returned. volumes volume-info[]
List of volumes.
Errno Description EINVALIDTAG
| volume-list-info-iter-start | [top] |
Starts iteration to list volumes.
Input Name Range Type Description is-dp-ignored boolean
optional
If TRUE, only list volumes that have been set to be ignored for purposes of data protection. If FALSE, only list volumes that have not been set to be ignored for purposes of data protection. If not specified, list all volumes without taking into account whether they have been ignored or not. is-in-dataset boolean
optional
If TRUE, only list volumes which only contain data which is protected by a dataset. If FALSE, only list volumes containing data which is not protected by a dataset. If not specified, list all volumes whether they are in a dataset or not. is-snapmirror-primary-capable boolean
optional
validate
If present and true, only list volumes capable of being a primary for a SnapMirror relationship. This means the filer is licensed for SnapMirror. Meaningless if present and false. is-snapmirror-secondary-capable boolean
optional
validate
If present and true, only list volumes capable of being a secondary for a SnapMirror relationship. This means the filer is licensed for SnapMirror and the volume is not already a SnapMirror or SnapVault secondary. Meaningless if present and false. is-snapvault-primary-capable boolean
optional
validate
If present and true, only list volumes capable of being the source of a SnapVault transfer. This means the filer is licensed to be a SnapVault primary. Meaningless if present and false. is-snapvault-secondary-capable boolean
optional
validate
If present and true, only list volumes capable of being the destination of SnapVault transfers. This means the filer is licensed as a SnapVault secondary and the volume is not a SnapMirror destination. Meaningless if present and false. object-name-or-id string
optional
Name or identifier of an object to list volumes for. The allowed object types for this argument are: If object-name-or-id identifies a volume, that single volume will be returned. If object-name-or-id resolves to more than one volume, all of them will be returned. If no object-name-or-id is provided, all volumes will be listed.
- Resource Group
- Data Set
- Storage Set
- Host
- Aggregate
- Volume
- Qtree
rbac-operation string
optional
Names of an RBAC operation. If specified, only return volumes for which the current admin has permission to perform that operation. For example, caller can ask for only volumes that current admin has DFM.Backupmanager.Backup operation privilege to when want to display list of volume that can be backup by the current admin. When not specified, DFM.Database.Read is a default operation requirement. snapvault-secondary-schedule-name string
optional
Name of a SnapVault backup schedule. If specified, SnapVault secondary volumes that are using the specified backup schedule are listed. volume-type string
optional
Filter by type of volume. Possible values are: If no volume-type input is supplied, all types of volumes will be listed.
- traditional
- flexible
Output Name Range Type Description records integer
Number which tells you how many items have been saved for future retrieval with volume-list-info-iter-next. tag string
Tag to be used in subsequent calls to volume-list-info-iter-next.
Errno Description EAPIERROR EDATABASEERROR EACCESSDENIED EINVALIDINPUT EOBJECTNOTFOUND EOBJECTAMBIGUOUS
| volume-modify | [top] |
Modify a volume'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 volume.
- EINVALIDINPUT - When invalid input specified.
- EOBJECTNOTFOUND - When the volume-name-or-id does not correspond to a volume.
- EDATABASEERROR - On database error.
Input Name Range Type Description is-dp-ignored boolean
optional
True if an administrator has chosen to ignore this object for purposes of data protection. volume-name-or-id string
Name or identifier of the volume to modify.
Errno Description EACCESSDENIED EINVALIDINPUT EDATABASEERROR EOBJECTNOTFOUND
| Element definition: volume-info | [top] |
Information about a volume.
Name Range Type Description dataset-id 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 data sets the volume belongs to. It is still populated with one of the data set ids. datasets dataset-reference[]
List of data set IDs containing this volume. If is-in-dataset is false, this list will be empty. host-id integer
Identifier of host on which the volume resides. host-name string
Name of host on which the volume resides. is-dp-ignored boolean
optional
True if this dataset is intentionally ignored. is-in-dataset boolean
Indicate whether this volume is a member of any data set. is-snapmirror-primary-capable boolean
True if the volume is capable of being a primary for a SnapMirror relationship. This means the filer is licensed for SnapMirror. is-snapmirror-primary-volume boolean
True if the volume is a primary volume for a SnapMirror relationship. is-snapmirror-secondary-capable boolean
True if the volume is capable of being a secondary for a SnapMirror relationship. This means the filer is licensed for SnapMirror and the volume is not already a SnapMirror or SnapVault secondary. is-snapmirror-secondary-volume boolean
True if the volume is a secondary volume for a SnapMirror relationship. is-snapvault-primary-capable boolean
True if the volume is capable of being the source of a SnapVault transfer. This means the filer is licensed to be a SnapVault primary. is-snapvault-primary-volume boolean
True if the volume contains at least one qtree which is the source of a SnapVault backup. is-snapvault-secondary-capable boolean
True if the volume is capable of being the destination of SnapVault transfers. This means the filer is licensed as a SnapVault secondary and the volume is not a SnapMirror destination. is-snapvault-secondary-volume boolean
True if the volume is a secondary volume for storing SnapVault backups. snapvault-lag-warning-threshold integer
optional
Threshold in seconds. DFM generates a warning event when age of the replica for a SnapVault backup relationship exceeds the specified threshold. snapvault-secondary-schedule-name string
optional
Name of backup schedule associated with secondary volume. Not present if there is no schedule. volume-id integer
Identifier of the volume. volume-name string
Name of the volume. volume-perf-status obj-status
optional
Current status of the volume based on performance events volume-qtree volume-qtree
optional
Volume qtree(s) information. If volume does not have any qtree, this structure is not returned. volume-size volume-size
Volume size information. volume-state string
State of volume. Possible values are:
- initializing
- failed
- offline
- online
- partial
- restricted
- unknown
volume-status obj-status
optional
Current status of the volume based on all events volume-type string
Type of volume. Possible values are:
- traditional
- flexible
| Element definition: dataset-reference | [top] |
The name and id of a data set.
Name Range Type Description dataset-id obj-id
Identifier for the data set.
Range: [1..2^31-1]dataset-name obj-name
Name of the data set.
| 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'.
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.
- 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.
[none]
| Element definition: volume-qtree | [top] |
Information on qtrees in the volume
Name Range Type Description protected-data-size integer
Summation of total size of protected qtrees. protected-qtree-count integer
Total number of qtrees that are protected in the volume. total-qtree-count integer
Total number of qtrees in the volume. unprotected-data-size integer
Summation of total size of unprotected qtrees. unprotected-qtree-count integer
Total number of qtrees that are unprotected in the volume.
| Element definition: volume-size | [top] |
Collected size information about a volume. Optional items will not be returned if DFM does not know the value.
Name Range Type Description afs-avail integer
optional
Number of bytes available in active file system. This will be (afs-total - afs-used) or the available space in the aggregate, whichever is lower. Range: [0..2^44-1] afs-data integer
optional
Number of bytes used to hold user data in active file system. This should match what you'd get if you added up the file sizes. This includes data and hole reserves, if any. Range: [0..2^44-1] afs-total integer
optional
Total number of bytes in active file system (total volume less snapshot reserve). Range: [0..2^44-1] afs-used integer
optional
Number of bytes used to hold active file system data. This is what "df" reports as used for the volume. It includes data, hole reserves, overwrite reserves and snapshot overflow. Range: [0..2^44-1] overwrite-reserve-avail integer
optional
Number of bytes available reserved space for data overwrites. Range: [0..2^44-1] overwrite-reserve-total integer
optional
Total number of bytes reserved for data overwrites. This is the space reserved for overwriting LUNs and other space-reserved files when the volume has snapshots and afs-avail is zero. Range: [0..2^44-1] overwrite-reserve-used integer
optional
Number of bytes used in overwrite reserve space. Range: [0..2^44-1] snapshot-reserve-avail integer
optional
Number of available bytes in snapshot reserve for this volume. If snapshot-reserve-used is greater than snapshot-reserve-total, this value will be zero. Range: [0..2^44-1] snapshot-reserve-total integer
optional
Total number of bytes of snapshot reserve. Range: [0..2^44-1] snapshot-reserve-used integer
optional
Total number of bytes used to hold snapshot data. This can be greater than the snapshot reserve size but will not include any space used out of the overwrite reserve. Range: [0..2^44-1] total integer
optional
Total number of bytes in volume. This includes the snapshot reserve. Range: [0..2^44-1]
| 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: 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:
- 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.
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 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.
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]