APIs in Category: provisioning-policy
API version 5.0

 
provisioning-policy-copy
provisioning-policy-create
provisioning-policy-destroy
provisioning-policy-edit-begin
provisioning-policy-edit-commit
provisioning-policy-edit-rollback
provisioning-policy-list-iter-end
provisioning-policy-list-iter-next
provisioning-policy-list-iter-start
provisioning-policy-modify
Provisioning policy is a set of attributes that describe how to provision storage space for a dataset. A Provisioning policy can be associated with primary node, as well as non primary nodes in case the the dataset is protected. There are 3 types of provisioning policies
  • nas - used to provision and export storage over NFS/CIFS/both protocols.
  • san - used to provision and export storage over FCP/iSCSI protocols.
  • secondary - used to provision storage for Back up or Mirror destinations.
"san" and "nas" type of provisioning policies can be applied only to primary node or dr node of a dataset. The exact export protocol and export settings can be configured at dataset node level after this policy is applied to the dataset node using dataset-modify-node zapi.

"secondary" type of provisioning policy can be applied to non primary (Back up/Mirror) nodes of a dataset. The storage provisioned using this type of policy can be exported. Once the provisioning policy is associated with the dataset node the storage in the node is periodically monitored for conformance with the policy.

NetApp Manage ONTAP
 
provisioning-policy-copy [top]

Create a new provisioning policy by making a copy of an existing policy. The new policy created using this ZAPI has the same set of properties as the existing policy.
Error conditions:
  • EACCESSDENIED - User does not have privileges to read the existing policy from the database, or create a new policy, or both.
  • EOBJECTNOTFOUND - No existing policy was found that has the given name or ID.
  • EOBJECTAMBIGUOUS - Multiple objects with the given name present in database.
  • EPOLICYEXISTS - A policy with the given provisioning-policy-name already exists.
  • EDATABASEERROR - A database error occurred while processing the request.
  • EINVALIDINPUTERROR - Invalid input was provided.
Input Name Range Type Description
provisioning-policy-description string
optional
Description of the new policy. It may contain from 0 to 255 characters. If the length is greater than 255 characters, the ZAPI fails with error code EINVALIDINPUTERROR. The default value is the empty string "".
provisioning-policy-name obj-name
Name of the new policy. It must be unique across all provisioning and data protection policies.
source-policy-name-or-id obj-name-or-id
The name or ID of an existing policy that is copied to create the new policy.
 
Output Name Range Type Description
provisioning-policy-id obj-id
An object ID for the newly created policy.
 Errno  Description
 EACCESSDENIED
 EOBJECTNOTFOUND
 EOBJECTAMBIGUOUS
 EPOLICYEXISTS
 EDATABASEERROR
 EINVALIDINPUTERROR

 
provisioning-policy-create [top]
This ZAPI creates a new provisioning policy. Error conditions:
  • EACCESSDENIED - User does not have privileges to create policies.
  • EDATABASEERROR - A database error occurred while processing the request.
  • EINVALIDINPUTERROR - Invalid input was provided.
  • EPOLICYEXISTS - A provisioning policy with given name already exists.
Input Name Range Type Description
provisioning-policy-info provisioning-policy-info
Provisioning policy details of the new policy to be created.
 
Output Name Range Type Description
provisioning-policy-id obj-id
Object ID of the newly created policy.
 Errno  Description
 EACCESSDENIED
 EDATABASEERROR
 EINVALIDINPUTERROR
 EPOLICYEXISTS

 
provisioning-policy-destroy [top]
Destroy a provisioning policy. This removes it from the database.

If the policy has been applied to any dataset nodes, then the destroy operation fails; it must first be disassociated from all the dataset nodes to which it has been associated and then destroyed. Error conditions:

  • EACCESSDENIED - User does not have DFM.Policy.Delete on the policy being destroyed.
  • EOBJECTNOTFOUND - The specified provisioning policy does not exist in the database.
  • EPROVPOLICYINUSE - The policy is assigned to one or more datasets.
  • EDATABASEERROR - A database error occurred while processing the request.
  • EOBJECTAMBIGUOUS - Multiple objects with the given name present in database.
  • EEDITSESSIONINPROGRESS - The provisioning policy being destroyed locked in an edit session.
