APIs in Category: Snapshot | API version 4.0

SnapshotGetReclaimableInfo SnapshotListInfoIterEnd SnapshotListInfoIterNext SnapshotListInfoIterStart | DataFabric Manager discovers all the Snapshot copies of all Volumes of filers it is monitoring. This set of APIs supports listing the Snapshot copies and also To compute space that could be reclaimed by deleting these Snapshot copies.

NetApp Manage ONTAP API version 4.0

SnapshotGetReclaimableInfo (supported) | [top]

> Returns the amount of space that would be freed when a set of Snapshot copies are deleted From a specified Volume. This API gets information dynamically From the Filer and is a blocking call.

> Input Name | Type
> SnapshotGetReclaimableInfo | SnapshotGetReclaimableInfo
> Output Name | Type
> SnapshotGetReclaimableInfoResult | SnapshotGetReclaimableInfoResult

> Error Name | Description
> EACCESSDENIED |  |
> EOBJECTAMBIGUOUS |  |
> EOBJECTNOTFOUND |  |
> ESNAPSHOTDOESNOTEXIST |  |
> ESNAPSHOTTOOMANY |  |
> EVOLUMEBUSY |  |
> EVOLUMEMOUNTING |  |
> EVOLUMEOFFLINE |  |

SnapshotListInfoIterEnd (supported) | [top]

> Ends iteration of Snapshot copies.

> Input Name | Type
> SnapshotListInfoIterEnd | SnapshotListInfoIterEnd
> Output Name | Type
> SnapshotListInfoIterEndResult | SnapshotListInfoIterEndResult

> Error Name | Description
> EINVALIDTAG |  |

SnapshotListInfoIterNext (supported) | [top]

> Retrieve the next Records in the iteration started by SnapshotListInfoIterStart.

> Input Name | Type
> SnapshotListInfoIterNext | SnapshotListInfoIterNext
> Output Name | Type
> SnapshotListInfoIterNextResult | SnapshotListInfoIterNextResult

> Error Name | Description
> EINVALIDTAG |  |

SnapshotListInfoIterStart (supported) | [top]

> Returns information on a list of Snapshot copies.

> Input Name | Type
> SnapshotListInfoIterStart | SnapshotListInfoIterStart
> Output Name | Type
> SnapshotListInfoIterStartResult | SnapshotListInfoIterStartResult

> Error Name | Description
> EACCESSDENIED |  |
> EDATABASEERROR |  |
> EINVALIDINPUT |  |
> EOBJECTAMBIGUOUS |  |
> EOBJECTNOTFOUND |  |

Element definition: SnapshotGetReclaimableInfo | [top]

> Returns the amount of space that would be freed when a set of Snapshot copies are deleted From a specified Volume. This API gets information dynamically From the Filer and is a blocking call.

> Name | Type | Description
> Snapshots | ArrayOfSnapshot | List of Snapshot copies. A Maximum of 255 Snapshot copies can be listed.
> VolumeNameOrId | ObjNameOrId | Name or identifier of the Volume on which the reclaimable space has To be computed by deleting the specified set of Snapshot copies.

Element definition: SnapshotGetReclaimableInfoResult | [top]

> Name | Type | Description
> ReclaimableSize | xsd:integer | Size in bytes of space reclaimable if the specified set of Snapshot copies were deleted. Range : [0..2^63-1].
> SnapshotSharedData | xsd:integer | Total number of bytes shared between active file system and Snapshots after the given Snapshots are deleted. Range: [0..2^63-1]

Element definition: SnapshotListInfoIterEnd | [top]

> Ends iteration of Snapshot copies.

> Name | Type | Description
> Tag | xsd:string | Tag From a previous SnapshotListInfoIterStart.

Element definition: SnapshotListInfoIterEndResult | [top]

> [none]

Element definition: SnapshotListInfoIterNext | [top]

> Retrieve the next Records in the iteration started by SnapshotListInfoIterStart.

> Name | Type | Description
> Maximum | xsd:integer | The Maximum number of Records To retrieve. Range: [1..2^31-1]
> Tag | xsd:string | Tag From a previous SnapshotListInfoIterStart.

Element definition: SnapshotListInfoIterNextResult | [top]

> Name | Type | Description
> Records | xsd:integer | The number of Records actually returned. Value of 0 Records indicates end of Records. Range: [1..2^31-1]
> Snapshots | ArrayOfSnapshotInfo | The number of Records actually returned. Value of 0 Records indicates end of Records. Range: [1..2^31-1]

Element definition: SnapshotListInfoIterStart | [top]

> Returns information on a list of Snapshot copies.

> Name | Type | Description
> IncludeBackupInfo | xsd:boolean optional | If true and Snapshot is part of a Dataset backup Version, the backup Version information which contains this Snapshot as member is returned. Default Value is false.
> 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 | ObjNameOrId optional | Name or identifier of the object whose Snapshot copies are To be listed. Valid types of Objects are: Volume - Lists Snapshot copies of this Volume Aggregate - Lists Snapshot copies of all Volumes in the Aggregate Filer - Lists all Snapshot copies of all Volumes on this Filer. vFiler - Lists all Snapshot copies for Volumes exclusively belonging To this vFiler. Vserver - Lists all Snapshot copies for Volumes exclusively belonging To this Vserver. Dataset - Lists all Snapshot copies of all Volumes that are Members of all nodes of the Dataset. storage set - Lists all Snapshot copies of all Volumes that are Members of the storage set. Resource Group - Lists all Snapshot copies of all Volumes that are direct or indirect Members of the Resource Group. If this input is not specified, then the ZAPI lists all Snapshot copies known To DataFabric Manager server.

