|
APIs in Category: aggregate |
API version 3.7.1 |
aggregate-list-info-iter-end |
DFM tracks all the aggregates it discovers on storage systems it is monitoring. These APIs give the user access to the information DFM has collected about aggregates. |
| aggregate-list-info-iter-end | [top] |
The aggregate-list-info-iter-* set of APIs are used to retrieve the list of aggregates. aggregate-list-info-iter-end is used to tell the DFM station that the temporary store used by DFM to support the aggregate-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
| aggregate-list-info-iter-next | [top] |
For more documentation please check aggregate-list-info-iter-start. The aggregate-list-info-iter-next API is used to iterate over the members of the aggregates stored in the temporary store created by the aggregate-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 aggregate-list-info-iter-start. It's an opaque handle used by the DFM station to identify the temporary store created by aggregate-list-info-iter-start. Output Name Range Type Description aggregates aggregate-info[]
List of aggregates. records integer
The number of records actually returned. Range: [1..2^31-1]
Errno Description EINVALIDINPUTERROR EINVALIDTAG
| aggregate-list-info-iter-start | [top] |
The aggregate-list-info-iter-* set of APIs are used to retrieve the list of aggregates in DFM. The aggregate-list-info-iter-start API is used to load the list of aggregates 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 aggregates in the temporary store. If aggregate-list-info-iter-start is invoked twice, then two distinct temporary stores are created. If neither aggregate-name-or-id or aggr-group-name-or-id are provided, all aggregates will be listed. If either, but not both are provided, the aggregate or all aggregates in the group will be listed respectively. If aggregate-name-or-id and aggr-group-name-or-id are provided, the aggregate will be listed only if it is under the specified group.
Input Name Range Type Description aggregate-type string
optional
Filter by type of aggregate. Possible values are: If no aggregate-type input is supplied, all types of aggregates will be listed.
- traditional
- aggregate
include-is-available boolean
optional
If true, the is-available status is calculated for each aggregate which may make the call to this zapi take much longer. Default is false. is-dp-ignored boolean
optional
If TRUE, only list aggregates that have been set to be ignored for purposes of data protection. If FALSE, only list aggregates that have not been set to be ignored for purposes of data protection. If not specified, list all aggregates without taking into account whether they have been ignored or not. is-in-dataset boolean
optional
If TRUE, only list aggregates which only contain data which is protected by a dataset. If FALSE, only list aggregates containing data which is not protected by a dataset. If not specified, list all aggregates whether they are in a dataset or not. object-name-or-id string
optional
Name or identifier of an object to list aggregates for. The allowed object types for this argument are: If object-name-or-id identifies an aggregate, that single aggregate will be returned. If object-name-or-id resolves to more than one aggregate, all of them will be returned. If no object-name-or-id is provided, all aggregates will be listed.
- Resource Group
- Resource Pool
- Data Set
- Storage Set
- Host
- Aggregate
- Volume
- Qtree
rbac-operation string
optional
Name of an RBAC operation. If specified, only return aggregates for which authenticated admin has the required capability. A capability is an operation/resource pair. The resource is the volume where the aggregate lives. The possible values that can be specified for operation can be obtained by calling rbac-operation-info-list. 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. resourcepool-filter string
optional
Possible Value: 'in_rpool', 'not_in_rpool', 'all'. If set to 'in_rpool', only list aggregates that are in a resource pool. If set to 'not_in_rpool', only list aggregates that are not in a resource pool. If set to 'all', then list all aggregates. If a value is not specified, then 'all' will be the default. An aggregate is said to be in a resource pool if either the aggregate or the storage system containing the aggregate is a member of a resource pool. Output Name Range Type Description records integer
Number which tells you how many items have been saved for future retrieval with aggregate-list-info-iter-next. Range: [1..2^31-1] tag string
Tag to be used in subsequent calls to aggregate-list-info-iter-next. It is an opaque handle used by the DFM station to identify a temporary store.
Errno Description EINTERNALERROR EAPIERROR EACCESSDENIED EOBJECTNOTFOUNDERROR EOBJECTAMBIGUOUS EDATABASEERROR EINVALIDINPUTERROR
| aggregate-modify | [top] |
Modify an aggregate'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 aggregate.
- EINVALIDINPUT - When invalid input specified.
- EOBJECTNOTFOUND - When the aggregate-name-or-id does not correspond to an aggregate.
- EDATABASEERROR - On database error.
Input Name Range Type Description aggregate-name-or-id string
Name or identifier of the aggregate to modify. is-dp-ignored boolean
optional
True if an administrator has chosen to ignore this object for purposes of data protection.
Errno Description EACCESSDENIED EINVALIDINPUT EDATABASEERROR EOBJECTNOTFOUND
| Element definition: aggregate-info | [top] |
Information about a aggregate.
Name Range Type Description aggregate-id integer
Identifier of the aggregate. Range: [1..2^31-1] aggregate-name string
Simple name of the aggregate. Always present in the output. The name is any simple name such as myaggr. aggregate-perf-status obj-status
optional
Current status of the aggregate based on performance events aggregate-size aggregate-size
Sizes of various parameters of the aggregate. aggregate-status obj-status
optional
Current status of the aggregate based on all events aggregate-type string
Type of aggregate. Possible values are:
- traditional
- aggregate
datasets dataset-reference[]
List of data set IDs and names containing this volume. If is-in-dataset is false, this list will be empty. filer-id integer
Identifier of storage system on which the aggregate resides. Always present in the output. Range: [1..2^31-1] filer-name string
Name of storage system on which the aggregate resides. Always present in the output. The name is any simple name such as myhost. is-available 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 "include-is-available" flag. is-dp-ignored boolean
True if an admin wants to ignore this aggregate for purposes of data protection. is-in-dataset boolean
True indicates if this aggregate is a member of any dataset. resourcepool-name obj-name
optional
Name of the resource pool of which the aggregate is a member. This element will not be present if the aggregate is not a member of a resource pool.
| Element definition: aggregate-size | [top] |
Sizes of various parameters of an aggregate.
Name Range Type Description size-available integer
Available bytes in the aggregate. Range: [0..2^64-1]. size-total integer
Aggregate total size in bytes. Range : [0..2^64-1]. size-used integer
Aggregate bytes used. Range: [0..2^64-1]. space-total-committed integer
optional
Total space committed in bytes. Range: [0..2^64-1]
| 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-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]
| 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: 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]