Input Name Range Type Description
force boolean
optional
force delete even if there is an edit session in progress on the provisioning policy.
provisioning-policy-name-or-id obj-name-or-id
validate
Name or id of the provisioning policy being destroyed.
 Errno  Description
 EACCESSDENIED
 EOBJECTNOTFOUND
 EDATABASEERROR
 EOBJECTAMBIGUOUS
 EEDITSESSIONINPROGRESS

 
provisioning-policy-edit-begin [top]
Create an edit session and obtain an edit lock on a provisioning policy to begin modifying the policy.

An edit lock must be obtained before invoking provisioning-policy-modify.

Use provisioning-policy-edit-commit to end the edit session and commit the changes to the database.

Use provisioning-policy-edit-rollback to end the edit session and discard any changes made to the policy.

24 hours after an edit session on a policy begins, any subsequent call to provisioning-policy-edit-begin for that same policy automatically rolls back the existing edit session and begins a new edit session, just as if the call had used the force option. If there is no such call, the existing edit session simply continues and retains the edit lock.


Error conditions:
  • EEDITINPROGRESS - Another edit session already has an edit lock on the specified provisioning policy.
  • EOBJECTNOTFOUND - No provisioning policy was found that has the given name or ID.
  • EACCESSDENIED - User does not have DFM.Policy.Write privilege on the policy. modify the provisioning policy.
  • EDATABASEERROR - A database error occurred while processing the request.
Input Name Range Type Description
force boolean
optional
validate
If true, and an edit session is already in progress on the specified policy, then the previous edit is rolled back and a new edit is begun. If false, and an edit is already in progress, then the call fails with error code EEDITINPROGRESS. Default value is false.
provisioning-policy-name-or-id obj-name-or-id
Name or ID of a provisioning policy.
 
Output Name Range Type Description
edit-lock-id integer
validate
Identifier of the edit lock on the policy. Range: [0..(2^31)-1]
 Errno  Description
 EEDITINPROGRESS
 EOBJECTNOTFOUND
 EACCESSDENIED
 EDATABASEERROR
 EINTERNALERROR

 
provisioning-policy-edit-commit [top]
Commit changes made to a provisioning policy during an edit session into the database.

If all the changes to the policy are performed successfully, the entire edit is committed and the edit lock on the policy is released.

If any of the changes to the policy are not performed successfully, then the edit is rolled back (none of the changes are committed) and the edit lock on the policy is released.

Use the dry-run option to test the commit. Using this option, the changes to the policy are not committed to the database.


Error conditions:
  • EEDITSESSIONNOTFOUND - No edit lock was found that has the given ID.
  • EACCESSDENIED - User does not have DFM.Policy.Write on the policy.
  • EPOLICYEXISTS - The policy's name is being changed, and a policy with the new name already exists.
  • EDATABASEERROR - A database error occurred while processing the request.
Input Name Range Type Description
dry-run boolean
optional
If true, return a list of the actions the system would take after committing the changes to the policy, but without actually committing the changes. In addition, the edit lock is not released. By default, dry-run is false.
edit-lock-id integer
Identifier of the edit lock on the policy. The value must be an edit lock ID that was previously returned by provisioning-policy-edit-begin ZAPI.
 
Output Name Range Type Description
dry-run-results dry-run-result[]
optional
Results of a dry run. Only returned if dry-run is true.
 Errno  Description
 EEDITSESSIONNOTFOUND
 EACCESSDENIED
 EPOLICYEXISTS
 EDATABASEERROR

 
provisioning-policy-edit-rollback [top]
Roll back changes made to a provisioning policy. The edit lock on the policy will be released after the rollback.
Error conditions:
  • EEDITSESSIONNOTFOUND - No edit lock was found that has the given ID.
  • EACCESSDENIED - User does not have privileges to modify the policy.
Input Name Range Type Description
edit-lock-id integer
validate
Identifier of the edit lock on the policy. The value must be an edit lock ID that was previously returned by provisioning-policy-edit-begin ZAPI.
 Errno  Description
 EEDITSESSIONNOTFOUND
 EACCESSDENIED

 
