|
APIs in Category: dp-policy |
API version 3.8 |
dp-policy-copy |
A data protection (DP) policy describes how to protect a data set by creating backups and mirrors of the data at scheduled times. A DP policy is represented by a directed graph whose topology is that of a tree. The nodes (vertices) of the graph represent the dataset's storage sets. The connections (edges) of the graph are of one of two types: |
| dp-policy-copy | [top] |
Create a new DP policy by copying from an existing "template" policy. The new policy created using this ZAPI has the same set of nodes and connections as the template policy, and the same property values for each node and connection.
Error conditions:
- EACCESSDENIED - User does not have privileges to read the template policy from the database, or create a new policy, or both.
- EOBJECTNOTFOUND - No template policy was found that has the given name or ID.
- EPOLICYEXISTS - A policy with the given dp-policy-name already exists.
- EDATABASEERROR - A database error occurred while processing the request.
- EAPIMISSINGARGUMENT - No template policy name or id was supplied as an input.
- EINVALIDINPUTERROR - Policy description string was too long.
Input Name Range Type Description dp-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 "". dp-policy-name obj-name
Name of the new policy. It must be unique among all DP policies. template-dp-policy-id obj-id
optional
An object ID for the template policy that is copied to create the new policy. Any policy may serve as a template; there is no special type of policy for templates. This legacy parameter is only used if template-dp-policy-name-or-id is not supplied. template-dp-policy-name-or-id obj-name-or-id
optional
Name or Identifier for the template policy that is copied to create the new policy. Any policy may serve as a template; there is no special type of policy for templates. This input is preferred over template-dp-policy-id and if supplied then do not supply template-dp-policy-id because template-dp-policy-id will be ignored. Output Name Range Type Description dp-policy-id obj-id
An object ID for the newly created policy.
Errno Description EACCESSDENIED EOBJECTNOTFOUND EPOLICYEXISTS EDATABASEERROR EAPIMISSINGARGUMENT EINVALIDINPUTERROR
| dp-policy-destroy | [top] |
Destroy a DP policy. This removes it from the database. If the policy has been applied to any datasets, then the destroy operation fails; you must first un-map the policy from any datasets to which it had been applied before you may destroy the policy.
If this ZAPI fails for any reason, the DP policy edit of which it was a part is not rolled back. Instead, the edit is restored to the state it was in prior to invoking this ZAPI.
After this ZAPI successfully completes, any subsequent calls in the same edit session to dp-policy-destroy or dp-policy-modify fail with error code EOBJECTNOTFOUND.
Error conditions:
- EEDITSESSIONNOTFOUND - No edit lock was found that has the given ID.
- EACCESSDENIED - User does not have privileges to modify the policy.
- EOBJECTNOTFOUND - The policy was already destroyed during this edit session.
- EPOLICYNOTMODIFIABLE - The policy is one of the samples created during installation, and therefore cannot be deleted.
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 dp-policy-edit-begin.
Errno Description EEDITSESSIONNOTFOUND EACCESSDENIED EOBJECTNOTFOUND EPOLICYNOTMODIFIABLE
| dp-policy-edit-begin | [top] |
Create an edit session and obtain an edit lock on a DP policy to begin modifying the policy. An edit lock must be obtained before invoking the following APIs:
Use dp-policy-edit-commit to end the edit session and commit the changes to the database.
- dp-policy-modify
- dp-policy-destroy
Use dp-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 dp-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 policy.
- EOBJECTNOTFOUND - No policy was found that has the given name or ID.
- EACCESSDENIED - User does not have privileges to modify the policy.
- EDATABASEERROR - A database error occurred while processing the request.
Input Name Range Type Description dp-policy-name-or-id obj-name-or-id
Name or ID of a DP policy. force boolean
optional
validate
If true, and an edit 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. Output Name Range Type Description edit-lock-id integer
validate
Identifier of the edit lock on the policy. The value is an unsigned 32-bit integer.
Errno Description EEDITINPROGRESS EOBJECTNOTFOUND EACCESSDENIED EDATABASEERROR
| dp-policy-edit-commit | [top] |
Commit changes made to a DP 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. Instead, a conformance check is performed to return a list of actions that the system would take if the changes were committed by calling this ZAPI without the dry-run option.
If dry-run is false, and all changes are successfully committed, then before the call returns, the system begins a conformance run on all datasets to which the policy has been applied. (See dataset-conform-begin for a description of conformance runs.) If any needed conformance actions require user confirmation, it is assumed that such confirmation has been given, and the actions are performed.
Error conditions:
- EEDITSESSIONNOTFOUND - No edit lock was found that has the given ID.
- EACCESSDENIED - User does not have privileges to modify the policy.
- EPOLICYEXISTS - The policy's name is being changed, and a policy with the new name already exists.
- EDPPOLICYINUSE - The policy is being deleted, but deletion has failed because the policy is in use by one or more datasets.
- EDATABASEERROR - A database error occurred while processing the request.
Input Name Range Type Description dry-run boolean
optional
validate
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
validate
Identifier of the edit lock on the policy. The value must be an edit lock ID that was previously returned by dp-policy-edit-begin. 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 EDPPOLICYNOTFOUND EPOLICYEXISTS EDPPOLICYINUSE EDATABASEERROR
| dp-policy-edit-rollback | [top] |
Roll back changes made to a DP 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 dp-policy-edit-begin.
Errno Description EEDITSESSIONNOTFOUND EACCESSDENIED
| dp-policy-get-default-property-values | [top] |
Returns default values for node and connection properties. These default values are used in calls to dp-policy-modify, in cases where the property is present for a node or connection, but the corresponding optional XML element does not appear in the dp-policy-node-info or dp-policy-connection-info structure. Note that default values may change from release to release. This ZAPI provides a convenient way to determine the default values for the current release.
Error conditions: None.
Output Name Range Type Description backup-schedule-id obj-id
Default value of backup-schedule-id. backup-schedule-name obj-name
Default value of backup-schedule-name. backup-script-path string
Default value of backup-script-path. The length of the returned string will be from 0 to 255 characters. backup-script-run-as string
Default value of backup-script-run-as. The length of the returned string will be from 0 to 64 characters. daily-retention-count integer
Default value of daily-retention-count. daily-retention-duration integer
Default value of daily-retention-duration. failover-script-path string
Default value of failover-script-path. The length of the returned string will be from 0 to 255 characters. failover-script-run-as string
Default value of failover-script-run-as. The length of the returned string will be from 0 to 64 characters. hourly-retention-count integer
Default value of hourly-retention-count. hourly-retention-duration integer
Default value of hourly-retention-duration. is-lag-error-enabled boolean
Default value of is-lag-error-enabled. is-lag-warning-enabled boolean
Default value of is-lag-warning-enabled. lag-error-threshold integer
Default value of lag-error-threshold. lag-warning-threshold integer
Default value of lag-warning-threshold. mirror-schedule-id obj-id
Default value of mirror-schedule-id. mirror-schedule-name obj-name
Default value of mirror-schedule-name. monthly-retention-count integer
Default value of monthly-retention-count. monthly-retention-duration integer
Default value of monthly-retention-duration. snapshot-schedule-id obj-id
Default value of snapshot-schedule-id. snapshot-schedule-name obj-name
Default value of snapshot-schedule-name. throttle-schedule-id obj-id
Default value of throttle-schedule-id. throttle-schedule-name obj-name
Default value of throttle-schedule-name . weekly-retention-count integer
Default value of weekly-retention-count. weekly-retention-duration integer
Default value of weekly-retention-duration.
| dp-policy-list-iter-end | [top] |
Terminate a list iteration that had been started by a call to dp-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 dp-policy-list-iter-start that started this list iteration.
Errno Description EINVALIDTAG
| dp-policy-list-iter-next | [top] |
Retrieve the next series of policies that are present in a list iteration created by a call to dp-policy-list-iter-start. The server maintains an internal cursor pointing to the last record returned. Subsequent calls to dp-policy-list-iter-next return the next maximum records after the cursor, or all the remaining records, whichever is fewer. If a property is present for a particular node or connection (the presence or absence of each property is defined in its description), then it always appears in the output element for that node or connection from a call to dp-policy-list-iter-next. For example, the output dp-policy-connection-info element for a backup connection always contains a backup-schedule-name.
If a property is absent for a particular node or connection, then it never appears in the output element for that node or connection. For example, the output dp-policy-connection-info element for a mirror connection never contains a backup-schedule-name.
Error conditions:
- EINVALIDTAG - The specified tag does not exist.
- EOBJECTNOTFOUND - A schedule or throttle referenced by the policy could not be found.
- EDATABASEERROR - A database error occurred while processing the request.
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 dp-policy-list-iter-start that started this list iteration. Output Name Range Type Description dp-policy-infos dp-policy-info[]
List of information about multiple DP policies.
Errno Description EINVALIDTAG EOBJECTNOTFOUND EDATABASEERROR
| dp-policy-list-iter-start | [top] |
Begin a list iteration over all content in all DP policies in the system. Optionally, you may iterate over the content of just a single policy. After calling dp-policy-list-iter-start, you continue the iteration by calling dp-policy-list-iter-next zero or more times, followed by a call to dp-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 dp-policy-name-or-id obj-name-or-id
optional
Name or ID of a DP policy. If specified, only this policy is listed. If not specified, then by default, all policies are listed. is-dr-capable boolean
optional
If present we filter the policies returned. If true, only list datasets which are disaster recovery capable. If false, only list datasets which are not disaster recovery capable. 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
| dp-policy-modify | [top] |
This ZAPI modifies a DP policy by completely replacing the policy's old content with new content specified by input element dp-policy-content. This ZAPI can only change a policy's name, description, and the properties of its nodes and most of the properties of it's connections. The connection property of is-dr-capable cannot be changed once a policy is created. This ZAPI also cannot change the topology (set of nodes and connections between nodes) of a policy; instead, the topology specified in dp-policy-content must match the policy's current topology. At present, there is no way to change the topology of a policy. If a property is absent for a particular node or connection (the presence or absence of each property is defined in its description), then it is illegal for that property to appear in the input element for that node or connection in a call to dp-policy-modify. For example, it is illegal to specify a backup-schedule-name in a dp-policy-connection element for a mirror connection.
Error conditions:
- EEDITSESSIONNOTFOUND - No edit lock was found that has the given ID.
- EACCESSDENIED - User does not have privileges to modify the policy.
- EOBJECTNOTFOUND - The policy was already destroyed during this edit session.
- EPOLICYNOTMODIFIABLE - The policy is one of the samples created during installation, and therefore cannot be modified.
- EPOLICYTOPOLOGYCHANGED - The requested modification changes the topology of the policy.
- EINVALIDPOLICYPROPERTY - The requested modification would set a node or connection property to an invalid value. This includes the case when a property value was specified, but the property is not present for that node or connection.
- EOSSVCANTTAKESNAPSHOTS - A snapshot schedule is being set for the policy's root node, but the policy has been applied to a dataset whose root storage set contains OSSV directories.
- EDATABASEERROR - A database error occurred while processing the request.
Input Name Range Type Description dp-policy-content dp-policy-content
New content for the policy. The topology (set of nodes and connections between nodes) specified by this parameter must be the same as the current topology of the policy; otherwise, it is an error. In particular, you may not change the id of any connection or node. In addition, you may not change the from-node-id or to-node-id of any connection.
All properties of the nodes and connections are set precisely as specified by the dp-policy-connections and dp-policy-nodes elements of dp-policy-content. To leave the value of a property unchanged, its old value must be specified explicity. The only exception is that if the element that specifies the property's value is optional, and the old value of the property happens to be the same as the default value, then you may omit the specification of the old value to keep the old value.
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 dp-policy-edit-begin.
Errno Description EEDITSESSIONNOTFOUND EACCESSDENIED EOBJECTNOTFOUND EPOLICYNOTMODIFIABLE EPOLICYTOPOLOGYCHANGED EINVALIDPOLICYPROPERTY EOSSVCANTTAKESNAPSHOTS EDATABASEERROR
| Element definition: dp-policy-content | [top] |
All content of a single policy, including its name, description, topology (nodes and connections), and the properties for each node and connection.
Name Range Type Description description string
optional
Description of the policy. It may contain from 0 to 255 characters. If the length of a description passed as input to dp-policy-modify is longer than 255 characters, then the ZAPI fails with error code EINVALIDPOLICYPROPERTY. The description always appears in the output from dp-policy-list-iter-next. If the description is omitted from the input to dp-policy-modify, then the default value is the empty string "". dp-policy-connections dp-policy-connection-info[]
optional
List of connections between nodes of the policy. In the output from dp-policy-list-iter-next, this list is sorted in order of increasing connection ID. In the input to dp-policy-modify, it need not be sorted. However, in input to dp-policy-modify, there must be a one-one mapping between entries in this array and connections in the policy graph, or else the call fails because it is attempting to change the policy's topology. The default value is an empty list. If a policy has only a single node and therefore no connections, you may omit this element from the input to dp-policy-modify. It is always present in the output from dp-policy-list-iter-next.
dp-policy-nodes dp-policy-node-info[]
List of nodes in the policy. In the output from dp-policy-list-iter-next, this list is sorted in order of increasing node ID. In the input to dp-policy-modify, it need not be sorted. However, in input to dp-policy-modify, there must be a one-one mapping between entries in this array and nodes in the policy graph, or else the call fails because it is attempting to change the policy's topology. name obj-name
Name of the policy. Each DP policy has a name that is unique among DP policies, but may be the same as an object of some other type.
| Element definition: dp-policy-info | [top] |
Contains all information about a single DP policy, including its content and metadata such as its ID.
Name Range Type Description dp-policy-content dp-policy-content
Content of the policy. id obj-id
Object ID for the policy. is-application-compatible boolean
If false, this policy cannot be assigned to an application dataset. is-modifiable boolean
If false, this policy is one of the sample policies that is created at installation time, therefore it may not be deleted using dp-policy-destroy and may not be modified using dp-policy-modify. If true, it is not one of the sample policies, therefore it may be deleted or modified. This element cannot be modified. is-non-disruptive-restore-compatible boolean
If false, this policy can not be assigned to a dataset with the requires-non-disruptive-restore attribute set. If set to true and applied to a data set with the requires-non-disruptive-restore attribute set to true, Protection Manager will configure the dataset such that Backup connections will support non-disruptive restores. This does not mean that all backup versions and restore requests will support non-disruptive restore — the caller must check the supports-non-disruptive-restore output element from the dp-backup-list iterator.
| 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: 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].
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: dp-policy-connection-info | [top] |
Information about a connection from one node to another in a DP policy. The connection's properties are represented by optional elements. The rules for when a property is present or absent are defined in the property's Description, and depend on the type of connection.
Name Range Type Description backup-schedule-id obj-id
optional
An object ID for the backup schedule for this connection. The backup schedule specifies when to create backup snapshots and transfer them to backup secondaries. The value of backup-schedule-id may be 0, in which case no backup schedule is set for this connection, and backups will be created only when initiated by the user. If the value is not 0, it must be the ID of a DP schedule object.
If both backup-schedule-id and backup-schedule-name appear in the input to dp-policy-modify, then backup-schedule-id determines the ID of the backup schedule, and the value of backup-schedule-name is ignored. If neither backup-schedule-id nor backup-schedule-name appear in the input to dp-policy-modify, then the default value is an ID of 0 (equivalent to a name of ""), which means no backup schedule is set.
Both backup-schedule-id and backup-schedule-name always appear in the output from dp-policy-list-iter-next for backup connections.
This property is present only for backup connections.
backup-schedule-name obj-name
optional
An object name for the backup schedule for this connection. The backup schedule specifies when to create backup snapshots and transfer them to backup secondaries. The value of backup-schedule-name may be the empty string (""), in which case no backup schedule is set for this connection, and backups will be created only when initiated by the user. If the value is not "", it must be the name of a DP schedule object. If both backup-schedule-id and backup-schedule-name appear in the input to dp-policy-modify, then backup-schedule-id determines the ID of the backup schedule, and the value of backup-schedule-name is ignored. If neither backup-schedule-id nor backup-schedule-name appear in the input to dp-policy-modify, then the default value is a name of "" (equivalent to an ID of 0), which means no backup schedule is set.
Both backup-schedule-id and backup-schedule-name always appear in the output from dp-policy-list-iter-next for backup connections.
This property is present only for backup connections.
from-node-id integer
validate
ID of node at source of the connection. This is assigned by the system, and therefore may not be modified. The node at the root of the graph is id 1. Range: [1..2^31 - 1]. from-node-name string
Name of node at source of the connection. It is returned in the policy list query with a maximum length of 255 characters. id integer
validate
ID of the connection. This is assigned by the system, and therefore may not be modified. Range: [1..2^31 - 1]. is-dr-capable boolean
Indicates whether this link is DR capable. This read only flag cannot be changed by dp-policy-modify but will be returned by the dp-policy-list-iter-next ZAPI. is-lag-error-enabled boolean
optional
validate
Indicates whether the system should generate an error event when the newest backup or mirrored copy is older than lag-error-threshold. The default value of this property is true. This property is present for both backup and mirror connections.
is-lag-warning-enabled boolean
optional
validate
Indicates whether the system should generate a warning event when the newest backup or mirrored copy is older than lag-warning-threshold. The default value of this property is true. This property is present for both backup and mirror connections.
lag-error-threshold integer
optional
validate
Lag, in seconds. If backup or mirrored copy is older than this amount and if is-lag-error-enabled is set, the system generates an error event. The default value of this property is 172800 seconds (which is 2 days). Range: [1..2^31 - 1]. This property is present for both backup and mirror connections.
lag-warning-threshold integer
optional
validate
Lag, in seconds. If backup or mirrored copy is older than this amount and if is-lag-warning-enabled is set, the system generates a warning event. The default value of this property is 129600 seconds (which is 1.5 days). Range: [1..2^31 - 1]. This property is present for both backup and mirror connections.
mirror-schedule-id obj-id
optional
An object ID for the mirror schedule for this connection. The mirror schedule specifies when to transfer data via an asynchronous mirror. Synchronous and semi-synchronous mirrors are not supported. The value of mirror-schedule-id may be 0, in which case no mirror schedule is set for this connection. If the value is not 0, it must be the ID of a DP schedule object.
If no mirror schedule is set for this connection, then the mirror relationship is idle, which means mirroring occurs only when the user initiates it manually.
If both mirror-schedule-id and mirror-schedule-name appear in the input to dp-policy-modify, then mirror-schedule-id determines the ID of the mirror schedule, and the value of mirror-schedule-name is ignored. If neither mirror-schedule-id nor mirror-schedule-name appear in the input to dp-policy-modify, then the default value is an ID of 0 (equivalent to a name of ""), which means no mirror schedule is set.
Both mirror-schedule-id and mirror-schedule-name always appear in the output from dp-policy-list-iter-next for mirror connections.
This property is present only for mirror connections.
mirror-schedule-name obj-name
optional
An object name for the mirror schedule for this connection. The mirror schedule specifies when to transfer data via an asynchronous mirror. Synchronous and semi-synchronous mirrors are not supported. The value of mirror-schedule-name may be the empty string (""), in which case no mirror schedule is set for this connection. If the value is not "", it must be the name of a DP schedule object.
If no mirror schedule is set for this connection, then the mirror relationship is idle, which means mirroring occurs only when the user initiates it manually.
If both mirror-schedule-id and mirror-schedule-name appear in the input to dp-policy-modify, then mirror-schedule-id determines the ID of the mirror schedule, and the value of mirror-schedule-name is ignored. If neither mirror-schedule-id nor mirror-schedule-name appear in the input to dp-policy-modify, then the default value is a name of "" (equivalent to an ID of 0), which means no mirror schedule is set.
Both mirror-schedule-id and mirror-schedule-name always appear in the output from dp-policy-list-iter-next for mirror connections.
This property is present only for mirror connections.
throttle-schedule-id obj-id
optional
An object ID that specifies the throttle schedule for this connection. A throttle schedule specifies an upper limit, varying over time, on the network bandwidth used to make backups for a single dataset. This limit applies to the total amount of bandwidth that may be used at one time by all active transfers over protection relationships associated with this connection. The value of throttle-schedule-id may be 0, in which case no throttle is set for this connection, and there is no limit on data transfer bandwidth. If the value is not 0, it must be the ID of a DP throttle object.
If both throttle-schedule-id and throttle-schedule-name appear in the input to dp-policy-modify, then throttle-schedule-id determines the ID of the throttle, and the value of throttle-schedule-name is ignored. If neither throttle-schedule-id nor throttle-schedule-name appear in the input to dp-policy-modify, then the default value is an ID of 0 (equivalent to a name of ""), which means no throttle is set.
Both throttle-schedule-id and throttle-schedule-name always appear in the output from dp-policy-list-iter-next.
This property is present for both backup and mirror connections.
throttle-schedule-name obj-name
optional
An object name that specifies the throttle schedule for this connection. A throttle schedule specifies an upper limit, varying over time, on the network bandwidth used to make backups for a single dataset. This limit applies to the total amount of bandwidth that may be used at one time by all active transfers over protection relationships associated with this connection. The value of throttle-schedule-name may be the empty string (""), in which case no throttle is set for this connection, and there is no limit on data transfer bandwidth. If the value is not "", it must be the name of a DP throttle object.
If both throttle-schedule-id and throttle-schedule-name appear in the input to dp-policy-modify, then throttle-schedule-id determines the ID of the throttle, and the value of throttle-schedule-name is ignored. If neither throttle-schedule-id nor throttle-schedule-name appear in the input to dp-policy-modify, then the default value is a name of "" (equivalent to an ID of 0), which means no throttle is set.
Both throttle-schedule-id and throttle-schedule-name always appear in the output from dp-policy-list-iter-next.
This property is present for both backup and mirror connections.
to-node-id integer
validate
ID of node at destination of the connection. This is assigned by the system, and therefore may not be modified. The node at the root of the graph is id 1. Range: [1..2^31 - 1]. to-node-name string
Name of node at destination of the connection. It is returned in the policy list query with a maximum length of 255 characters. type string
Type of the connection. Allowed values are "backup" or "mirror". This element may not be modified.
| Element definition: dp-policy-content | [top] |
All content of a single policy, including its name, description, topology (nodes and connections), and the properties for each node and connection.
Name Range Type Description description string
optional
Description of the policy. It may contain from 0 to 255 characters. If the length of a description passed as input to dp-policy-modify is longer than 255 characters, then the ZAPI fails with error code EINVALIDPOLICYPROPERTY. The description always appears in the output from dp-policy-list-iter-next. If the description is omitted from the input to dp-policy-modify, then the default value is the empty string "". dp-policy-connections dp-policy-connection-info[]
optional
List of connections between nodes of the policy. In the output from dp-policy-list-iter-next, this list is sorted in order of increasing connection ID. In the input to dp-policy-modify, it need not be sorted. However, in input to dp-policy-modify, there must be a one-one mapping between entries in this array and connections in the policy graph, or else the call fails because it is attempting to change the policy's topology. The default value is an empty list. If a policy has only a single node and therefore no connections, you may omit this element from the input to dp-policy-modify. It is always present in the output from dp-policy-list-iter-next.
dp-policy-nodes dp-policy-node-info[]
List of nodes in the policy. In the output from dp-policy-list-iter-next, this list is sorted in order of increasing node ID. In the input to dp-policy-modify, it need not be sorted. However, in input to dp-policy-modify, there must be a one-one mapping between entries in this array and nodes in the policy graph, or else the call fails because it is attempting to change the policy's topology. name obj-name
Name of the policy. Each DP policy has a name that is unique among DP policies, but may be the same as an object of some other type.
| Element definition: dp-policy-node-info | [top] |
Information about a node in a DP policy. The node's properties are represented by optional elements. The rules for when a property is present or absent are defined in the property's Description, and depend on the type of node. There is a set of properties associated with nodes that determine how long the system retains backups. Each backup falls into one of these four retention classes: hourly, daily, weekly, or monthly. The following eight properties determine how long backups are retained for each of the retention classes:
A backup expires when its age, in seconds, exceeds the retention duration set for its retention class on the node on which it is stored. After a backup expires, whenever the number of newer backups in its retention class at least equals the retention count for its class, then the expired backup is deleted.
- hourly-retention-count
- hourly-retention-duration
- daily-retention-count
- daily-retention-duration
- weekly-retention-count
- weekly-retention-duration
- monthly-retention-count
- monthly-retention-duration
All eight of the retention properties are present only on the root node and on backup secondary nodes. On the root node, the retention properties apply to local snapshots created on the root node. On backup secondary nodes, the retention properties apply to backups of primary node data that are stored on the backup secondary node. The retention properties are absent from mirror destination nodes because a mirror destination retains the same set of backups as its mirror source.
Name Range Type Description backup-script-path string
optional
Absolute path on the management station to the script to invoke both before and after backing up a backup primary node. The script is invoked when either a primary node is backed up to a secondary node or a local backup is created on the root node. The path consists of 0 to 255 characters. If the length of a backup-script-path passed as input to dp-policy-modify is longer than 255 characters, then the ZAPI fails with error code EINVALIDPOLICYPROPERTY. An empty string value "" indicates no script is invoked. The system does not check whether a non-empty path string actually refers to an executable script prior to attempting to run the script. The default value of this property is the empty string "".
This property is present only for the root node.
backup-script-run-as string
optional
The backup script is run on the management station by the user with this username. The value of this property is used only if the management system is running on a Unix host. On Windows the script is always invoked using the LocalSystem account. The username consists of 0 to 64 characters. If the length of a backup-script-run-as passed as input to dp-policy-modify is longer than 64 characters, then the ZAPI fails with error code EINVALIDPOLICYPROPERTY. The system does not check whether a user with this username actually exists prior to attempting to run the script.
The default value of this property is the empty string "". If the property value is "", then on Unix the script is run by the superuser ("root").
This property is present only for the root node.
daily-retention-count integer
optional
validate
Minimum number of backups from the daily retention class that the system retains on this node. Range: [0..252]. The default value of this property is 0. This property is present only for root and backup secondary nodes.
For more details, see the description of dp-policy-node-info.
daily-retention-duration integer
optional
validate
The age, in seconds, after which a backup from the daily retention class expires on this node. Range: [0..2^31 - 1]. The default value of this property is 0. This property is present only for root and backup secondary nodes.
For more details, see the description of dp-policy-node-info.
failover-script-path string
optional
Absolute path on the management station to the script to invoke both before and after breaking mirrors during a failover operation. The path consists of 0 to 255 characters. If the length of a failover-script-path passed as input to dp-policy-modify is longer than 255 characters, then the ZAPI fails with error code EINVALIDPOLICYPROPERTY. An empty string value "" indicates no script is invoked. The system does not check whether a non-empty path string actually refers to an executable script prior to attempting to run the script. The default value of this property is the empty string "".
This property is present only for the root node.
failover-script-run-as string
optional
The failover script is run on the management station by the user with this username. The value of this property is used only if the management system is running on a Unix host. On Windows the script is always invoked using the LocalSystem account. The username consists of 0 to 64 characters. If the length of a failover-script-run-as passed as input to dp-policy-modify is longer than 64 characters, then the ZAPI fails with error code EINVALIDPOLICYPROPERTY. The system does not check whether a user with this username actually exists prior to attempting to run the script.
The default value of this property is the empty string "". If the property value is "", then on Unix the script is run by the superuser ("root").
This property is present only for the root node.
hourly-retention-count integer
optional
validate
Minimum number of backups from the hourly retention class that the system retains on this node. Range: [0..252]. The default value of this property is 0. This property is present only for root and backup secondary nodes.
For more details, see the description of dp-policy-node-info.
hourly-retention-duration integer
optional
validate
The age, in seconds, after which a backup from the hourly retention class expires on this node. Range: [0..2^31 - 1]. The default value of this property is 0. This property is present only for root and backup secondary nodes.
For more details, see the description of dp-policy-node-info.
id integer
validate
Identifier of the node. This is assigned by the system, and therefore may not be modified. The node at the root of the graph is id 1. Range: [1..2^31 - 1]. is-lag-error-enabled boolean
optional
validate
Indicates whether the system should generate an error event when the newest local backup copy is older than lag-error-threshold. The default value of this property is true. This property is present for root node only.
is-lag-warning-enabled boolean
optional
validate
Indicates whether the system should generate a warning event when the newest local backup copy is older than lag-warning-threshold. The default value of this property is true. This property is present for root node only.
lag-error-threshold integer
optional
validate
Lag, in seconds. If local backup copy is older than this amount and if is-lag-error-enabled is set, the system generates an error event. The default value of this property is 172800 seconds (which is 2 days). Range: [1..2^31 - 1]. This property is present for root node only.
lag-warning-threshold integer
optional
validate
Lag, in seconds. If local backup copy is older than this amount and if is-lag-warning-enabled is set, the system generates a warning event. The default value of this property is 129600 seconds (which is 1.5 days). Range: [1..2^31 - 1]. This property is present for root node only.
monthly-retention-count integer
optional
validate
Minimum number of backups from the monthly retention class that the system retains on this node. Range: [0..252]. The default value of this property is 0. This property is present only for root and backup secondary nodes.
For more details, see the description of dp-policy-node-info.
monthly-retention-duration integer
optional
validate
The age, in seconds, after which a backup from the monthly retention class expires on this node. Range: [0..2^31 - 1]. The default value of this property is 0. This property is present only for root and backup secondary nodes.
For more details, see the description of dp-policy-node-info.
name dp-policy-node-name
Name of the node. Each node has a name that is unique within its policy, but nodes in different policies may share the same name. If the length of a name passed as input to dp-policy-modify is longer than 64 characters, then the ZAPI fails with error code EINVALIDPOLICYPROPERTY. snapshot-schedule-id obj-id
optional
An object ID for the snapshot schedule for this node. The snapshot schedule specifies when to create local point-in-time snapshot images on the storage elements that map to this node. The value of snapshot-schedule-id may be 0, in which case no snapshot schedule is set for this node. If no snapshot schedule is set, no local snapshots are created. If the value is not 0, it must be the ID of a DP schedule object.
If both snapshot-schedule-id and snapshot-schedule-name appear in the input to dp-policy-modify, then snapshot-schedule-id determines the ID of the snapshot schedule, and the value of snapshot-schedule-name is ignored. If neither snapshot-schedule-id nor snapshot-schedule-name appear in the input to dp-policy-modify, then the default value is an ID of 0 (equivalent to a name of ""), which means no snapshot schedule is set.
Both snapshot-schedule-id and snapshot-schedule-name always appear in the output from dp-policy-list-iter-next for the root node of a policy.
This property is present only for the root node. This is because all data on a non-root node comes from mirror or backup connections, and mirroring and backups create their own snapshots. Therefore there is no reason for a non-root node to generate additional snapshots on its own schedule, because they would contain no new data.
If a policy has been applied to a dataset whose root storage set contains OSSV directories, then you cannot set a snapshot schedule for the root node of the policy. This restriction exists because OSSV hosts cannot create local snapshots.
snapshot-schedule-name obj-name
optional
An object name for the snapshot schedule for this node. The snapshot schedule specifies when to create local point-in-time snapshot images on the storage elements that map to this node. The value of snapshot-schedule-name may be the empty string (""), in which case no snapshot schedule is set for this node. If no snapshot schedule is set, no local snapshots are created. If the value is not "", it must be the name of a DP schedule object.
If both snapshot-schedule-id and snapshot-schedule-name appear in the input to dp-policy-modify, then snapshot-schedule-id determines the ID of the snapshot schedule, and the value of snapshot-schedule-name is ignored. If neither snapshot-schedule-id nor snapshot-schedule-name appear in the input to dp-policy-modify, then the default value is a name of "" (equivalent to an ID of 0), which means no snapshot schedule is set.
Both snapshot-schedule-id and snapshot-schedule-name always appear in the output from dp-policy-list-iter-next for the root node of a policy.
This property is present only for the root node. This is because all data on a non-root node comes from mirror or backup connections, and mirroring and backups create their own snapshots. Therefore there is no reason for a non-root node to generate additional snapshots on its own schedule, because they would contain no new data.
If a policy has been applied to a dataset whose root storage set contains OSSV directories, then you cannot set a snapshot schedule for the root node of the policy. This restriction exists because OSSV hosts cannot create local snapshots.
weekly-retention-count integer
optional
validate
Minimum number of backups from the weekly retention class that the system retains on this node. Range: [0..252]. The default value of this property is 0. This property is present only for root and backup secondary nodes.
For more details, see the description of dp-policy-node-info.
weekly-retention-duration integer
optional
validate
The age, in seconds, after which a backup from the weekly retention class expires on this node. Range: [0..2^31 - 1]. The default value of this property is 0. This property is present only for root and backup secondary nodes.
For more details, see the description of dp-policy-node-info.
| 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 appliance or agent.
- warning: An object has the warning status when an event related to the object occurred that an administrator should know about. The event will not cause service disruption.
- error: An object has error status when it does not cause any service disruption, but it may affect performance.
- critical: An object has critical status when it is still performing, but service disruption may occur if corrective action is not taken immediately.
- emergency: An object is in emergency status when it stops performing unexpectedly and could lose data.
[none]
| Element definition: 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: dp-policy-connection-info | [top] |
Information about a connection from one node to another in a DP policy. The connection's properties are represented by optional elements. The rules for when a property is present or absent are defined in the property's Description, and depend on the type of connection.
Name Range Type Description backup-schedule-id obj-id
optional
An object ID for the backup schedule for this connection. The backup schedule specifies when to create backup snapshots and transfer them to backup secondaries. The value of backup-schedule-id may be 0, in which case no backup schedule is set for this connection, and backups will be created only when initiated by the user. If the value is not 0, it must be the ID of a DP schedule object.
If both backup-schedule-id and backup-schedule-name appear in the input to dp-policy-modify, then backup-schedule-id determines the ID of the backup schedule, and the value of backup-schedule-name is ignored. If neither backup-schedule-id nor backup-schedule-name appear in the input to dp-policy-modify, then the default value is an ID of 0 (equivalent to a name of ""), which means no backup schedule is set.
Both backup-schedule-id and backup-schedule-name always appear in the output from dp-policy-list-iter-next for backup connections.
This property is present only for backup connections.
backup-schedule-name obj-name
optional
An object name for the backup schedule for this connection. The backup schedule specifies when to create backup snapshots and transfer them to backup secondaries. The value of backup-schedule-name may be the empty string (""), in which case no backup schedule is set for this connection, and backups will be created only when initiated by the user. If the value is not "", it must be the name of a DP schedule object. If both backup-schedule-id and backup-schedule-name appear in the input to dp-policy-modify, then backup-schedule-id determines the ID of the backup schedule, and the value of backup-schedule-name is ignored. If neither backup-schedule-id nor backup-schedule-name appear in the input to dp-policy-modify, then the default value is a name of "" (equivalent to an ID of 0), which means no backup schedule is set.
Both backup-schedule-id and backup-schedule-name always appear in the output from dp-policy-list-iter-next for backup connections.
This property is present only for backup connections.
from-node-id integer
validate
ID of node at source of the connection. This is assigned by the system, and therefore may not be modified. The node at the root of the graph is id 1. Range: [1..2^31 - 1]. from-node-name string
Name of node at source of the connection. It is returned in the policy list query with a maximum length of 255 characters. id integer
validate
ID of the connection. This is assigned by the system, and therefore may not be modified. Range: [1..2^31 - 1]. is-dr-capable boolean
Indicates whether this link is DR capable. This read only flag cannot be changed by dp-policy-modify but will be returned by the dp-policy-list-iter-next ZAPI. is-lag-error-enabled boolean
optional
validate
Indicates whether the system should generate an error event when the newest backup or mirrored copy is older than lag-error-threshold. The default value of this property is true. This property is present for both backup and mirror connections.
is-lag-warning-enabled boolean
optional
validate
Indicates whether the system should generate a warning event when the newest backup or mirrored copy is older than lag-warning-threshold. The default value of this property is true. This property is present for both backup and mirror connections.
lag-error-threshold integer
optional
validate
Lag, in seconds. If backup or mirrored copy is older than this amount and if is-lag-error-enabled is set, the system generates an error event. The default value of this property is 172800 seconds (which is 2 days). Range: [1..2^31 - 1]. This property is present for both backup and mirror connections.
lag-warning-threshold integer
optional
validate
Lag, in seconds. If backup or mirrored copy is older than this amount and if is-lag-warning-enabled is set, the system generates a warning event. The default value of this property is 129600 seconds (which is 1.5 days). Range: [1..2^31 - 1]. This property is present for both backup and mirror connections.
mirror-schedule-id obj-id
optional
An object ID for the mirror schedule for this connection. The mirror schedule specifies when to transfer data via an asynchronous mirror. Synchronous and semi-synchronous mirrors are not supported. The value of mirror-schedule-id may be 0, in which case no mirror schedule is set for this connection. If the value is not 0, it must be the ID of a DP schedule object.
If no mirror schedule is set for this connection, then the mirror relationship is idle, which means mirroring occurs only when the user initiates it manually.
If both mirror-schedule-id and mirror-schedule-name appear in the input to dp-policy-modify, then mirror-schedule-id determines the ID of the mirror schedule, and the value of mirror-schedule-name is ignored. If neither mirror-schedule-id nor mirror-schedule-name appear in the input to dp-policy-modify, then the default value is an ID of 0 (equivalent to a name of ""), which means no mirror schedule is set.
Both mirror-schedule-id and mirror-schedule-name always appear in the output from dp-policy-list-iter-next for mirror connections.
This property is present only for mirror connections.
mirror-schedule-name obj-name
optional
An object name for the mirror schedule for this connection. The mirror schedule specifies when to transfer data via an asynchronous mirror. Synchronous and semi-synchronous mirrors are not supported. The value of mirror-schedule-name may be the empty string (""), in which case no mirror schedule is set for this connection. If the value is not "", it must be the name of a DP schedule object.
If no mirror schedule is set for this connection, then the mirror relationship is idle, which means mirroring occurs only when the user initiates it manually.
If both mirror-schedule-id and mirror-schedule-name appear in the input to dp-policy-modify, then mirror-schedule-id determines the ID of the mirror schedule, and the value of mirror-schedule-name is ignored. If neither mirror-schedule-id nor mirror-schedule-name appear in the input to dp-policy-modify, then the default value is a name of "" (equivalent to an ID of 0), which means no mirror schedule is set.
Both mirror-schedule-id and mirror-schedule-name always appear in the output from dp-policy-list-iter-next for mirror connections.
This property is present only for mirror connections.
throttle-schedule-id obj-id
optional
An object ID that specifies the throttle schedule for this connection. A throttle schedule specifies an upper limit, varying over time, on the network bandwidth used to make backups for a single dataset. This limit applies to the total amount of bandwidth that may be used at one time by all active transfers over protection relationships associated with this connection. The value of throttle-schedule-id may be 0, in which case no throttle is set for this connection, and there is no limit on data transfer bandwidth. If the value is not 0, it must be the ID of a DP throttle object.
If both throttle-schedule-id and throttle-schedule-name appear in the input to dp-policy-modify, then throttle-schedule-id determines the ID of the throttle, and the value of throttle-schedule-name is ignored. If neither throttle-schedule-id nor throttle-schedule-name appear in the input to dp-policy-modify, then the default value is an ID of 0 (equivalent to a name of ""), which means no throttle is set.
Both throttle-schedule-id and throttle-schedule-name always appear in the output from dp-policy-list-iter-next.
This property is present for both backup and mirror connections.
throttle-schedule-name obj-name
optional
An object name that specifies the throttle schedule for this connection. A throttle schedule specifies an upper limit, varying over time, on the network bandwidth used to make backups for a single dataset. This limit applies to the total amount of bandwidth that may be used at one time by all active transfers over protection relationships associated with this connection. The value of throttle-schedule-name may be the empty string (""), in which case no throttle is set for this connection, and there is no limit on data transfer bandwidth. If the value is not "", it must be the name of a DP throttle object.
If both throttle-schedule-id and throttle-schedule-name appear in the input to dp-policy-modify, then throttle-schedule-id determines the ID of the throttle, and the value of throttle-schedule-name is ignored. If neither throttle-schedule-id nor throttle-schedule-name appear in the input to dp-policy-modify, then the default value is a name of "" (equivalent to an ID of 0), which means no throttle is set.
Both throttle-schedule-id and throttle-schedule-name always appear in the output from dp-policy-list-iter-next.
This property is present for both backup and mirror connections.
to-node-id integer
validate
ID of node at destination of the connection. This is assigned by the system, and therefore may not be modified. The node at the root of the graph is id 1. Range: [1..2^31 - 1]. to-node-name string
Name of node at destination of the connection. It is returned in the policy list query with a maximum length of 255 characters. type string
Type of the connection. Allowed values are "backup" or "mirror". This element may not be modified.
| 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: 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 appliance or agent.
- warning: An object has the warning status when an event related to the object occurred that an administrator should know about. The event will not cause service disruption.
- error: An object has error status when it does not cause any service disruption, but it may affect performance.
- critical: An object has critical status when it is still performing, but service disruption may occur if corrective action is not taken immediately.
- emergency: An object is in emergency status when it stops performing unexpectedly and could lose data.
[none]