Element definition: SnapshotListInfoIterStartResult | [top]

> Name | Type | Description
> Records | xsd:integer | Number of items that have been saved for future retrieval with SnapshotListInfoIterNext. Range: [1..2^31-1]
> Tag | xsd:string | Tag To be used in subsequent calls To SnapshotListInfoIterNext.

Element definition: ArrayOfSnapshot | [top]

> Name | Type | Description
> Snapshot | Snapshot[] |

Element definition: ArrayOfSnapshotInfo | [top]

> Name | Type | Description
> SnapshotInfo | SnapshotInfo[] |

Element definition: ObjNameOrId | [top]

> Name or internal ID of a DFM object. This typedef is an alias for the builtin ZAPI Type string. An ObjNameOrId must contain between 1 and 64 characters, and must conform To one of the following formats: It must have the format of an ObjName, 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 ObjNameOrId 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 ObjNameOrId 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: 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: Snapshot | [top]

> Information of one Snapshot copy. Either UniqueId or Name of the Snapshot copy should be specified.

> Name | Type | Description
> SnapshotName | xsd:string optional | Name of the Snapshot copy. If UniqueId is specified, then this element is ignored.
> UniqueId | xsd:string optional | Unique identifier of the Snapshot copy. Currently, this is the Snapshot copy's creation time.

Element definition: SnapshotInfo | [top]

> Information on one particular Snapshot copy.

> Name | Type | Description
> Backups | ArrayOfBackupInfo optional | List of Dataset Backups which contain this Snapshot. The list is empty if the Snapshot is not part of any Dataset backup. The element is present only if SnapshotListInfoIterStart was called with IncludeBackupInfo as true.
> CreationTimestamp | DpTimestamp | The Volume access time when the Snapshot copy was created in seconds since January 1, 1970. This Value will not change even if the Snapshot copy is accessed.
> CumulativePercentageOfTotalBlocks | xsd:integer | Percentage of blocks owned by this Snapshot copy and all of the more recent Snapshots copies, relative To the Total number of blocks in the Volume. Range: [0..100]
> Dependencies | ArrayOfSnapshotDependency optional | Application(s) dependent on this Snapshot copy.
> IsBusy | xsd:boolean | True if the Snapshot copy is being used by an application. If "IsBusy" is true, then the Snapshot copy cannot be deleted.
> IsPartOfBackupVersion | xsd:boolean | True if the Snapshot copy is part of a backup Version of a Dataset.
> PercentageOfTotalBlocks | xsd:integer | Percentage of blocks owned by this Snapshot copy, relative To the Total number of blocks in the Volume. Range: [0..100]
> SnapshotId | xsd:integer | Database identifier of this Snapshot copy. Range: [1..2^31-1]
> SnapshotName | xsd:string | Name of the Snapshot copy.
> UniqueId | xsd:string | Unique identifier of the Snapshot copy. Currently, this is the Snapshot copy's creation time.
> VolumeId | ObjId | Idenitifier of the Volume To which this Snapshot copy belongs To.
> VolumeName | ObjFullName | Name of the Volume To which this Snapshot copy belongs To.

Element definition: ArrayOfBackupInfo | [top]

> Name | Type | Description
> BackupInfo | BackupInfo[] |

Element definition: ArrayOfSnapshotDependency | [top]

> Name | Type | Description
> SnapshotDependency | SnapshotDependency[] |

Element definition: DpTimestamp | [top]

> Seconds since 1/1/1970 in UTC. Range: [0..2^31-1]. This runs out in 2036, so update the API some time before then.

> [none]

Element definition: ObjFullName | [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 ObjName, 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 ObjName and ObjFullName are identical.

> [none]

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: BackupInfo | [top]

> Information of a Dataset backup.

> Name | Type | Description
> BackupId | xsd:integer | Identifier of the backup Instance. The management station assigns a unique Id To each backup Instance. Range: [1..2^31-1]
> BackupVersion | DpTimestamp | Timestamp when the backup was taken. Backups of same Dataset at different locations have same Version if their contents are identical. The management station keeps track of which Backups have identical contents and assigns same Version To them. The Timestamp Value is the time in seconds since 00:00:00 Jan 1, 1970, UTC.
> DatasetId | ObjId | Id of the Dataset To which this backup Instance is associated with.
> DatasetName | ObjName | Name of the Dataset To which this backup Instance is associated with.
> DpBackupExpiryTimestamp | DpTimestamp optional | Time when this backup Instance will expire, at which point Protection Manager will delete this backup. The Timestamp Value is the time in seconds since 00:00:00 Jan 1, 1970, UTC. This will not be returned when the Retention Type for the backup is unlimited.
> DpNodeId | xsd:integer | Id of the Dataset node which holds the backup Instance.
> DpNodeName | xsd:string | Name of the Dataset node which holds the backup Instance.
> IsApplicationBackup | xsd:boolean | True, if the backup in an application consistent backup.

Element definition: SnapshotDependency | [top]

> Application dependent on this Snapshot copy. Possible Values: "snapmirror", "snapvault", "dump", "volume_clone", "lun_clone", "snaplock", "acs".

> [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]