provisioning-policy-list-iter-end [top]
Terminate a list iteration that had been started by a call to provisioning-policy-list-iter-start. This informs the server that it may now release any resources associated with the temporary store for the list iteration.
Error conditions:
  • EINVALIDTAG - The specified tag does not exist.
Input Name Range Type Description
tag string
The opaque handle returned by the prior call to provisioning-policy-list-iter-start that started this list iteration.
 Errno  Description
 EINVALIDTAG

 
provisioning-policy-list-iter-next [top]
Retrieve the next series of policies that are present in a list iteration created by a call to provisioning-policy-list-iter-start. The server maintains an internal cursor pointing to the last record returned. Subsequent calls to provisioning-policy-list-iter-next return the next maximum records after the cursor, or all the remaining records, whichever is fewer.
Error conditions:
  • EINVALIDTAG - The specified tag does not exist.
Input Name Range Type Description
maximum integer
validate
The maximum number of policies to return. Range: [1..2^31-1].
tag string
The opaque handle returned by the prior call to provisioning-policy-list-iter-start that started this list iteration.
 
Output Name Range Type Description
provisioning-policies provisioning-policy-info[]
List of information about multiple provisioning policies.
records integer
Number of records actually returned in the output. Range:[0..2^31-1]
 Errno  Description
 EINVALIDTAG

 
provisioning-policy-list-iter-start [top]
Begin a list iteration over all content in all provisioning policies in the system. Optionally, you may iterate over the content of just a single policy.

After calling provisioning-policy-list-iter-start, you continue the iteration by calling provisioning-policy-list-iter-next zero or more times, followed by a call to provisioning-policy-list-iter-end to terminate the iteration.


Error conditions:
  • EACCESSDENIED - User does not have privileges to read the specified policy.
  • EOBJECTNOTFOUND - No policy was found that has the given name or ID.
  • EDATABASEERROR - A database error occurred while processing the request.
Input Name Range Type Description
is-policy-readonly boolean
optional
filter provisioning policies based on whether they can be modified or not If true, all the policies will be listed, including both modifiable and non-modifable If false, lists the the policies that can be modified
provisioning-policy-name-or-id obj-name-or-id
optional
Name or ID of the provisioning policy. If provisioning policy name or ID is specified, then provisioning-policy-type filter is ignored.
provisioning-policy-type provisioning-policy-type
optional
filter provisioning policies by type. Possible values are "nas", "san" and "secondary".
 
Output Name Range Type Description
records integer
Number of items present in the list iteration. Range:[0..2^31-1].
tag string
An opaque handle used to identify the list iteration. The list content resides in a temporary store in the server.
 Errno  Description
 EACCESSDENIED
 EOBJECTNOTFOUND
 EDATABASEERROR
 EINVALIDINPUTERROR

 
provisioning-policy-modify [top]
This ZAPI modifies the provisioning policy settings of an existing policy in the database with the new values specified in the input. Note: type of provisioning policy cannot be modified after creation. Before modifying the policy, an edit lock has to be obtained on the policy object.
Error conditions:
  • EEDITSESSIONNOTFOUND - No edit lock was found that has the given ID.
  • EEDITSESSIONCONFLICTINGOP - current modification made conflicts with previous change in the edit session.
  • EACCESSDENIED - User does not have privileges to modify the policy.
  • EOBJECTNOTFOUND - The policy was already destroyed during this edit session.
  • EOBJECTAMBIGUOUS - Multiple objects with the given name present in database.
  • EINVALIDINPUT - The requested modification is not applicable to the policy being modified.
  • EDATABASEERROR - A database error occurred while processing the request.
  • EDSCONFLICTDEDUPLICATION - Deduplication schedule cannot be set in the policy if it is attached to a SnapVault destination node. Valid only for secondary provisioning policy.
