APIs in Category: ProvisioningPolicy | API version 5.0

ProvisioningPolicyCopy ProvisioningPolicyCreate ProvisioningPolicyDestroy ProvisioningPolicyEditBegin ProvisioningPolicyEditCommit ProvisioningPolicyEditRollback ProvisioningPolicyListIterEnd ProvisioningPolicyListIterNext ProvisioningPolicyListIterStart ProvisioningPolicyModify | 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 DatasetModifyNode 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 API version 5.0

ProvisioningPolicyCopy (supported) | [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 ProvisioningPolicyName already exists. EDATABASEERROR - A database Error occurred while processing the Request. EINVALIDINPUTERROR - Invalid input was provided.

> Input Name | Type
> ProvisioningPolicyCopy | ProvisioningPolicyCopy
> Output Name | Type
> ProvisioningPolicyCopyResult | ProvisioningPolicyCopyResult

> Error Name | Description
> EACCESSDENIED |  |
> EDATABASEERROR |  |
> EINVALIDINPUTERROR |  |
> EOBJECTAMBIGUOUS |  |
> EOBJECTNOTFOUND |  |
> EPOLICYEXISTS |  |

ProvisioningPolicyCreate (supported) | [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 | Type
> ProvisioningPolicyCreate | ProvisioningPolicyCreate
> Output Name | Type
> ProvisioningPolicyCreateResult | ProvisioningPolicyCreateResult

> Error Name | Description
> EACCESSDENIED |  |
> EDATABASEERROR |  |
> EINVALIDINPUTERROR |  |
> EPOLICYEXISTS |  |

ProvisioningPolicyDestroy (supported) | [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 | Type
> ProvisioningPolicyDestroy | ProvisioningPolicyDestroy
> Output Name | Type
> ProvisioningPolicyDestroyResult | ProvisioningPolicyDestroyResult

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

ProvisioningPolicyEditBegin (supported) | [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 ProvisioningPolicyModify. Use ProvisioningPolicyEditCommit To end the edit session and commit the changes To the database. Use ProvisioningPolicyEditRollback 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 ProvisioningPolicyEditBegin 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 | Type
> ProvisioningPolicyEditBegin | ProvisioningPolicyEditBegin
> Output Name | Type
> ProvisioningPolicyEditBeginResult | ProvisioningPolicyEditBeginResult

> Error Name | Description
> EACCESSDENIED |  |
> EDATABASEERROR |  |
> EEDITINPROGRESS |  |
> EINTERNALERROR |  |
> EOBJECTNOTFOUND |  |

ProvisioningPolicyEditCommit (supported) | [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 DryRun 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 | Type
> ProvisioningPolicyEditCommit | ProvisioningPolicyEditCommit
> Output Name | Type
> ProvisioningPolicyEditCommitResult | ProvisioningPolicyEditCommitResult

> Error Name | Description
> EACCESSDENIED |  |
> EDATABASEERROR |  |
> EEDITSESSIONNOTFOUND |  |
> EPOLICYEXISTS |  |

ProvisioningPolicyEditRollback (supported) | [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 | Type
> ProvisioningPolicyEditRollback | ProvisioningPolicyEditRollback
> Output Name | Type
> ProvisioningPolicyEditRollbackResult | ProvisioningPolicyEditRollbackResult

> Error Name | Description
> EACCESSDENIED |  |
> EEDITSESSIONNOTFOUND |  |

ProvisioningPolicyListIterEnd (supported) | [top]

> Terminate a list iteration that had been started by a call To ProvisioningPolicyListIterStart. 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 | Type
> ProvisioningPolicyListIterEnd | ProvisioningPolicyListIterEnd
> Output Name | Type
> ProvisioningPolicyListIterEndResult | ProvisioningPolicyListIterEndResult

> Error Name | Description
> EINVALIDTAG |  |

ProvisioningPolicyListIterNext (supported) | [top]

> Retrieve the next series of policies that are present in a list iteration created by a call To ProvisioningPolicyListIterStart. The server maintains an internal cursor pointing To the last record returned. Subsequent calls To ProvisioningPolicyListIterNext 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 | Type
> ProvisioningPolicyListIterNext | ProvisioningPolicyListIterNext
> Output Name | Type
> ProvisioningPolicyListIterNextResult | ProvisioningPolicyListIterNextResult

> Error Name | Description
> EINVALIDTAG |  |

ProvisioningPolicyListIterStart (supported) | [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 ProvisioningPolicyListIterStart, you continue the iteration by calling ProvisioningPolicyListIterNext zero or more times, followed by a call To ProvisioningPolicyListIterEnd 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 | Type
> ProvisioningPolicyListIterStart | ProvisioningPolicyListIterStart
> Output Name | Type
> ProvisioningPolicyListIterStartResult | ProvisioningPolicyListIterStartResult

> Error Name | Description
> EACCESSDENIED |  |
> EDATABASEERROR |  |
> EINVALIDINPUTERROR |  |
> EOBJECTNOTFOUND |  |

ProvisioningPolicyModify (supported) | [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 | Type
> ProvisioningPolicyModify | ProvisioningPolicyModify
> Output Name | Type
> ProvisioningPolicyModifyResult | ProvisioningPolicyModifyResult

> Error Name | Description
> EACCESSDENIED |  |
> EDATABASEERROR |  |
> EEDITSESSIONCONFLICTINGOP |  |
> EEDITSESSIONINPROGRESS |  |
> EEDITSESSIONNOTFOUND |  |
> EINVALIDINPUT |  |
> EOBJECTAMBIGUOUS |  |
> EOBJECTNOTFOUND |  |

Element definition: ProvisioningPolicyCopy | [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 ProvisioningPolicyName already exists. EDATABASEERROR - A database Error occurred while processing the Request. EINVALIDINPUTERROR - Invalid input was provided.

> Name | Type | Description
> ProvisioningPolicyDescription | xsd: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 "".
> ProvisioningPolicyName | ObjName | Name of the new Policy. It must be unique across all provisioning and data protection policies.
> SourcePolicyNameOrId | ObjNameOrId | The Name or ID of an existing Policy that is copied To create the new Policy.

Element definition: ProvisioningPolicyCopyResult | [top]

> Name | Type | Description
> ProvisioningPolicyId | ObjId | An object ID for the newly created Policy.

Element definition: ProvisioningPolicyCreate | [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.

> Name | Type | Description
> ProvisioningPolicyInfo | ProvisioningPolicyInfo | Provisioning Policy details of the new Policy To be created.

Element definition: ProvisioningPolicyCreateResult | [top]

> Name | Type | Description
> ProvisioningPolicyId | ObjId | Object ID of the newly created Policy.

Element definition: ProvisioningPolicyDestroy | [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.

> Name | Type | Description
> Force | xsd:boolean optional | Force delete even if there is an edit session in progress on the provisioning Policy.
> ProvisioningPolicyNameOrId | ObjNameOrId | Name or Id of the provisioning Policy being destroyed.

Element definition: ProvisioningPolicyDestroyResult | [top]

> [none]

Element definition: ProvisioningPolicyEditBegin | [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 ProvisioningPolicyModify. Use ProvisioningPolicyEditCommit To end the edit session and commit the changes To the database. Use ProvisioningPolicyEditRollback 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 ProvisioningPolicyEditBegin 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.

> Name | Type | Description
> Force | xsd:boolean optional | 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.
> ProvisioningPolicyNameOrId | ObjNameOrId | Name or ID of a provisioning Policy.

Element definition: ProvisioningPolicyEditBeginResult | [top]

> Name | Type | Description
> EditLockId | xsd:integer | Identifier of the edit lock on the Policy. Range: [0..(2^31)-1]

Element definition: ProvisioningPolicyEditCommit | [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 DryRun 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.

> Name | Type | Description
> DryRun | xsd: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, DryRun is false.
> EditLockId | xsd:integer | Identifier of the edit lock on the Policy. The Value must be an edit lock ID that was previously returned by ProvisioningPolicyEditBegin ZAPI.

Element definition: ProvisioningPolicyEditCommitResult | [top]

> Name | Type | Description
> DryRunResults | ArrayOfDryRunResult optional | Results of a dry run. Only returned if DryRun is true.

Element definition: ProvisioningPolicyEditRollback | [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.

> Name | Type | Description
> EditLockId | xsd:integer | Identifier of the edit lock on the Policy. The Value must be an edit lock ID that was previously returned by ProvisioningPolicyEditBegin ZAPI.

Element definition: ProvisioningPolicyEditRollbackResult | [top]

> [none]

Element definition: ProvisioningPolicyListIterEnd | [top]

> Terminate a list iteration that had been started by a call To ProvisioningPolicyListIterStart. 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.

> Name | Type | Description
> Tag | xsd:string | The opaque handle returned by the prior call To ProvisioningPolicyListIterStart that started this list iteration.

Element definition: ProvisioningPolicyListIterEndResult | [top]

> [none]

Element definition: ProvisioningPolicyListIterNext | [top]

> Retrieve the next series of policies that are present in a list iteration created by a call To ProvisioningPolicyListIterStart. The server maintains an internal cursor pointing To the last record returned. Subsequent calls To ProvisioningPolicyListIterNext 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.

> Name | Type | Description
> Maximum | xsd:integer | The Maximum number of policies To return. Range: [1..2^31-1].
> Tag | xsd:string | The opaque handle returned by the prior call To ProvisioningPolicyListIterStart that started this list iteration.

Element definition: ProvisioningPolicyListIterNextResult | [top]

> Name | Type | Description
> ProvisioningPolicies | ArrayOfProvisioningPolicyInfo | List of information about multiple provisioning policies.
> Records | xsd:integer | Number of Records actually returned in the output. Range:[0..2^31-1]

Element definition: ProvisioningPolicyListIterStart | [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 ProvisioningPolicyListIterStart, you continue the iteration by calling ProvisioningPolicyListIterNext zero or more times, followed by a call To ProvisioningPolicyListIterEnd 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.

> Name | Type | Description
> IsPolicyReadonly | xsd: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
> ProvisioningPolicyNameOrId | ObjNameOrId optional | Name or ID of the provisioning Policy. If provisioning Policy Name or ID is specified, then ProvisioningPolicyType filter is ignored.
> ProvisioningPolicyType | ProvisioningPolicyType optional | filter provisioning policies by Type. Possible Values are "nas", "san" and "secondary".

Element definition: ProvisioningPolicyListIterStartResult | [top]

> Name | Type | Description
> Records | xsd:integer | Number of items present in the list iteration. Range:[0..2^31-1].
> Tag | xsd:string | An opaque handle used To identify the list iteration. The list content resides in a temporary store in the server.

Element definition: ProvisioningPolicyModify | [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.

> Name | Type | Description
> EditLockId | xsd:integer | Identifier of the edit lock on the Policy. The Value must be an edit lock ID that was previously returned by ProvisioningPolicyEditBegin.
> ProvisioningPolicyInfo | ProvisioningPolicyInfo | New Values for provisioning Policy Attributes. Any Value specified in the ProvisioningPolicyInfo replaces the existing Values of Attributes. If an optional element is not specified no change is made To the existing attribute settings in database.

Element definition: ProvisioningPolicyModifyResult | [top]

> [none]

Element definition: ArrayOfDryRunResult | [top]

> Name | Type | Description
> DryRunResult | DryRunResult[] |

Element definition: ArrayOfProvisioningPolicyInfo | [top]

> Name | Type | Description
> ProvisioningPolicyInfo | ProvisioningPolicyInfo[] |

Element definition: ObjId | [top]

> Identification number (ID) for a DFM object. This typedef is an alias for the builtin ZAPI Type integer. Object IDs are unsigned integers in the range [1..2^31 - 1]. In some contexts, an object ID is also allowed To be 0, which is interpreted as a null Value, e.g., a reference To no object at all. The ID for a DFM object is always assigned by the system; the user is never allowed To assign an ID To an object. Therefore, an input element of Type ObjId is always used To refer To an existing object by its ID. The ZAPI must specify the object's DFM object Type (e.g. Dataset, Host, DP Policy, etc.). Some ZAPIs allow the object To be one of several different types. If the Value of an ObjId input element does not Match the ID of any existing DFM object of the specified Type or types, then typically the ZAPI fails with Error code EOBJECTNOTFOUND. A ZAPI may deviate From this general rule, for example, it may return a more specific Error code. In either case, the ZAPI specification must document its behavior.

> [none]

Element definition: ObjName | [top]

> Name of a DFM object. This typedef is an alias for the built in ZAPI Type string. An object Name must conform To the following format: It must contain between 1 and 64 characters. It may start with any character and may contain any combination of characters, except that it may not consist solely of decimal digits ('0' through '9'). In some contexts, a Name may be the empty string (""), which is interpreted as a null Value, e.g., a reference To no object at all. The behavior of a ZAPI when it encounters an Error involving an ObjName input element depends on how the ZAPI uses the input element. Here are the general rules: If the input Name element is used To create a new object with the given Name, or rename an existing object To that Name, and the Name does not conform To the above format, then the ZAPI fails with Error code EINVALIDINPUTERROR. Note that because EINVALIDINPUTERROR is such a common Error code, ZAPI specifications are not required To document cases when they may return it. If the input Name element is used To refer To an existing object with that Name, and there is no object with that Name, then the ZAPI fails with Error code EOBJECTNOTFOUND. Generally the ZAPI specification documents cases when it may return this Error code. A ZAPI may deviate From these general rules, for example, it may return more specific Error codes. In such cases, the ZAPI specification must document its behavior. If an input Name element is used To refer To an existing object, then the ZAPI specification must specify which DFM object Type (e.g. data set, Host, DP Policy, etc.) is allowed. Some ZAPIs allow the object To be one of several different types. See the Description of ObjFullName for examples of valid input formats. Note that there is no requirement that all object names must be unique. However, the names for some specific types of Objects are constrained such that no two Objects of that Type may have the same Name. For example, this constraint applies To Datasets, DP schedules, and DP policies. This means that no two Datasets may have the same Name, but a Dataset may have the same Name as a DP schedule or DP Policy. In general, object names are compared in a case-insensitive manner. This means that, for example, "MyObject" and "MYOBJECT" are considered To be the same Name for purposes of: creating new Objects, renaming existing Objects, or looking up an object by Name. On the other hand, ZAPIs that return an ObjName generally do not change the capitalization at all. For example, if an object's Name has been set To "MyObject", then list iteration ZAPIs that return the object's Name return it as "MyObject" rather than "MYOBJECT" or "myobject". ZAPIs that operate on ObjName Values and do not follow these general rules about case sensitivity must document the rules that they do follow. One important exception To these general rules is that Volumes, Qtrees, OSSV Directories, SRM Paths, Interfaces, FCP Targets and FC switch ports all have case-sensitive names. When looking up Objects of these types by Name, the case must Match the object Name.

> [none]

Element definition: ObjNameOrId | [top]

> Name or internal ID of a DFM object. This typedef is an alias for the builtin ZAPI Type string. An ObjNameOrId must contain between 1 and 64 characters, and must conform To one of the following formats: It must have the format of an ObjName, or It must be the decimal numeric string form of a positive integer whose Value is in the range [1..2^31 - 1]. 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 ObjNameOrId input. Elements of Type ObjNameOrId are used only as inputs To ZAPIs. The Value must Match either the Name or internal ID of an existing DFM object. The ZAPI must specify the object's DFM object Type (e.g. Dataset, Host, DP Policy, etc.). Some ZAPIs allow the object To be one of several different types. If the format of an ObjNameOrId input element does not conform, or the Value does not Match the Name or ID of an existing object, then generally the ZAPI documents that it fails with Error code EOBJECTNOTFOUND. A ZAPI may return more specific Error codes. In such cases, the ZAPI specification must document its behavior. If a ZAPI can accept a null Value (e.g. reference To no object at all) for such an element, then the element is declared optional, and the absence of the input element represents a null Value.

> [none]

Element definition: ProvisioningPolicyInfo | [top]

> Contains all information about a single provisioning Policy.

> Name | Type | Description
> AdvancedOptions | ArrayOfAdvancedOptionInfo optional | A set of advanced Options To be set on the storage provisioned with this Policy.
> CustomProvisioningScriptSettings | CustomProvisioningScriptSettings optional | Script settings used To perform post provisioning steps on the provisioned containers.
> DatasetMemberUsedSpaceThresholds | DatasetMemberUsedSpaceThresholds optional | Nearly full and full Thresholds for generating alerts on used space of Dataset Members.
> DedupeEnabled | xsd: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.
> DedupeSchedule | xsd: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".
> IsPolicyReadonly | xsd:boolean optional | Specifies whether the Policy is a golden copy of the canned provisioning Policy.
> NasContainerSettings | NasContainerSettings 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".
> ProvisioningPolicyDescription | xsd: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 "".
> ProvisioningPolicyId | ObjId optional | Object ID of the Policy, ignored while creating Policy.
> ProvisioningPolicyName | ObjName | 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.
> ProvisioningPolicyType | ProvisioningPolicyType optional | Type of provisioning Policy, valid types are "nas", "san" and "secondary".
> ResourceTag | xsd: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 ResourceTag set To "low-cost" To place Datasets on cheap storage. It may contain From 0 To 255 characters.
> SanContainerSettings | SanContainerSettings optional | Space and capacity settings applicable when Datasets are accessed over SAN protocols Ignored when Policy Type is not "san".
> StorageReliability | StorageReliability 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: ProvisioningPolicyType | [top]

> Type of provisioning Policy. Possible Values are "san", "nas" and "secondary".

> [none]

Element definition: ArrayOfAdvancedOptionInfo | [top]

> Name | Type | Description
> AdvancedOptionInfo | AdvancedOptionInfo[] |

Element definition: CustomProvisioningScriptSettings | [top]

> Post provisioning script settings, applicable only for "nas" or "san" Type of provisioning policies.

> Name | Type | Description
> ScriptPath | xsd: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: DatasetMemberUsedSpaceThresholds | [top]

> Full and nearly full Thresholds for generating Events on used space of Dataset Members.

> Name | Type | Description
> FullThreshold | xsd:integer optional | Specified as percentage Value, if used space of any Dataset member crosses this Value, a critical event is generated. Range: [1..100]
> NearlyFullThreshold | xsd: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: DryRunResult | [top]

> A Description of one Action and the predicted effects of taking that Action.

> Name | Type | Description
> DryRunAction | xsd:string | An Action the system would take.
> DryRunEffect | xsd:string | The predicted Effect of the Action.
> DryRunReason | xsd: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.
> DryRunReasonDetails | ArrayOfResultDetail optional | These details apply To the associated DryRunReason within the same DryRunResult. These offer additional information such as the reasons individual reasources may not have been selected for the DryRunAction in this same DryRunResult.
> DryRunSeverity | ObjStatus | Severity of the DryRun Result. Possible Values are "information", "Error" or "warning".
> DryRunSuggestion | xsd: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: NasContainerSettings | [top]

> Details of capacity settings like space guarantees, quotas, out of space actions when provisioning storage for NAS access.

> Name | Type | Description
> AutoDeleteSnapshots | xsd:boolean optional | If true, set Snapshot autodelete on the provisioned Volume. Default is false. This Option is automatically enabled if SpaceOnDemand is set To true.
> AutoGrowCapacity | xsd: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 SpaceOnDemand is set To true.
> DefaultGroupQuota | xsd:integer optional | Default Group quota setting on the Dataset Members. The Value is expressed in kilobytes. Range: [1..2^63-1]
> DefaultUserQuota | xsd:integer optional | Default user quota setting on the Dataset Members. The Value is expressed in kilobytes. Range: [1..2^63-1]
> SnapshotReserve | xsd:boolean optional | If True, 20% of requested space is reserved for Snapshot copies of data.
> SpaceOnDemand | xsd: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 AutoGrowCapacity and AutoDeleteSnapshots. If set To true, both those elements are considered as true.
> StorageContainerType | StorageContainerType 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".
> ThinProvision | xsd: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: SanContainerSettings | [top]

> Space settings when provisioning storage for san access, specify how space will be allocated To various components in san environment.

> Name | Type | Description
> GuaranteeWrites | xsd:boolean optional | Applicable when over committing storage space. i.e ThinProvision 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 ThinProvisioningConfiguration 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.
> StorageContainerType | StorageContainerType 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".
> ThinProvision | xsd:boolean optional | Enable over-commitment of storage space.
> ThinProvisioningConfiguration | xsd:string optional | Specifies the configuration To use when ThinProvision and GuaranteeWrites 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 ThinProvision or gurantee-writes is "false". Changing it To another Value will Result in Error with return code set To EINVALIDINPUT.

Element definition: StorageReliability | [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 | Type | Description
> ControllerFailure | xsd: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".
> DiskFailure | xsd: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".
> SubSystemFailure | xsd: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: AdvancedOptionInfo | [top]

> A set of advanced Options To be set on the provisioned storage containers.

> Name | Type | Description
> OptionName | xsd:string | Name of the advanced Option
> OptionValue | xsd:string | Value of the advaced Option

Element definition: ArrayOfResultDetail | [top]

> Name | Type | Description
> ResultDetail | ResultDetail[] |

Element definition: ObjStatus | [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: StorageContainerType | [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]

Element definition: ResultDetail | [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 DryRun Result by explaining why resources were not selected.

> Name | Type | Description
> Action | xsd:string | An Action or check the system had taken.
> Effect | xsd:string | The Result of the Action or check.
> Reason | xsd:string optional | Specifies possible reasons for the this Result. If there are no reasons To specify, this element will not be present.
> Severity | ObjStatus | 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 | xsd:string | Specifies any suggestions To rectify the information, warnings, Errors. If there are no suggestions To specify, this element will not be present.