The types.cf file describes standard resource types to the VCS engine; specifically, the data required to control a specific resource.
The following example illustrates a DiskGroup resource type definition for Solaris.
static keylist SupportedActions = { "license.vfd",
static int OnlineRetryLimit = 1
static str ArgList[] = { DiskGroup, StartVolumes,
StopVolumes, MonitorOnly, MonitorReservation,
tempUseFence, PanicSystemOnDGLoss, DiskGroupType }
boolean MonitorReservation = 0
temp str tempUseFence = INVALID
boolean PanicSystemOnDGLoss = 1
The types definition performs two important functions:
In the DiskGroup example, the NumThreads and OnlineRetryLimit attributes are both classified as int, or integer. The DiskGroup, StartVolumes and StopVolumes attributes are defined as str, or strings.
For another example, review the following main.cf and types.cf representing an IP resource:
static keylist SupportedActions = { "device.vfd", "route.vfd" }
static str ArgList[] = { Device, Address, NetMask, Options,
ArpDelay, IfconfigTwice, ContainerName }
The high-availability address is configured on the interface defined by the Device attribute.
The IP address is enclosed in double quotes because the string contains periods.
See Attribute data types.
The VCS engine passes the identical arguments to the IP agent for online, offline, clean and monitor. It is up to the agent to use the arguments it requires. All resource names must be unique in a VCS cluster.