Input Name Range Type Description
edit-lock-id integer
validate
Identifier of the edit lock on the policy. The value must be an edit lock ID that was previously returned by provisioning-policy-edit-begin.
provisioning-policy-info provisioning-policy-info
New values for provisioning policy attributes. Any value specified in the provisioning-policy-info replaces the existing values of attributes. If an optional element is not specified no change is made to the existing attribute settings in database.
 Errno  Description
 EEDITSESSIONNOTFOUND
 EEDITSESSIONCONFLICTINGOP
 EEDITSESSIONINPROGRESS
 EACCESSDENIED
 EOBJECTNOTFOUND
 EOBJECTAMBIGUOUS
 EINVALIDINPUT
 EDATABASEERROR

 
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: 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:
  • It must contain between 1 and 64 characters.
  • It may start with any character and may contain any combination of characters, except that it may not consist solely of decimal digits ('0' through '9').
  • In some contexts, a name may be the empty string (""), which is interpreted as a null value, e.g., a reference to no object at all.
The behavior of a ZAPI when it encounters an error involving an obj-name input element depends on how the ZAPI uses the input element. Here are the general rules:
  • If the input name element is used to create a new object with the given name, or rename an existing object to that name, and the name does not conform to the above format, then the ZAPI fails with error code EINVALIDINPUTERROR. Note that because EINVALIDINPUTERROR is such a common error code, ZAPI specifications are not required to document cases when they may return it.
  • If the input name element is used to refer to an existing object with that name, and there is no object with that name, then the ZAPI fails with error code EOBJECTNOTFOUND. Generally the ZAPI specification documents cases when it may return this error code.
A ZAPI may deviate from these general rules, for example, it may return more specific error codes. In such cases, the ZAPI specification must document its behavior.

If an input name element is used to refer to an existing object, then the ZAPI specification must specify which DFM object type (e.g. data set, host, DP policy, etc.) is allowed. Some ZAPIs allow the object to be one of several different types. See the description of obj-full-name for examples of valid input formats.

