Veritas Storage Foundation Intelligent Storage Provisioning 5.0 AdministratorÆs Guide, HP-UX 11i v3, First Edition, May 2008

139Using capabilities, templates and rules
Capabilities
var Defines a variable that may be specified as a parameter
and its value to a capability. A template can use the
variables in its rules section to provide the requested
capability. Permitted variable types are int or string.
defaultvalue Defines the default value of a capability’s parameter if
no value is specified.
See “Capabilities” on page 138.
The following is a sample capability definition:
capability DataMirroring {
display_name "Data Mirroring"
display_name_id "{b84f1c64-1dd1-11b2-8b42-080020feef8b}", 3
description "Volume has multiple copies of data."
descriptionid "{b84f1c64-1dd1-11b2-8b42-080020feef8b}", 4
extends DataRedundancy
var nmirs:int {
display_name "Number of data copies"
display_name_id "{b84f1c64-1dd1-11b2-8b42-
080020feef8b}", 5
description "Specify the number of copies of data."
descriptionid "{b84f1c64-1dd1-11b2-8b42-080020feef8b}",
6
defaultvalue 2
}
};
Inheritance of capabilities
The extends keyword in a capability definition allows a capability to inherit
some of the properties of one or more base capabilities. This implies that such a
derived capability has an “is a” relationship with these base capabilities. The
following rules are applied by the inheritance mechanism:
A derived capability inherits variables from all its base capabilities.
A derived capability cannot define variables with the same name as any of
the variables in any of its base capabilities.
If a capability is derived from more than one base capability, none of the
variable names in any of its base capabilities should be the same as a
variable name in any other base capability.
The following sample capability definitions show how the DataMirrorStripe
capability is derived from the more general DataMirroring and Striping
capabilities:
capability DataMirrorStripe {