|
APIs in Category: storage-service |
API version 5.0 |
storage-service-create |
A storage service is a set of policies, resource pools and vFiler templates that define a storage service level, usually corresponding to a service-level objective. A dataset may be provisioned by specifying a desired storage service. The resource pool used to provision the storage and the policies governing the dataset are determined by the storage service specified. A storage provider controls the services being delivered to a set of datasets by controlling the service definitions and the service attachments. If the storage provider modifies a storage service definition, all datasets with the service attached will be affected. If the storage provider changes the storage service attached to a dataset from one service to another, only the dataset is affected. Affected datasets may go out of conformance, possibly resulting in automated actions. In an environment where the storage provider is responsible for translating enterprise service-level agreements into NetApp-specific policy configuration or subscribers lack expertise in NetApp technology, storage services should be used for provisioning instead of creating datasets with explicitly assigned policies and resource pools. This model is particularly well-suited to integration of orchestration tools and scripts with APIs. |
| storage-service-create | [top] |
Create a new storage service.
Input Name Range Type Description group-name-or-id obj-name-or-id
optional
Resource group to which the newly created storage service will be added to. User should have DFM.Service.Write capability on the specified group. Default value: Global group. protection-policy-name-or-id obj-name-or-id
optional
Name or identifier of the protection policy to associate with this storage service. The data protection license is required for this input. storage-service-contact email-address-list
optional
Contact for the storage service, such as the owner's e-mail address. storage-service-description string
optional
Description of the new storage service, up to 255 characters long. storage-service-name obj-name
Name of the new storage service. It cannot be all numeric. The allowed characters are a to z A to Z 0 to 9 ' ' (space) . (period) _ (underscore) - (hyphen) If any other characters are included, an error is returned. storage-service-node-list storage-service-node-attributes[]
Attributes of the policy nodes. storage-service-owner string
optional
Name of the owner of the storage service, up to 255 characters long. Output Name Range Type Description storage-service-id obj-id
Identifier of the new storage service
Errno Description EOBJECTAMBIGUOUS EOBJECTNOTFOUND ESERVICEEXISTS EDATABASEERROR EINTERNALERROR EACCESSDENIED EAPILICENSE EINVALIDINPUT EAPIERROR
| storage-service-dataset-list-iter-end | [top] |
Ends iteration to list of datasets associated with a storage service.
Input Name Range Type Description tag string
Tag from a previous storage-service-dataset-list-iter-start.
Errno Description EINVALIDTAG
| storage-service-dataset-list-iter-next | [top] |
Get next few records in the iteration started by storage-service-dataset-list-info-iter-start.
Input Name Range Type Description maximum integer
The maximum number of entries to retrieve. tag string
Tag from a previous storage-service-dataset-list-iter-start. Output Name Range Type Description records integer
The number of records actually returned. storage-service-datasets-info storage-service-dataset-info[]
Information about a dataset and its association with a storage service.
Errno Description EINVALIDTAG EINVALIDINPUT EAPIERROR
| storage-service-dataset-list-iter-start | [top] |
Lists the association of datasets with storage services. If no service/dataset name or id is provided then all datasets with no storage service are listed.
Input Name Range Type Description object-name-or-id obj-name-or-id
optional
Name or identifier of the storage service, resource group or dataset. If a resource group is provided, storage services and datasets associated with them are returned. If this input is not provided then all datasets with no storage service are listed. Output Name Range Type Description records integer
Number of records that have been saved for future retrieval with storage-service-dataset-list-iter-next. tag string
Tag to be used in subsequent calls to storage-service-dataset-list-iter-next.
Errno Description EAPIAUTHENTICATION EACCESSDENIED EOBJECTAMBIGUOUS EOBJECTNOTFOUND EDATABASEERROR EAPIERROR
| storage-service-dataset-modify | [top] |
Attach, detach, or clear a storage service to a dataset.
Input Name Range Type Description assume-confirmation boolean
optional
Value determining whether confirmation is given for all resolvable conformance actions that require user confirmation. If the value is true, all conformance actions which require user confirmation will be executed as if confirmation is already granted. If the value is false, all conformance actions which require user confirmation will not be executed. One key, and sometimes undesirable, resolvable action that requires user confirmation is the possible re-baseline of a relationship. By default, assume-confirmation is false. dataset-name-or-id obj-name-or-id
Name or identifier of the dataset object dry-run boolean
optional
If true, return the dry-run-results list as well as the conformance-alerts list. The dry-run-results list contains actions that would be taken should the changes be committed without actually committing the changes. The conformance-alerts list contains high level alerts to notify a user of conditions that will impact any attempt to commit the changes. A conformance alert may warn that if the changes are committed, one or more rebaseline operations may be done. The conformance alerts may also warn of conditions that exist that may prevent the successful conformance of services. By default, dry-run is false. include-dry-run-reason-details boolean
optional
If true or omitted, then include any possible dry-run-reason-details along with the associated dry-run-result element. Default value is true. If false, the dry-run-reason-details will not be returned. operation-type string
Possible values, "attach", "detach", or "clear". "detach" means: For storage datasets, detach the storage service, but leave the dp policy and resource pools attached to the dataset. For datasets containing application resources or having an application policy, detachment of storage service is not allowed, since these datasets can not have dp policy or resource pools directly attached. So this will error out. "clear" means to detach the storage service, as well as detach the dp policy and resource pools. It can have some destructive side effects such as destroying protection relationships. storage-service-name-or-id obj-name-or-id
optional
Name or identifier of the storage service object. It is not required for 'detach' or 'clear' operation storage-service-node-list storage-service-node-attributes[]
optional
Information about dp policy node mapping. This input is considered only for 'attach' operation to specify the node mapping. Specify only dp-node-name and old-dp-node-name. All other elements of this input will be ignored, if specified. Output Name Range Type Description conformance-alerts conformance-alert[]
optional
Alerts that apply to the conformance check. Each alert describes one type of condition that a user should be aware of before attempting to conform any more services. Only returned if dry-run is true. dry-run-results dry-run-result[]
optional
Results of a dry run. Each result describes one action the system would take and the predicted effects of that action. Only returned if dry-run is true.
Errno Description EACCESSDENIED EOBJECTAMBIGUOUS EOBJECTNOTFOUND EDATABASEERROR EDPPOLICYNODENOTFOUND EINVALIDINPUT EOPERATIONNOTSUPPORTED EAPIERROR EINTERNALERROR
| storage-service-dataset-provision | [top] |
Creates a dataset with the specified storage service
Input Name Range Type Description application-info application-info
optional
If is-application-data is true, then this element will contain information about the application which manages this dataset. assume-confirmation boolean
optional
Value determining whether confirmation is given for all resolvable conformance actions that require user confirmation. If the value is true, all conformance actions which require user confirmation will be executed as if confirmation is already granted. If the value is false, all conformance actions which require user confirmation will not be executed. Default value is false. dataset-contact email-address-list
optional
Contact for the dataset, such as the owner's e-mail address. dataset-description string
optional
Description of the new dataset, up to 255 characters long. dataset-metadata dfm-metadata-field[]
optional
Opaque metadata for dataset. Metadata is usually set and interpreted by an application that is using the dataset. DFM does not look into the contents of the metadata. dataset-name obj-name
Name of the new dataset. It cannot be all numeric. The allowed characters are a to z A to Z 0 to 9 ' ' (space) . (period) _ (underscore) - (hyphen) If any other characters are included, an error is returned. dataset-owner string
optional
Name of the owner of the dataset, up to 255 characters long. dry-run boolean
optional
If true, return the dry-run-results list as well as the conformance-alerts list. The dry-run-results list contains actions that would be taken should the changes be committed without actually committing the changes. The conformance-alerts list contains high level alerts to notify a user of conditions that will impact any attempt to commit the changes. A conformance alert may warn that if the changes are committed, one or more rebaseline operations may be done. The conformance alerts may also warn of conditions that exist that may prevent the successful conformance of services. By default, assume-confirmation is false. group-name-or-id obj-name-or-id
optional
Resource group to which the newly created dataset should be added to. User should have DFM.Dataset.Write capability on the specified group. Default value: Global group. include-dry-run-reason-details boolean
optional
If true or omitted, then include any possible dry-run-reason-details along with the associated dry-run-result element. Default value is true. If false, the dry-run-reason-details will not be returned. is-application-data boolean
optional
If true, the dataset is an application dataset managed by an external application. Default value is false.
is-suspended boolean
optional
True if an administrator has chosen to suspend this dataset for all automated actions (data protection and conformance check of the dataset). Default is false.
online-migration boolean
optional
Indicates, that the migration cutover has to be non-disrputive. By default the migration will be assumed to be disruptive. This applies only to the vFiler unit to be created or attached to the primary node of the dataset. If provided in input, either dataset-access-details or server-name-or-id should be provided in storage-set-info for the primary node. provision-member provision-member-request-info
optional
Information of the provisioning request for the member requires-non-disruptive-restore requires-non-disruptive-restore
optional
Specifies whether the dataset should be configured to enable non-disruptive restores from backup destinations. Default value is false.
storage-service-name-or-id obj-name-or-id
Name or object identifier of a storage service object. storage-set-details storage-set-info[]
optional
Configuration details for each storage set. volume-qtree-name-prefix string
optional
Prefix for volume and qtree names, up to 60 characters long. The allowed characters are a to z A to Z 0 to 9 ' ' (space) . (period) _ (underscore) - (hyphen) If any other characters are included, an error is returned. Output Name Range Type Description conformance-alerts conformance-alert[]
optional
Alerts that apply to the conformance check. Each alert describes one type of condition that a user should be aware of. Only returned if dry-run is true. dataset-id obj-id
Identifier of the newly provisioned dataset. dry-run-results dry-run-result[]
optional
Results of a dry run. Each result describes one action the system would take and the predicted effects of that action. Only returned if dry-run is true.
Errno Description EAPIERROR EINVALIDINPUT EOBJECTAMBIGUOUS EOBJECTNOTFOUND EACCESSDENIED EDATABASEERROR EINVALIDTIMEZONE EDATASETEXISTS EINVALIDMEMBER EMEMBERALREADYINGROUP EAPILICENSE EPROVISIONFAILED EVFILERINTERFACENOTSET
| storage-service-destroy | [top] |
Destroy a storage service. In order to destroy storage service containing datasets, force option must be supplied.
Input Name Range Type Description force boolean
optional
If true, allows destroying a storage service that is attached to datasets. By default, only storage services that are not associated with any datasets can be destroyed. This can only destroy storage services that have storage datasets attached. If the datasets attached to the storage services contain application resources or have application policy assigned, then the force option will not work. Because doing so would have destructive implications, the relationships would get destroyed, therefore, users have to manually clear the storage service from those datasets before the storage service can be destroyed. storage-service-name-or-id obj-name-or-id
Name or identifier of the storage service to destroy.
Errno Description EAPIAUTHENTICATION ESTORAGESERVICEINUSE EOBJECTNOTFOUND EOBJECTAMBIGUOUS EACCESSDENIED EDATABASEERROR EAPIERROR
| storage-service-list-info-iter-end | [top] |
Ends iteration to list storage services.
Input Name Range Type Description tag string
Tag from a previous storage-service-list-info-iter-start.
Errno Description EINVALIDTAG
| storage-service-list-info-iter-next | [top] |
Get next few records in the iteration started by storage-service-list-info-iter-start.
Input Name Range Type Description maximum integer
The maximum number of entries to retrieve. tag string
Tag from a previous storage-service-list-info-iter-start. Output Name Range Type Description records integer
The number of records actually returned. storage-services storage-service-info[]
List of storage services.
Errno Description EINVALIDTAG EINVALIDINPUT EAPIERROR
| storage-service-list-info-iter-start | [top] |
Starts iteration to list storage services.
Input Name Range Type Description is-dr-capable boolean
optional
If true, return only storage services which contain data protection policies, that are disaster recovery capable. If false, return only storage services which contain data protection policies, that are not disaster recovery capable or which do not contain any data protection policy. By default, return all storage services. object-name-or-id obj-name-or-id
optional
Name or identifier of a storage service or resource group. If a resource group is given, only the storage services which are direct members of the group are returned. Output Name Range Type Description records integer
Number of records that have been saved for future retrieval with storage-service-list-info-iter-next. tag string
Tag to be used in subsequent calls to storage-service-list-info-iter-next.
Errno Description EOBJECTAMBIGUOUS EOBJECTNOTFOUND EACCESSDENIED EDATABASEERROR EAPIERROR
| storage-service-modify | [top] |
Modify attributes for a storage service
Input Name Range Type Description assume-confirmation boolean
optional
Value determining whether confirmation is given for all resolvable conformance actions that require user confirmation. If the value is true, all conformance actions which require user confirmation will be executed as if confirmation is already granted. If the value is false, all conformance actions which require user confirmation will not be executed. One key, and sometimes undesirable, resolvable action that requires user confirmation is the possible re-baseline of a relationship. By default, assume-confirmation is false. dry-run boolean
optional
If true, return the dry-run-results list as well as the conformance-alerts list. The dry-run-results list contains actions that would be taken should the changes be committed without actually committing the changes. The conformance-alerts list contains high level alerts to notify a user of conditions that will impact any attempt to commit the changes. A conformance alert may warn that if the changes are committed, one or more rebaseline operations may be done. The conformance alerts may also warn of conditions that exist that may prevent the successful conformance of services. By default, dry-run is false. include-dry-run-reason-details boolean
optional
If true or omitted, then include any possible dry-run-reason-details along with the associated dry-run-result element. Default value is true. If false, the dry-run-reason-details will not be returned. protection-policy-name-or-id obj-name-or-id
optional
Name or identifier of the protection policy to associate with this storage service. The data protection license is required for this input. storage-service-contact email-address-list
optional
Contact for the storage service, such as the owner's e-mail address. storage-service-description string
optional
Description of the storage service, up to 255 characters long. storage-service-name obj-name
optional
storage-service-name-or-id obj-name-or-id
Name or object identifier of a storage service object. storage-service-node-list storage-service-node-attributes[]
optional
Information about dp policy nodes. storage-service-owner string
optional
Name of the owner of the storage service, up to 255 characters long. Output Name Range Type Description conformance-alerts conformance-alert[]
optional
Alerts that apply to the conformance check. Each alert describes one type of condition that a user should be aware of before attempting to conform any more services. Only returned if dry-run is true. dry-run-results dry-run-result[]
optional
Results of a dry run. Each result describes one action the system would take and the predicted effects of that action. Only returned if dry-run is true.
Errno Description EOBJECTNOTFOUND EDATABASEERROR EINTERNALERROR EACCESSDENIED EDATASETMIGRATING EDATASETFAILINGOVER EAPIERROR EINVALIDINPUT EOBJECTAMBIGUOUS ESERVICEEXISTS
| Element definition: application-info | [top] |
Information about an application.
Name Range Type Description application-name string
Name of an application, up to 255 characters long. For example: "SnapManager for Oracle" application-server-name string
The name of the server the application is running on, up to 255 characters long. This is the name of the host server, rather than the name of the client application. application-version string
Version of an application, up to 255 characters long. For example: "2.1" carry-primary-backup-retention boolean
optional
If this input is true, retention type of the primary backup is assigned to its replicas on the other nodes of the dataset. An exception is made if the dp-backup-start API with retention-type specified, starts the replication. In that case, the retention type specified in dp-backup-start is assigned to the replicas thereby overriding the retention type of the primary backup. If a scheduled event starts the replication, retention type specified in the schedule event is ignored. If this input is false, retention type of the primary backup is ignored when assigning retention type to its replicas. Depending on how the backup transfer job was started, the retention type specified either in dp-backup-start API or the one specified in the schedule is assigned to the replica of the primary backup.
When this input is false, replicas of the primary backup may get an undesired retention type if the schedules are not configured very carefully. Therefore, it is recommended that any new users of the API should always set this input to true.
Note that even if the retention type of primary and secondary backups is the same, the retention duration may be different for them. The retention duration is specified for each node in the data protection policy. See dp-policy-node-info for more details.
Always present in the output.
Default is true.
is-application-managing-primary-backup-retention boolean
optional
If this input is true, Protection Manager does not enforce retention settings in the policy on the primary backups. Application is responsible for deleting primary backups, possibly by invoking dp-backup-version-delete API. If this input is false, Protection Manager deletes the primary backups according to the retention settings specified in the policy.
Always present in the output.
Default is false.
is-application-responsible-for-primary-backup boolean
DFM creates primary backup versions only if this option is false.
| Element definition: conformance-alert | [top] |
A description of one conformance check alert that should be noted by a user.
Name Range Type Description conformance-alert-effect string
optional
The predicted effect of the alert. If there is no effect, this element will not be present conformance-alert-reason string
Specifies possible reasons for alert. conformance-alert-severity obj-status
severity of the alert. Possible values are "information", "error" or "warning". conformance-alert-suggestion string
optional
Present only if severity is error or warning. Specifies any suggestions to rectify the warnings, errors. If there are no suggestions to specify, this element will not be present. conformance-alert-type conformance-alert-type
Indicates the type for this alert
| Element definition: dfm-metadata-field | [top] |
Named field in the metadata.
Name Range Type Description field-name string
Name of the metadata field. Field names are up to 255 characters in length and are case- insensitive. field-value string
Arbitrary, user-defined data expressed as a string. The string is opaque to the server and must not exceed 16384 (16k) characters in length.
| Element definition: dry-run-result | [top] |
A description of one action and the predicted effects of taking that action.
Name Range Type Description dry-run-action string
An action the system would take. dry-run-effect string
The predicted effect of the action. dry-run-reason string
optional
Present only if severity is error or warning. Specifies possible reasons for the error, warning. If there are no reasons to specify, this element will not be present. dry-run-reason-details result-detail[]
optional
These details apply to the associated dry-run-reason within the same dry-run-result. These offer additional information such as the reasons individual reasources may not have been selected for the dry-run-action in this same dry-run-result. dry-run-severity obj-status
severity of the dry-run result. Possible values are "information", "error" or "warning". dry-run-suggestion string
Present only if severity is error or warning. Specifies any suggestions to rectify the warnings, errors. If there are no suggestions to specify, this element will not be present.
| Element definition: email-address-list | [top] |
A list of email addresses. If more than one email address is specified, the addresses must be seperated by a ','. Spaces (and other white space) are not allowed, either between addresses or in them. Unprintable characters are also invalid. The list may contain up to 255 characters.
[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. dataset, 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 built in 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 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 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-name-or-id | [top] |
Name or internal ID of a DFM object. This typedef is an alias for the builtin ZAPI type string. An obj-name-or-id must contain between 1 and 64 characters, and must conform to one of the following formats: Elements of type obj-name-or-id 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.
- It must have the format of an obj-name, or
- It must be the decimal numeric string form of a positive integer whose value is in the range [1..2^31 - 1].
- In case of application resources from the Host Service, this field can contain unique identifier assigned to the object by the Host Service e.g. for a Virtual Machine, it can be a GUID of the VM. One exception is when such unique identifier is a decimal numeric string containing only digits from 0 through 9. In that case, you cannot use such identifier as obj-name-or-id input.
If the format of an obj-name-or-id 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: provision-member-request-info | [top] |
Details specific to the 'provision_member' request.
Name Range Type Description comments provision-member-comment[]
optional
Comment values to assign to the newly provisioned storage object. create-new-vfiler boolean
optional
True, if new vFiler Unit needs to be created during provisioning. The provisioned storage container is then moved to the vFiler Unit. This input is applicable only in the context of resourcepool-member-list-info-iter-start zapi and run-provisioning-checks is specified as 'true'. This input is ignored in dataset-provision-member and storage-service-dataset-provision zapi. The default value is 'false'. dataset-export-info dataset-export-info
optional
Specifies the NAS or SAN export settings for the the provisioning member. Member level export settings cannot be specified, if export settings have been configured at node level. description string
optional
Description of the provisioning request. The length of this string cannot be more than 255 characters. initial-snapshot-space integer
optional
Applicable when provisioning members in SAN data sets (i.e. datasets associated with provisioning policy of type 'san'). Specify the initial disk space in bytes that needs to be allocated upfront for Snapshot copies of the member. Range: [1..2^63-1] maximum-data-size integer
validate
optional
Maximum storage space for the dataset member. Applicable when provisioning members in NFS data sets (i.e. datasets associated with provisioning policy of type 'nas' and export over 'NFS' protocol). Storage clients can write data up to this limit if the containing aggregate has space. The value is specified in bytes. Range: [1..2^63-1] maximum-snapshot-space integer
optional
Applicable when provisioning members in SAN data sets (i.e. datasets associated with provisioning policy of type 'san'). Specify the maximum disk space in bytes for the Snapshot copies of the member. Once the space consumed by Snapshot copies reaches this value, further Snapshot copies will fail. Range: [1..2^63-1] name string
Name of the storage container. If this is a NAS dataset, i.e the provisioning policy associated with the primary node of the dataset is of type 'nas', then this name corresponds to the qtree or volume created. If this is a SAN dataset, i.e the provisioning policy associated with the primary node of the dataset is of type 'san', then this name corresponds to the LUN or volume that will be provisioned as part of this request. The length of this string cannot be more than 255 characters. online-migration boolean
optional
Indicates whether pre checks related to online migration has to be performed on the storage system during provisioning. This input is applicable only in the context of resourcepool-member-list-info-iter-start API and run-provisioning-checks is specified as true and either create-new-vfiler is true or vfiler-name-or-id is specified. This input is ignored in storage-service-dataset-provision and dataset-provision-member APIs. provisioning-policy-id obj-id
optional
Name or identifier of the provisioning policy used with this request. Ignored for dataset-provision-member and storage-service-dataset-provision and is used only when listing provisioning requests and jobs. provisioning-policy-name obj-full-name
optional
Name of the provisioning policy used with this request. Present only if the request type is 'provision_member'. Ignored for dataset-provision-member and storage-service-dataset-provision and is used only when listing provisioning requests and jobs. resource-name-or-id obj-name-or-id
optional
Name or identifier of the resource object from which storage space will be provisioned. valid types of objects are:- The filer or aggregate specified should belong to the resource pool(s) associated with primary node of the dataset.
- Filer
- Aggregate
size integer
validate
Amount of storage space for data. Whether this space has to allocated on demand or reserved upfront from an aggregate in resource pool is decided based on the provisioning policy settings. The value is specified in bytes. Range: [1..2^63-1] vfiler-name-or-id obj-name-or-id
optional
Name or id of the vFiler Unit, if specified the newly provisioned dataset member will be moved to the specified vFiler Unit and accessed via the vFiler Unit's IP addresses. Ignored for storage-service-dataset-provision.
| Element definition: requires-non-disruptive-restore | [top] |
When this attribute is set, the dataset is configured to allow LUNs to be restored from backups in such a way that the host need not detach from the LUN. Configuring the dataset for non-disruptive restore does not guarantee that all backup instances may be restored non-disruptively. It only applies to backup instances reached through a Backup connection. The caller must check the supports-non-disruptive-restore output element returned by dp-backup-list-info-next to tell whether a given backup instance can be restored non-disruptively.
Specifically, when this attribute is set:
- All storage systems must be running ONTAP 7.3 or later.
- Protection Manager must have working ZAPI credentials for all storage systems in use by this dataset.
- All Backup connections will be implemented using SnapVault, not Qtree SnapMirror.
- All non-primary storage systems used by the data set must have a SnapVault Secondary license.
If any of these constraints is not met when adding a member to the dataset, the dataset will not be in conformance and the addition will generate conformance errors. Addition of members with ONTAP version less than 7.3 to the primary node of the dataset will fail with errors.
requires-nondisruptive-restore may only be specified if:
Thus, if requires-non-disruptive-restore is specified as true, is-application-data must also be present and true. Callers may check the non-disruptive-restore-compatible output element of the dp-policy-list-info-iter-next API to tell which policies may be applied to datasets requiring non-disruptive restores.
- No Backup connection in the protection policy used by the dataset is DR capable (i.e. the is-dr-capable attribute may not be set for any Backup connection of the policy).
- The dataset must be an application dataset.
[none]
| Element definition: storage-service-dataset-info | [top] |
Name Range Type Description dataset-id obj-id
Identifier of the dataset. dataset-name obj-name
Name of the dataset. storage-service-id obj-id
optional
Name of the storage service. This will not be returned if the dataset is not associated with the storage service. storage-service-name obj-name
optional
Name of the storage service. This will not be returned if the dataset is not associated with the storage service.
| Element definition: storage-service-info | [top] |
Name Range Type Description datasets dataset-reference[]
optional
List of datasets attached to the storage service. is-dr-capable boolean
optional
True, if storage service has data protection policy associated with it, which is disaster recovery capable. protection-policy-id obj-id
optional
Identifier of the protection policy protection-policy-name obj-name
optional
Name of the protection policy. storage-service-contact email-address-list
Contact for the storage service, such as the owner's e-mail address. storage-service-description string
Description of the new storage service. storage-service-id obj-id
Identifier of storage service. storage-service-name obj-name
Name of the storage service. storage-service-nodes storage-service-node-info[]
Information about storage service nodes. storage-service-owner string
Name of the owner of the storage service.
| Element definition: storage-service-node-attributes | [top] |
Name Range Type Description dp-node-name dp-policy-node-name
optional
Name of the node in the data protection policy. dp-node-name must match exactly the name of one of the nodes in the data protection policy that is currently assigned to the storage service. This element can be absent if no protection policy was assigned to the storage service, in which case, the details are assumed for the primary node. old-dp-node-name dp-policy-node-name
optional
Name of the old data protection policy node to be mapped to the new data protection policy node. When the data protection policy of storage service is modified and this element is provided, the node dp-node-name of the new policy will acquire the attributes of this node. Also for all the datasets attached to the storage service, storage sets mapped to old-dp-node-name of the old protection policy will be re-mapped to node dp-node-name of the new protection policy. If not provided when data protection policy is being modified, for all the datasets attached to the storage service, new storage sets would be created for node dp-node-name. This element is only used by storage-service-modify and storage-service-dataset-modify API for 'attach' operation type. This input is ignored in storage-service-create API provisioning-policy-name-or-id obj-name-or-id
optional
Name or identifier of the provisioning policy to be associated with the node. This element is used only by storage-service-create and storage-service-modify API. This element will be ignored, if specified for storage-service-dataset-modify API. In storage-service-modify API, if the value specified for the element is empty, then the provisioning policy associated with the node will be cleared. resourcepools resourcepool-name-or-id[]
optional
Name or identifier of the resource pools to be associated with the node. This element is used only by storage-service-create and storage-service-modify API. This element will be ignored, if specified for storage-service-dataset-modify API. vfiler-template-name-or-id obj-name-or-id
optional
Name or identifier of the vFiler template to be used to create a vFiler unit for dataset node. This element is used only by storage-service-create and storage-service-modify API. This element will be ignored, if specified for storage-service-dataset-modify API. In storage-service-modify API, if the value specified for the element is empty, then the vFiler template associated with the node will be cleared.
| Element definition: storage-set-info | [top] |
Name Range Type Description dataset-access-details dataset-access-details
optional
Details of the vFiler unit to be created through which the dataset members provisioned for this node will be exported. Both server-name-or-id and dataset-access-details cannot be specified for a node. dataset-export-info dataset-export-info
optional
Specifies the NAS or SAN export settings for members provisioned in this node of the dataset dp-node-name dp-policy-node-name
optional
Name of the node in the data protection policy. dp-node-name must match exactly the name of one of the nodes in the data protection policy that is currently assigned to the storage service. This element can be absent if no protection policy was assigned to the storage service, in which case, the details are assumed for the root storage set. server-name-or-id obj-name-or-id
optional
Name or identifier of the vFiler unit to be attached to the node. If a vFiler unit is attached, then all members provisioned into this node will be exported over this vFiler unit. Both server-name-or-id and dataset-access-details cannot be specified for a node. timezone-name string
optional
Timezone to assign to the node. If specified, the value must be a timezone-name returned by timezone-list-info-iter-next. If no timezone is assigned, then the default system timezone will be used.
| Element definition: conformance-alert-type | [top] |
The type of alert that is being issued is indicated by a field of this type. The alert-type may apply to the conformance-alerts. Possible values are: 'diskspace' and 'rebaseline'.
Please see conformance-alerts where the above values may be used for additional information.
- diskspace: An alert can be issued for when DFM station disk space is so low as to impact the operation of DFM.
- rebaseline: When the system detects that existing relationships are in need of migration an alert of this type may be issued to warn that a rebaseline may be done should the user confirm conformance for non-conformant datasets.
[none]
| Element definition: dataset-access-details | [top] |
The data access details of a dataset. Currently, this is used to configure a dataset in a way that it is capable of transparent migration. A dataset can be configured and provisioned in a way that it is capable of transparent migration. IP Address and netmask has to be configured on the dataset in order to make the dataset capable of transparent migration. Provisioning Manager will create a vFiler unit with this IP Address and all the storage provisioned for this dataset will be accessed from this vFiler unit or this IP address. As input, it is valid only when: - There are no members in the dataset. - There is no vFiler unit attached to the dataset.
Name Range Type Description ip-address string
IP address in dotted decimal format. (for example, "192.168.11.12"). The length of this string cannot be more than 16 characters. netmask string
Netmask for the IP Address in dotted decimal notation. As input, this is valid only when ip-address is also provided in dataset-access-details. Provisioning Manager will create a vFiler unit whose IP Address will be the one configured as ip-address and it will be bound to an interface with this netmask.
| Element definition: dataset-export-info | [top] |
Specifies the NAS or SAN export settings for a dataset node.
Name Range Type Description dataset-cifs-export-setting dataset-cifs-export-setting
optional
The CIFS export settings for storage exported over CIFS. This field may be present only if the dataset-export-protocol is 'cifs' or 'mixed'. dataset-export-protocol dataset-export-protocol
optional
Specifies the protocol over which members of the dataset node will be exported. This value is always returned. If omitted during a modify operation, the existing value is not changed. If specified as 'none' in a modify operation, the existing settings will be cleared. Default value is 'none'. Depending on the export protocol, dataset-lun-mapping, or a combination of dataset-nfs-export-setting and dataset-cifs-share-permissions, should be specified in a modify operation, and will be returned in the iterator output. dataset-lun-mapping-info dataset-lun-mapping-info
optional
Specifies the hosts and/or initiators to which LUNs in this dataset node will be mapped, and the igroup OS type. This field may be present only if the dataset-export-protocol is 'fcp' or 'iscsi'. dataset-nfs-export-setting dataset-nfs-export-setting
optional
The NFS export settings for storage exported over NFS. This field may be present only if the dataset-export-protocol is 'nfs' or 'mixed'.
| Element definition: dataset-reference | [top] |
The name and id of a dataset.
Name Range Type Description dataset-id obj-id
Identifier for the dataset.
Range: [1..2^31-1]dataset-name obj-name
Name of the dataset.
| Element definition: dp-policy-node-name | [top] |
Name of a node in a DP policy graph. This typedef is an alias for the builtin ZAPI type string. A node name may contain from 1 to 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'). The name of each node in a DP policy must be unique, but nodes in different policies may share the same name. Node names are always compared in a case-insensitive manner. This means that, for example, "a" and "A" are considered to be the same name for purposes of: creating new nodes for a new policy, renaming nodes of an existing policy, or looking up a policy's nodes by name. On the other hand, ZAPIs that return node names do not change the capitalization at all. For example, if a node's name has been set to "Backup", then dp-policy-list-iter-next returns its name as "Backup".
Note that a node name has the same format as an obj-name, and has similar properties such as case-insensitivity. However, a node name is not a kind of obj-name because a DP policy node is a part of a DP policy object, but is not itself a first-class DFM object.
[none]
| Element definition: email-address-list | [top] |
A list of email addresses. If more than one email address is specified, the addresses must be seperated by a ','. Spaces (and other white space) are not allowed, either between addresses or in them. Unprintable characters are also invalid. The list may contain up to 255 characters.
[none]
| Element definition: obj-full-name | [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 obj-name, 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 obj-name and obj-full-name are identical.
[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. dataset, 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 built in 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 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 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-name-or-id | [top] |
Name or internal ID of a DFM object. This typedef is an alias for the builtin ZAPI type string. An obj-name-or-id must contain between 1 and 64 characters, and must conform to one of the following formats: Elements of type obj-name-or-id 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.
- It must have the format of an obj-name, or
- It must be the decimal numeric string form of a positive integer whose value is in the range [1..2^31 - 1].
- In case of application resources from the Host Service, this field can contain unique identifier assigned to the object by the Host Service e.g. for a Virtual Machine, it can be a GUID of the VM. One exception is when such unique identifier is a decimal numeric string containing only digits from 0 through 9. In that case, you cannot use such identifier as obj-name-or-id input.
If the format of an obj-name-or-id 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: 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 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.
[none]
| Element definition: provision-member-comment | [top] |
One comment field to fill in as part of the request
Name Range Type Description comment-field-name-or-id comment-field-name-or-id
Name or identifier of the comment field. comment-value comment-value
Value of the comment field. An empty string can be used to unset the value of the comment field for this object.
| Element definition: resourcepool-name-or-id | [top] |
Resource Pool. Value can be a DFM object name (maximum 255 characters) or the DFM id [1..2^31-1].
[none]
| Element definition: result-detail | [top] |
Details on a specific action that adds information intended to explain more about a higher level result. For example, the detail may be used to explain a dry-run result by explaining why resources were not selected.
Name Range Type Description action string
An action or check the system had taken. effect string
The result of the action or check. reason string
optional
Specifies possible reasons for the this result. If there are no reasons to specify, this element will not be present. severity obj-status
severity of the result result. Possible values are "information", "error" "warning". It is normal for "information" to be used to explain why a resource was not selected. suggestion string
Specifies any suggestions to rectify the information, warnings, errors. If there are no suggestions to specify, this element will not be present.
| Element definition: storage-service-node-info | [top] |
Name Range Type Description dp-node-id obj-id
ID of the node in the data protection policy that maps to the storage service node. dp-node-name obj-name
Name of the node in the data protection policy that maps to the storage service node. provisioning-policy-id obj-id
optional
Identifier of the provisioning policy associated with the node. provisioning-policy-name obj-name
optional
Name of the provisioning policy associated with the node. resourcepools resourcepool-info[]
optional
List of the resource pools associated with the node. vfiler-template-id obj-id
optional
Identifier of the vFiler template associated with the node. vfiler-template-name obj-name
optional
Name of the vFiler template associated with the node.
| Element definition: comment-field-name-or-id | [top] |
Name or identifier of the comment field. It must conform to one of the following formats:
- It must be of the format of comment-field-name
- It must be of the format of comment-field-id
[none]
| Element definition: comment-value | [top] |
Value of the specified comment field to be set on the object. This can be of maximum 1024 characters.
[none]
| Element definition: dataset-cifs-export-setting | [top] |
If storage inside this dataset node is exported over CIFS, this specifies some of the common properties that will be applied to all such provisioned storage.
Name Range Type Description cifs-domain string
optional
Name of the CIFS domain. If present, then only filers or vFilers belonging to this CIFS domain is considered for provisioning. If not present, then any filer is picked. Up to 255 characters. dataset-cifs-share-permissions dataset-cifs-share-permission[]
optional
Specifies the permissions granted to users on storage provisioned in this dataset node. This field may be present only if the dataset-export-protocol is 'cifs' or 'mixed'.
| Element definition: dataset-export-protocol | [top] |
Specifies the export protocols that members in this dataset node will be exported over. Possible values are 'nfs', 'cifs', 'mixed', 'fcp', 'iscsi' and 'none'. Specifying 'mixed' implies that the storage in the dataset should be exported over both NFS and CIFS.
[none]
| Element definition: dataset-lun-mapping-info | [top] |
Specifies the hosts and/or initiators to which LUNs in this dataset node will be mapped, and the igroup OS type.
Name Range Type Description igroup-os-type string
Specifies the OS type for initiators to map LUNs in the dataset node to. Possible values are: 'windows', 'windows_gpt', 'windows_2008', 'hpux', 'aix, 'linux, 'solaris', 'vmware', 'netware', 'hyper_v', 'xen', 'solaris_efi', and 'openvms' Here "windows_gpt" refers to Windows using GPT (GUID Partition Type) partitioning style and "windows_2008" refers to Windows Longhorn systems. lun-mapping-initiators lun-mapping-initiator[]
Specifies the initiators to map LUNs in the dataset node to, and, optionally, the host to which they belong.
| Element definition: dataset-nfs-export-setting | [top] |
If storage inside this dataset node is exported over NFS, this specifies some of the common properties that will be applied to all such provisioned storage.
Name Range Type Description anonymous-access-user string
optional
If the client accessing the export is not present in the root access list for the export, the effective user for root is the value specified for this field. Default value is 65534 which maps to user nobody. It could be an integer Range: [0..65534] or a user name not more than 255 characters. disable-setuid boolean
optional
If true, causes the server file system to ignore attempts to enable the setuid or setgid mode bits. Default value is true. is-readonly-for-all-hosts boolean
optional
Specifies that all hosts receive read-only permissions on nfs exports in this dataset node. Equivalent to specifying "ro" on the filer. Default value is false. If true, is-readwrite-for-all-hosts must be false. is-readwrite-for-all-hosts boolean
optional
Specifies that all hosts receive read-write permissions on nfs exports in this dataset node. Equivalent to specifying "rw" on the filer. Default value is false. If true, is-readonly-for-all-hosts must be false. nfs-export-ro-hosts nfs-export-host[]
optional
A list of hosts with read-only permissions on exports in this dataset node. If a non empty list of nfs-export-ro-hosts is present along with is-readonly-for-all-hosts as true, then ZAPI will throw an error. nfs-export-root-hosts nfs-export-host[]
optional
A list of hosts with the root user having read-only or read-write permissions on exports in this dataset node. nfs-export-rw-hosts nfs-export-host[]
optional
A list of hosts with read-write permissions on exports in this dataset node. If a non empty list of nfs-export-rw-hosts is present along with is-readwrite-for-all-hosts as true, then ZAPI will throw an error. nfs-protocol-version string
optional
NFS protocol version, valid values are "v2", "v3" and "v4". Default value is "v3". If set, the storage systems that have the given version enabled will be selected to provision storage for the dataset. nfs-security-flavors nfs-security-flavor[]
optional
List of strings specifying the security flavors supported on exports in this dataset node. If this field is not specified, the default value of 'sys' is assumed.
| 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. dataset, 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 built in 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 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 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 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.
[none]
| Element definition: resourcepool-info | [top] |
Information about a resource pool.
Name Range Type Description aggregate-nearly-overcommitted-threshold integer
optional
The value (as an integer percentage) of the fullness threshold used to generate an "resourcepool nearly overcommitted" event for all the resource pools. If the value specified is empty, then the setting is cleared and the value specified in global options for aggrNearlyOvercommittedThreshold will be used. Range: [0..65535] aggregate-overcommitted-threshold integer
optional
The value (as an integer percentage) of the fullness threshold used to generate an "resourcepool overcommitted" event for all the resource pools. If the value specified is empty, then the setting is cleared and the value specified in global options for aggrOvercommittedThreshold will be used. Range: [0..65535] resource-tag resource-tag
optional
A label that can be associated with a resource pool. resourcepool-contact email-address-list
optional
Contact information for the resource pool, such as the owner's e-mail address. This is modifiable. resourcepool-description string
optional
Description of the resource pool, up to 255 characters long. This is modifiable. resourcepool-free-vfilers integer
optional
The number of vFiler units that can be created in this resource pool based on the current limit and number of vFiler units present in the storage systems that are members of the resource pool. Ignored for resourcepool-create and resourcepool-modify. Range: [0..2^64-1]. resourcepool-full-threshold integer
optional
The value (as an integer percentage) of the fullness threshold used to generate a "resource pool full" event for this resource pool. If the value specified is empty, then the resource pool setting is cleared and the value specified in resourcepool-get-defaults is used. Range: [0..1000] resourcepool-id integer
optional
Identifier of the resource pool. Its a valid DFM object id. A valid DFM object id would be in the range of [1..2^31-1]. Ignored for resourcepool-create and resourcepool-modify. resourcepool-is-provisionable boolean
optional
This is returned in resourcepool-list-info-iter-next if license-filter, resource-tag or reliability information is passed in the input, this is set to true or false depending on whether the resource pool meets all the three filters, Default value is set to TRUE. resourcepool-kbytes-available integer
optional
Amount of Kbytes of storage available in this resource pool. This value only present if include-free-space was true. Ignored for resourcepool-create and resourcepool-modify. Range: [0..2^63-1]. resourcepool-kbytes-total integer
optional
Total amount of Kbytes of storage in this resource pool. This value only present if include-free-space was true. Ignored for resourcepool-create and resourcepool-modify. Range: [0..2^63-1]. resourcepool-kbytes-used integer
optional
Amount of Kbytes of storage used in this resource pool. This value only present if include-free-space was true. Ignored for resourcepool-create and resourcepool-modify. Range: [0..2^63-1]. resourcepool-member-count integer
optional
The count of direct members added to the resource pool. This includes number of storage systems and aggregates added to the resource pool. Ignored for resourcepool-create and resourcepool-modify. Range: [0..2^31-1] resourcepool-name string
optional
Name of the resource pool. This is modifiable. This must be specified in resourcepool-create. Its a valid DFM object name. A valid DFM object name would contain at least one non-numeric character. resourcepool-nearly-full-threshold integer
optional
The value (as an integer percentage) of the fullness threshold used to generate a "resource pool nearly full" event for this resource pool. If the value specified is empty, then the resource pool setting is cleared and the value specified in resourcepool-get-defaults is used. Range: [0..1000] resourcepool-owner string
optional
Name of the owner of the resource pool, up to 255 characters long. This is modifiable. resourcepool-perf-status obj-status
optional
Current performance status of the resource pool. Ignored for resourcepool-create and resourcepool-modify. resourcepool-space-status string
optional
Space status of the resource pool. Possible values are: resourcepool-space-status is returned only if include-free-space is true in resourcepool-list-info-iter-start .
- ok : Sum of used space of all aggregates in the resource pool against the sum of total size of all aggregates has not reached or crossed resourcepool-nearly-full-threshold and none of the member aggregates have reached or crossed their full thresholds.
- member_nearly_full : Atleast one of the member aggregates of the resource pool has reached or crossed its nearly full threshold.
- nearly_full : Sum of used space of all aggregates in the resource pool against the sum of total size of all aggregates has reached or crossed resourcepool-nearly-full-threshold.
- member_full : Atleast one of the member aggregates of the resource pool has reached or crossed its full threshold.
- full : Sum of used space of all aggregates in the resource pool against the sum of total size of all aggregates has reached or crossed resourcepool-full-threshold.
resourcepool-status obj-status
optional
Current status of the resource pool. Ignored for resourcepool-create and resourcepool-modify. resourcepool-timezone string
optional
Time zone in which this pool's storage is located. This is modifiable. An empty value means to use the system default (usually GMT). Currently valid time zones can be listed by timezone-list-info-iter.
| Element definition: dataset-cifs-share-permission | [top] |
A single permission granted to a user on CIFS shares within a dataset node.
Name Range Type Description cifs-username string
Name of a user in the specified domain. The username may be the name of an actual domain user or one of the built-in names - 'administrator' or 'everyone'. permission cifs-permission
Specifies the permissions granted to a user.
| Element definition: email-address-list | [top] |
A list of email addresses. If more than one email address is specified, the addresses must be seperated by a ','. Spaces (and other white space) are not allowed, either between addresses or in them. Unprintable characters are also invalid. The list may contain up to 255 characters.
[none]
| Element definition: lun-mapping-initiator | [top] |
Specifies an initiator to map LUNs in the dataset node to, and, optionally, the host to which it belongs.
Name Range Type Description hostname string
optional
Specifies the name of the host which owns the initiator. initiator-id initiator-id
Specifies an initiator id on a host to which a LUN should be mapped.
| Element definition: nfs-export-host | [top] |
Specifies a single host or all-hosts. A host can be a host name (DNS name), an IP address, a subnet or a domain name. If an 'all-hosts' entry is present, all other host name entries must be negated.
Name Range Type Description hostname string
optional
Specifies a single host name entry. A host name may be a DNS name, an IP address, a subnet (specified as <subnet address>/<prefix length> i.e. CIDR notation or '[network] <subnet-address> [netmask] <netmask>'), a domain, or a workgroup. is-an-exception boolean
optional
Specifies that the rule does not apply to this host. Should be used when it is required to grant permissions to hosts in a subnet or a domain or all hosts excluding some. Default value is false.
| Element definition: nfs-security-flavor | [top] |
A security flavor to be applied on nfs exports. Possible values are 'none', 'sys' (Unix Style), 'krb5' (Kerberos v5) , krb5i' (Kerberos v5 integrity) and 'krb5p' (Kerberos v5 privacy). Default value is 'sys'.
[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 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.
[none]
| Element definition: resource-tag | [top] |
Label for the resource. Can be of maximum 255 characters.
[none]
| Element definition: cifs-permission | [top] |
Permission granted to a CIFS user on a share. Possible values are 'no_access', 'read', 'change' and 'full_control'
[none]
| Element definition: initiator-id | [top] |
For FCP initiators, this is a string composed of 16 hexadecimal digits. For iSCSI initiators, this is an initiator name in the dotted-domain notation.
[none]