Note that there is no requirement that all object names must be unique. However, the names for some specific types of objects are constrained such that no two objects of that type may have the same name. For example, this constraint applies to 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:
  • 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.
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.

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: provisioning-policy-info [top]
Contains all information about a single provisioning policy.
Name Range Type Description
advanced-options advanced-option-info[]
optional
A set of advanced options to be set on the storage provisioned with this policy.
custom-provisioning-script-settings custom-provisioning-script-settings
optional
Script settings used to perform post provisioning steps on the provisioned containers.
dataset-member-used-space-thresholds dataset-member-used-space-thresholds
optional
Nearly full and full thresholds for generating alerts on used space of dataset members.
dedupe-enabled boolean
optional
Specifies whether dedupe has to be enabled on all the volumes of the dataset with which the provisioning policy is associated. Default value is false.
dedupe-schedule string
optional
Specifies the schedule for deduplication that has to be set on the volumes of the dataset with which the provisioning policy is associated. Valid values are "none", "auto" and the format hour_list@day_list.
The 'hour_list' specifies which hours of the day the dedupe operation should run on each scheduled day. Hour ranges such as 8-17 are allowed. Step values can be used in conjunction with ranges. For example, 0-23/2 means "every two hours".
The 'day_list' specifies which days of the week the dedupe operation should run. It is a comma-separated list of the first three letters of the day: sun, mon, tue, wed, thu, fri, sat. The names are not case sensitive. Day ranges such as mon-fri can also be given.
Default value is "none".
is-policy-readonly boolean
optional
Specifies whether the policy is a golden copy of the canned provisioning policy.
nas-container-settings nas-container-settings
optional
Space and capacity settings applicable when datasets are accessed over NAS protocols like space guarantees, quotas, snapshot reserve out of space actions. Ignored when policy type is not "nas".
provisioning-policy-description string
optional
Description of the policy. It may contain from 0 to 255 characters. If the length is greater than 255 characters, the ZAPI fails with error code EINVALIDINPUT. The default value is the empty string "".
provisioning-policy-id obj-id
optional
Object ID of the policy, ignored while creating policy.
provisioning-policy-name obj-name
Name of the policy. Each provisioning policy has a name that is unique among provisioning and data protection policies. Should be provided while creating a new policy.
provisioning-policy-type provisioning-policy-type
optional
Type of provisioning policy, valid types are "nas", "san" and "secondary".
resource-tag string
optional
A label associated with a resource pool or its elements (filer/aggregates). A label serves as a filter when selecting resources, during provisioning,i.e only those resources that have a macthing tag are considered for provisioning.
For example: An adminitrator can label resource pools as "low-cost" and create a provisioning policy with resource-tag set to "low-cost" to place datasets on cheap storage. It may contain from 0 to 255 characters.
san-container-settings san-container-settings
optional
Space and capacity settings applicable when datasets are accessed over SAN protocols Ignored when policy type is not "san".
storage-reliability storage-reliability
optional
Specifies desired level of storage reliability required for the dataset. Provisioning Manager will try find a resource which is configured to provide desired reliability and provision FlexVols on it, In case such a resource is not available the provisioning request will fail.

 
Element definition: provisioning-policy-type [top]
type of provisioning policy. Possible values are "san", "nas" and "secondary".
[none]

 
Element definition: advanced-option-info [top]
A set of advanced options to be set on the provisioned storage containers.
Name Range Type Description
option-name string
Name of the advanced option
option-value string
Value of the advaced option

 
Element definition: custom-provisioning-script-settings [top]
Post provisioning script settings, applicable only for "nas" or "san" type of provisioning policies.
Name Range Type Description
script-path string
optional
Full path of a script on the management station to perform certain custom steps. The script will be run as the final step in the the provisioning process.

 
Element definition: dataset-member-used-space-thresholds [top]
Full and nearly full thresholds for generating events on used space of dataset members.
Name Range Type Description
full-threshold integer
optional
Specified as percentage value, if used space of any dataset member crosses this value, a critical event is generated. Range: [1..100]
nearly-full-threshold integer
optional
Specified as percentage value, if the used space of any dataset member crosses this value, a warning event is generated. Range: [1..100]

 
Element definition: nas-container-settings [top]
Details of capacity settings like space guarantees, quotas, out of space actions when provisioning storage for NAS access.
Name Range Type Description
auto-delete-snapshots boolean
optional
If true, set snapshot autodelete on the provisioned volume. Default is false. This option is automatically enabled if space-on-demand is set to true.
auto-grow-capacity boolean
optional
If true, auto grow capacity on the provisioned volume to a pre-configured maximum size. Default is false. This option is automatically enabled if space-on-demand is set to true.
default-group-quota integer
optional
Default group quota setting on the dataset members. The value is expressed in kilobytes. Range: [1..2^63-1]
default-user-quota integer
optional
Default user quota setting on the dataset members. The value is expressed in kilobytes. Range: [1..2^63-1]
snapshot-reserve boolean
optional
If True, 20% of requested space is reserved for Snapshot copies of data.
space-on-demand boolean
optional
If True, volume is provisioned with autogrow and autodelete settings enabled. volume options : try_first=volume_grow. autodelete options : commitment=disrupt. This is deprecated in favor of individual elements auto-grow-capacity and auto-delete-snapshots. If set to true, both those elements are considered as true.
storage-container-type storage-container-type
optional
Container type to provision. Possible values: "volume","qtree".
Provisioning Manager can provision qtrees and export them or provision FlexVols for every provisioning request. Default value is "qtree".
thin-provision boolean
optional
If True, the requested space is not pre-allocated (or reserved) from aggregates. The space from aggregates is actually consumed when users write data to CIFS shares or NFS exports of dataset members.

 
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:
  • It must contain between 1 and 64 characters.
  • It may start with any character and may contain any combination of characters, except that it may not consist solely of decimal digits ('0' through '9').
  • In some contexts, a name may be the empty string (""), which is interpreted as a null value, e.g., a reference to no object at all.
The behavior of a ZAPI when it encounters an error involving an obj-name input element depends on how the ZAPI uses the input element. Here are the general rules:
  • If the input name element is used to create a new object with the given name, or rename an existing object to that name, and the name does not conform to the above format, then the ZAPI fails with error code EINVALIDINPUTERROR. Note that because EINVALIDINPUTERROR is such a common error code, ZAPI specifications are not required to document cases when they may return it.
  • If the input name element is used to refer to an existing object with that name, and there is no object with that name, then the ZAPI fails with error code EOBJECTNOTFOUND. Generally the ZAPI specification documents cases when it may return this error code.
A ZAPI may deviate from these general rules, for example, it may return more specific error codes. In such cases, the ZAPI specification must document its behavior.

If an input name element is used to refer to an existing object, then the ZAPI specification must specify which DFM object type (e.g. data set, host, DP policy, etc.) is allowed. Some ZAPIs allow the object to be one of several different types. See the description of obj-full-name for examples of valid input formats.

Note that there is no requirement that all object names must be unique. However, the names for some specific types of objects are constrained such that no two objects of that type may have the same name. For example, this constraint applies to 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'.

  • 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.
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.
[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: san-container-settings [top]
Space settings when provisioning storage for san access, specify how space will be allocated to various components in san environment.
Name Range Type Description
guarantee-writes boolean
optional
Applicable when over committing storage space. i.e thin-provision is set to "true".

If set to "true", Provisioning Manager creates Volume/LUN configuration such that space for writes to LUNs is always guaranteed but Snapshot copies may or may not be possible depending on space availability, the choice of configuration can be specified in thin-provisioning-configuration input element.

If set to "false", Provisioning Manager creates Volumes/LUNs with no space guarantees at all. As a result the writes to Volumes/LUNs provisioned using such policies can fail at given time.
storage-container-type storage-container-type
optional
Container type to provision. Possible values: "volume","lun".
Provisioning Manager can provision LUNs and map them to server to provide access to the LUNs or provision FlexVols and delegate the task of provisioning LUNs to server administrators using server side tools liks SnapDrive. Default value is "lun".
thin-provision boolean
optional
Enable over-commitment of storage space.
thin-provisioning-configuration string
optional
Specifies the configuration to use when thin-provision and guarantee-writes are set to "true". Each configuration has advantages and space saving objectives.

Possible values are snapshots, data_and_snapshots.

snapshots: This configurations allows thin provisioning of snapshot space, i.e space is allocated for Snapshot copies as needed but space for data and overwrites (after the first Snapshot copy) is preallocated. When the aggregate runs out of space further Snapshot copies may fail, but existing Snapshot copies are preserved.

data_and_snapshots: This configurations allows thin provisioning of space for data overwrites and snapshot space, The space requested initially is allocated upfront but space for data overwrites(after first Snapshot copy) and Snapshot copies is allocated as needed. In situations when aggregate on which volume is placed runs out of space, Snapshot copies in oldest first order will be automatically deleted to allocate space for user writes.

the value is set to "none" when either thin-provision or gurantee-writes is "false". Changing it to another value will result in error with return code set to EINVALIDINPUT.

 
Element definition: storage-reliability [top]
NetApp Storage Systems offer a wide range of storage availability features which provide protection against various failure like disk drive failures, shelf failures, controller failures or site failures. The required level of reliability of the dataset can be specified in the provisioning policy.
Name Range Type Description
controller-failure boolean
optional
Resiliency against single controller failure, i.e the dataset can be accessed even after a controller fails. Maps to active/active pair. Default value is "false".
disk-failure string
optional
Resiliency against disk failures, possible values are "single" (Maps to RAID-4 aggregates), "double" (Maps to RAID-DP aggregates) or "any"(either RAID-4 or RAID-DP). Default value is "double".
sub-system-failure boolean
optional
Resiliency against storage sub system failures (or back end failures) like disk shelf, disk shelf adapters, failure of FCAL loops. Maps to "SyncMirror" aggregates. Default value is "false".

 
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'.

  • 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.
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.
[none]

 
Element definition: storage-container-type [top]
Storage container type to provision as dataset members when provisioning storage for SAN or NAS access. Possible values are "lun" and "volume" and "qtree".
If the value is "lun", Provisioning Manager will provision LUNs into the dataset and map to the hosts specified by creating igroups. This is applicable only when provisioning for SAN access.
If the value is "volume", Provisioning Manager will create FlexVols, the LUNs will then be created using external tools like SnapDrive, or in case of NAS, Provisioning Manager will export the volume to be accessed by clients.
If the value is "qtree", Provisioning Manager will provision qtrees for every provisioning in case of NAS access.
[none]