The Solaris_VM1.0.mof File

The Solaris_VM1.0.mof models the Solaris Volume Manager components for a system.

The Solaris_VM1.0.mof file defines the following classes:

Solaris_VMStateDatabase

Solaris_VMStateDatabase is defined as an extension of CIM_StorageExtent with the following properties.

[
 Provider(
    "com.sun.wbem.solarisprovider.lvm.Solaris_VMStateDatabase"),
 Description (
    "A class used to represent the state database replica(s) within a slice.")
]
class Solaris_VMStateDatabase : CIM_StorageExtent
{
    [Description (
        "The database was active prior to last configuration change.")]
    boolean WasActive;
    [Description (
        "The database is up to date.")]
    boolean UpToDate;
    [Description (
        "The locator for this database was read successfully.")]
    boolean LocatorRead;
    [Description (
        "The database's location is in /etc/lvm/mddb.cf.")]
    boolean InConf;
    [Description (
        "The database's location is patched in the kernel.")]
    boolean InKernel;
    [Description (
        "This database is the master.")]
    boolean Master;
    [Description (
        "This database has device write errors.")]
    boolean WriteErrors;
    [Description (
        "The database is active and commits are occurring.")]
    boolean Active;
    [Description (
        "The database has a problem with master blocks.")]
    boolean MasterBlockErrors;
    [Description (
        "The database has a problem with data blocks.")]
    boolean DataBlockErrors;
    [Description (
        "The database has format problems.")]
    boolean FormatErrors;
    [Description (
        "The database is too small to hold the current configuration.")]
    boolean TooSmall;
    [Description (
        "The database has read errors.")]
    boolean ReadErrors;
    [Description (
        "This is the number of replicas to create on the slice.")]
    uint32 NumReplicas;
};

Solaris_ VMExtent

Solaris_VMExtent is defined as an extension of CIM_StorageExtent with the following properties.

[
 Provider(
    "com.sun.wbem.solarisprovider.lvm.Solaris_VMExtent"),
 Description (
    "A class used to represent a range of extents within a storage extent that "
    "can be used for data.  The Solaris_VMExtent is directly related to a "
    "slice except that it is possible that the slice has one or more state "
    "database replicas on it.  So, the Solaris_VMExtent can represent the "
    "portion of the slice that is available for data.  "
    "When soft partitions are available, the Solaris_VMExtent will also "
    "represent a range of extents within a storage volume.  The "
    "Solaris_VMStorageVolume object provides the extent view of the meta "
    "devices, so Solaris_VMExtent can represent a range of extents "
    "in either a Solaris_DiskPartition or in a Solaris_VMStorageVolume.")
]
class Solaris_VMExtent : CIM_StorageExtent
{
    [Override ("Status"),
     Description (
        "A string indicating the current status of the extent."
        "Operational statuses are \"OK\", "
        "\"Initializing\", \"Maintenance\", \"Last Errored\", \"Resyncing\", "
        "\"Unused\", \"Available\", \"Reserved\" and \"Broken\"."),
     ValueMap {"OK", "Initializing", "Maintenance", "Last Errored",
               "Resyncing", "Unused", "Available", "Reserved", "Broken"} ]
    string Status;
    [Override ("StatusInfo"),
     Write,
     Description (
       "An integer indicating if the Solaris_VMExtent is enabled.  Extents "
       "are automatically disabled within hot spare pools, mirrors or raids "
       "when a serious error occurs.  After the disk has been repaired, the "
       "extent can be reenabled by setting the StatusInfo value to 3 "
       "(Enabled).  It is an error to set this attribute to any other value "
       "or to set it on a Solaris_VMExtent that is not a hot spare or "
       "mirror/raid component.")]
    uint16 StatusInfo;
};

Solaris_VMStripe

Solaris_VMStripe is defined as an extension of CIM_StorageRedundancyGroup with the following properties.

[
 Provider(
    "com.sun.wbem.solarisprovider.lvm.Solaris_VMStripe"),
 Description (
    "A class used to represent stripes.")
]
class Solaris_VMStripe : CIM_StorageRedundancyGroup
{
    [Write,
     MaxLen (64),
     Description ("The meta device name.")]
    string MetaDevice;
    [Override ("Status"),
     Description (
        "A string indicating the current status of the stripe.  A stripe can "
        "have a status if it is a submirror or a trans log. "
        "Operational statuses are \"OK\", \"Resyncing\", "
        "\"Needs Maintenance\", \"Error\", and \"Hard Error\"."),
     ValueMap {"OK", "Resyncing", "Needs Maintenance", "Error", "Hard Error"} ]
    string Status;
    [Maxlen (256),
     Description ("The mount point of the stripe.")]
    string MountPoint;
    [Description (
        "Array of slice names used only at creation of the stripe.") ]
    string StripeComponents[];
    [Description ("The size in blocks of this stripe.")]
    uint64 Size;
    [Description ("The interlace value, in bytes.")]
    uint64 Interlace;
    // Methods
    [Description (
        "Attach the specified disk slices to the stripe.")]
    uint32 Attach([IN] uint32 interlace, [IN] string components[]);
    [Description (
        "Creates or replaces the Solaris_VMUsesHotSparePool association. "
        "If the parameter is null, remove the hot spare pool association. "
        "Returns an error if this is not a submirror.")]
    uint32 UseHSP([IN] string hsp);
};

Solaris_VMConcat

Solaris_VMConcat is defined as an extension of CIM_StorageRedundancyGroup with the following properties.

[
 Provider(
    "com.sun.wbem.solarisprovider.lvm.Solaris_VMConcat"),
 Description (
    "A class used to represent concats and concatenated stripes.")
]
class Solaris_VMConcat : CIM_StorageRedundancyGroup
{
    [Write,
     MaxLen (64),
     Description ("The meta device name.")]
    string MetaDevice;
    [Override ("Status"),
     Description (
        "A string indicating the current status of the concat.  A concat can "
        "have a status if it is a submirror or a trans log. "
        "Operational statuses are \"OK\", \"Resyncing\", "
        "\"Needs Maintenance\", \"Error\", and \"Hard Error\"."),
     ValueMap {"OK", "Resyncing", "Needs Maintenance", "Error", "Hard Error"} ]
    string Status;
    [Maxlen (256),
     Description ("The mount point of the concat.")]
    string MountPoint;
    [Description ("The size in blocks of this concat.")]
    uint64 Size;
    [Description (
        "Array of slice names used only at creation of the concat.") ]
    string ConcatComponents[];
    // Methods
    [Description (
        "Attach the named extents to the concat.")]
    uint32 Attach([IN] uint32 interlace, [IN] string components[]);
    [Description (
        "Creates or replaces the Solaris_VMUsesHotSparePool association. "
        "If the parameter is null, remove the hot spare pool association. "
        "Returns an error if this is not a submirror.")]
    uint32 UseHSP([IN] string hsp);
};

Solaris_VMMirror

Solaris_VMMirror is defined as an extension of CIM_StorageRedundancyGroup with the following properties.

[
 Provider(
    "com.sun.wbem.solarisprovider.lvm.Solaris_VMMirror"),
 Description (
    "A class used to represent mirrors.")
]
class Solaris_VMMirror : CIM_StorageRedundancyGroup
{
    [Write,
     MaxLen (64),
     Description ("The meta device name.")]
    string MetaDevice;
    [Override ("Status"),
     Description (
        "A string indicating the current status of the mirror.  A mirror "
        "only has a status if it is a trans log.  Operational statuses are "
        "\"OK\", \"Error\", and \"Hard Error\"."),
     ValueMap {"OK", "Error", "Hard Error"} ]
    string Status;
    [Maxlen (256),
     Description ("The mount point of the mirror.")]
    string MountPoint;
    [Description ("The size in blocks of this mirror.")]
    uint64 Size;
    [Description (
        "Sub Mirror name used only at creation of the mirror.") ]
    string SubMirror;
    [Description ("When the mirror status is resynching, this shows the "
        "percent complete of the resynch.")]
    uint16 PercentDone;
    [Write,
     Description ("The pass that the mirror is resynced during reboot."),
     ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" }]
    uint32 Pass;
    [Write,
     Description ("The read option."),
     ValueMap { "1", "2", "3" },
     Values { "RoundRobin", "Geometric", "First" }]
    uint16 ReadOption;
    [Write,
     Description ("The write option."),
     ValueMap { "1", "2" },
     Values { "Parallel", "Serial" }]
    uint16 WriteOption;
    // Methods
    [Description (
        "Attach the specified submirror to the mirror.")]
    uint32 Attach([IN] string submirror);
    [Description (
        "Detach the specified submirror from the mirror.")]
    uint32 Detach([IN] string submirror);
    [Description (
        "Take the specified submirror offline.")]
    uint32 Offline([IN] string submirror);
    [Description (
        "Bring the specified submirror online.")]
    uint32 Online([IN] string submirror);
    [Description (
        "Replace the first partition, which is a component of one of the "
        "submirrors, with the second partition.")]
    uint32 Replace([IN] string oldPartition,
                   [IN] string newPartition);
    [Description ("Resync the metadevice.")]
    uint32 Resync([IN] uint32 blockSize);
};

Solaris_VMRaid5

Solaris_VMRaid5 is defined as an extension of CIM_StorageRedundancyGroup with the following properties.

[
 Provider(
    "com.sun.wbem.solarisprovider.lvm.Solaris_VMRaid5"),
 Description (
    "A class used to represent raid5s.")
]
class Solaris_VMRaid5 : CIM_StorageRedundancyGroup
{
    [Write,
     MaxLen (64),
     Description ("The meta device name.")]
    string MetaDevice;
    [Override ("Status"),
     Description (
        "A string indicating the current status of the raid5.  Operational "
        "statuses are \"OK\", \"Error\", \"Hard Error\", \"Initializing\", "
        "\"Needs Maintenance\", \"Initialization Failed\" and \"Regen\"."),
     ValueMap {"OK", "Error", "Hard Error", "Initializing", "Needs Maintenance",
        "Initialization Failed", "Regen"}]
    string Status;
    [Maxlen (256),
     Description ("The mount point of the raid5.")]
    string MountPoint;
    [Description (
        "Array of slice names used only at creation of the Raid 5 device.") ]
    string Raid5Components[];
    [Description ("The size in blocks of this raid5.")]
    uint64 Size;
    [Description ("The interlace value, in bytes.")]
    uint64 Interlace;
    [Description ("When the raid status is resynching, this shows the "
        "percent complete of the resynch.")]
    uint16 PercentDone;
    // Methods
    [Description (
        "Attach the specified slice to the raid5.")]
    uint32 Attach([IN] string partition);
    [Description (
        "Replace the first disk partition with the second disk partition.")]
    uint32 Replace([IN] string oldPartition,
                   [IN] string newPartition);
    [Description (
        "Creates or replaces the Solaris_VMUsesHotSparePool association. "
        "If the parameter is null, remove the hot spare pool association.")]
    uint32 UseHSP([IN] string hsp);
    [Description ("Resync the metadevice.")]
    uint32 Resync([IN] uint32 blockSize);
};

Solaris_VMTrans

Solaris_VMTrans is defined as an extension of CIM_LogicalElement with the following properties.

[
 Provider(
    "com.sun.wbem.solarisprovider.lvm.Solaris_VMTrans"),
 Description (
    "A class used to represent UFS logging filesystems.")
]
class Solaris_VMTrans : CIM_LogicalElement
{
    [Key, MaxLen (256),
     Description ("CreationClassName indicates the name of the class or the "
        "subclass used in the creation of an instance. When used with the "
        "other key properties, this property allows all instances of this "
        "class and its subclasses to be uniquely identified.")]
    string CreationClassName;
    [Override("Name"),
     Key, MaxLen (256),
     Description ("The Name serves as the key for the trans instance.")]
    string Name;
    [Write,
     MaxLen (64),
     Description ("The meta device name.")]
    string MetaDevice;
    [Override ("Status"),
     Description (
        "A string indicating the current status of the trans device.  "
        "Operational statuses are \"OK\", \"Detached\", \"Detaching\", "
        "\"Attaching\", \"Error\" and \"Hard Error\"."),
     ValueMap {"OK", "Detached", "Detaching", "Attaching", "Error",
               "Hard Error"} ]
    string Status;
    [Description ("The size in blocks of this trans device.")]
    uint64 Size;
    [Description (
        "MasterDevice name used only at creation of the Trans.") ]
    string MasterName;
    // Methods
    [Description (
        "Attach the log device.")]
    uint32 Attach([IN] string component);
    [Description ("Detach the log device.")]
    uint32 Detach();
};

Solaris_VMHotSparePool

Solaris_VMHotSparePool is defined as an extension of CIM_CollectionOfMSEs with the following properties.

[
 Provider(
    "com.sun.wbem.solarisprovider.lvm.Solaris_VMHotSparePool"),
 Description (
    "A class used to represent hot spare pools.")
]
class Solaris_VMHotSparePool : CIM_SpareGroup
{
    [Description (
        "Name of a slice to be used only during creation of a hot spare.") ]
    string HotSpareComponent;
    // Methods
    [Description (
        "Add the specified slice to the pool. Creates the Solaris_VMHot"
        "Spares assocation")]
    uint32 AddHotSpare([IN] string partition);
    [Description (
        "Remove the specified slice from the pool. Destroys the"
        " Solaris_VMHotSpares assocation")]
    uint32 DeleteHotSpare([IN] string partition);
    [Description (
        "Replace the first disk partition with the second disk partition.")]
    uint32 Replace([IN] string oldPartition,
                   [IN] string newPartition);
};

Solaris_VMDiskSet

Solaris_VMDiskSet is defined as an extension of CIM_DiskGroup with the following properties.

[
 Provider(
    "com.sun.wbem.solarisprovider.lvm.Solaris_VMDiskSet"),
 Description (
    "A class used to represent disk sets.")
]
class Solaris_VMDiskSet : CIM_DiskGroup
{
    [Description (
        "Host name used only at creation of the DiskSet.") ]
    string HostName;
    // Methods
    [Description (
        "Add the host to the set.")]
    uint32 AddHost([IN] string host);
    [Description (
        "Remove the host from the set.")]
    uint32 DeleteHost([IN] string host);
    [Description (
        "Add the drive to the set.")]
    uint32 AddDrive([IN] string drive);
    [Description (
        "Remove the drive from the set.")]
    uint32 DeleteDrive([IN] string drive);
    [Description (
        "Set the owner host of the set.")]
    uint32 SetOwner([IN] string host, [IN] boolean force);
    [Description (
        "Release the owner host of the set.")]
    uint32 ReleaseOwner([IN] string host);
    [Description (
        "Redistribute the state database replicas within the diskset.")]
    uint32 Distribute();
};

Solaris_VMStorageVolume

Solaris_VMStorageVolume is defined as an extension of CIM_StorageVolume with the following properties.

[
 Provider(
    "com.sun.wbem.solarisprovider.lvm.Solaris_VMStorageVolume"),
 Description (
    "A class used to represent storage volumes.")
]
class Solaris_VMStorageVolume : CIM_StorageVolume
{
};

Solaris_VMConcatComponent

Solaris_VMConcatComponent is an association between the Solaris_VMConcat and CIM_LogicalElement classes.

[
 Association,
 Aggregation,
 Provider(
  "com.sun.wbem.solarisprovider.lvm.Solaris_VMConcatComponent"),
 Description (
    "This aggregation relates the Solaris_VMExtents or Solaris_VMStripes that 
    "make up the concat.  If the component is a single slice, then the "
    "component is a Solaris_VMExtent.  Otherwise the component is made up of "
    "multiple slices, so it is a Solaris_VMStripe.  You can only attach a "
    "single slice to the concat when you create this assocation.  You cannot "
    "attach an existing stripe to the concat.  To attach multiple slices to "
    "the concat, forming a stripe, use the attach method in Solaris_VMConcat."
]
class Solaris_VMConcatComponent : CIM_ExtentRedundancyComponent
{
    [Override ("GroupComponent"),
     Aggregate,
     Description ("The concat that holds the VM stripe/extent.")]
    Solaris_VMConcat REF GroupComponent;
    [Override ("PartComponent"),
     Description ("The VM stripe/extent in the concat.")]
    CIM_LogicalElement REF PartComponent;
    [Description ("The order of the Stripe in the concat.")]
    uint32 Order;
};

Solaris_VMDriveInDiskSet

Solaris_VMDriveInDiskSet is an association between the Solaris_VMDiskSet and Solaris_DiskDrive classes.

[
 Association,
 Aggregation,
 Provider(
    "com.sun.wbem.solarisprovider.lvm.Solaris_VMDriveInDiskSet"),
 Description (
    "This aggregation relates the Solaris_DiskDrive objects that are "
    "in the disk set to the Solaris_VMDiskSet.")
]
class Solaris_VMDriveInDiskSet : CIM_DriveInDiskGroup
{
    [Override ("Collection"),
     Aggregate,
     Description ("The disk set.")]
    Solaris_VMDiskSet REF Collection;
    [Override ("Member"),
     Description ("The disk drive in the disk set.")]
    Solaris_DiskDrive REF Member;
};

Solaris_VMExtentBasedOn

Solaris_VMExtentBasedOn is an association between two CIM_StorageExtents.

[
 Association,
 Provider(
   "com.sun.wbem.solarisprovider.lvm.Solaris_VMExtentBasedOn"),
 Description (
    "This association relates the CIM_StorageExtent to another "
    "CIM_StorageExtent.")
]
class Solaris_VMExtentBasedOn : CIM_BasedOn
{
};

Solaris_VMExtentInDiskSet

Solaris_VMExtentInDiskSet is an association between the Solaris_VMDiskSet and Solaris_DiskDrive classes.

[
 Association,
 Aggregation,
 Provider(
    "com.sun.wbem.solarisprovider.lvm.Solaris_VMExtentInDiskSet"),
 Description (
    "This aggregation relates the Solaris_VMExtents that are in the disk set "
    "to the Solaris_VMDiskSet.")
]
class Solaris_VMExtentInDiskSet : CIM_ExtentInDiskGroup
{
    [Override ("Collection"),
     Aggregate,
     Description ("The disk set.")]
    Solaris_VMDiskSet REF Collection;
};

Solaris_VMHostInDiskSet

Solaris_VMHostInDiskSet is an association between the Solaris_VMDiskSet and Solaris_ComputerSystem classes.

[
 Association,
 Aggregation,
 Provider(
    "com.sun.wbem.solarisprovider.lvm.Solaris_VMHostInDiskSet"),
 Description (
    "This aggregation relates the Solaris_ComputerSystem objects that are "
    "in the disk set to the Solaris_VMDiskSet.")
]
class Solaris_VMHostInDiskSet : CIM_CollectedMSEs
{
    [Override ("Collection"),
     Aggregate,
     Description ("The disk set.")]
    Solaris_VMDiskSet REF Collection;
    [Override ("Member"),
     Description ("The host in the disk set.")]
    Solaris_ComputerSystem REF Member;
    [Description (
        "A boolean indicating that the host is the owner of the set.")]
    boolean Owner;
};

Solaris_VMHotSpareInUse

Solaris_VMHotSpareInUse is an association between two Solaris_VMExtents.

[
 Association,
 Provider(
    "com.sun.wbem.solarisprovider.lvm.Solaris_VMHotSpareInUse"),
 Description (
    "This association relates a VM extent to the hot spare that is currently "
    "sparing the partition.")
]
class Solaris_VMHotSpareInUse : CIM_Dependency
{
    [Override("Antecedent"),
     Description ("The spare extent.")]
    Solaris_VMExtent REF Antecedent;
    [Override("Dependent"),
     Description ("The failed extent being spared.")]
    Solaris_VMExtent REF Dependent;
};

Solaris_VMHotSpares

Solaris_VMHotSpares is an association between the Solaris_VMHotSparePool and Solaris_VMExtent classes.

[
 Association,
 Provider(
    "com.sun.wbem.solarisprovider.lvm.Solaris_VMHotSpares"),
 Description (
    "This aggregation relates the extents that are used as hot spares to a "
    "Solaris_VMHotSparePool.")
]
class Solaris_VMHotSpares : CIM_ActsAsSpare
{
    [Override ("Group"),
     Description ("The hot spare pool.")]
    Solaris_VMHotSparePool REF Group;
    [Override ("Spare"),
     Description ("The hot spare in the pool.")]
    Solaris_VMExtent REF Spare;
    [Description ("The order of the hot spare in the pool.")]
    uint32 Order;
};

Solaris_VMMirrorSubmirrors

Solaris_VMMirrorSubmirrors is an association between the Solaris_VMMirror and CIM_StorageRedundancyGroup classes.

[
 Association,
 Aggregation,
 Provider(
    "com.sun.wbem.solarisprovider.lvm.Solaris_VMMirrorSubmirrors"),
 Description (
    "This aggregation relates the CIM_StorageRedundancyGroup objects that are "
    "used as the submirrors to the Solaris_VMMirror.")
]
class Solaris_VMMirrorSubmirrors : CIM_RedundancyComponent
{
    [Override ("GroupComponent"),
     Aggregate,
     Description ("The mirror.")]
    Solaris_VMMirror REF GroupComponent;
    [Override ("PartComponent"),
     Description ("The CIM_StorageRedundancyGroup submirror.")]
    CIM_StorageRedundancyGroup REF PartComponent;
    [Write,
     Description ("A boolean indicating that the submirror is online.")]
    boolean OnLine;
    [Description ("The order of the CIM_StorageRedundancyGroup in the mirror.")]
    uint32 Order;
};

Solaris_VMRaid5Component

Solaris_VMRaid5Component is an association between the Solaris_VMRaid5 and Solaris_VMExtent classes.

[
 Association,
 Aggregation,
 Provider(
    "com.sun.wbem.solarisprovider.lvm.Solaris_VMRaid5Component"),
 Description (
    "This aggregation relates the Solaris_VMExtents that are used to make up "
    "the Solaris_VMRaid5.")
]
class Solaris_VMRaid5Component : CIM_ExtentRedundancyComponent
{
    [Override ("GroupComponent"),
     Aggregate,
     Description ("The raid 5.")]
    Solaris_VMRaid5 REF GroupComponent;
    [Override ("PartComponent"),
     Description ("The lvm extent.")]
    Solaris_VMExtent REF PartComponent;
    [Description ("The order of the VM extent in the raid5.")]
    uint32 Order;
    [Description ("A boolean indicating that the extent does not include "
        "any of the parity data.")]
    boolean NoParity;
};

Solaris_VMStatistics

Solaris_VMStatistics is an association between the CIM_LogicalElement and Solaris_DiskIOInformation classes.

[
 Association,
 Provider(
    "com.sun.wbem.solarisprovider.lvm.Solaris_VMStatistics"),
 Description (
    "This association relates the concat, stripe, mirror, raid5 or trans "
    "device to the Solaris_DiskThroughputInformation object.")
]
class Solaris_VMStatistics : CIM_Statistics
{
    [Override ("Element"),
     Description ("The meta device that the statistics are for.")]
    CIM_LogicalElement REF Element;
    [Override ("Stats"),
     Description ("The statistics.")]
    Solaris_DiskIOInformation REF Stats;
};

Solaris_VMStripeComponent

Solaris_VMStripeComponent is an association between the Solaris_VMStripe and Solaris_VMExtent classes.

[
 Association,
 Aggregation,
 Provider(
  "com.sun.wbem.solarisprovider.lvm.Solaris_VMStripeComponent"),
 Description (
    "This aggregation relates the Solaris_VMExtents that make up the stripe.")
]
class Solaris_VMStripeComponent : CIM_ExtentRedundancyComponent
{
    [Override ("GroupComponent"),
     Aggregate,
     Description ("The stripe that holds the VM extents.")]
    Solaris_VMStripe REF GroupComponent;
    [Override ("PartComponent"),
     Description ("The VM extent in the stripe.")]
    Solaris_VMExtent REF PartComponent;
    [Description ("The order of the extent in the stripe.")]
    uint32 Order;
};

Solaris_VMTransLog

Solaris_VMTransLog is an association between the CIM_LogicalElement and Solaris_VMTrans classes.

[
 Association,
 Provider(
    "com.sun.wbem.solarisprovider.lvm.Solaris_VMTransLog"),
 Description (
    "This association relates a trans device to its log.")
]
class Solaris_VMTransLog : CIM_Dependency
{
    [Override ("Antecedent"),
     Description ("The log device.")]
    CIM_LogicalElement REF Antecedent;
    [Override ("Dependent"),
     Description ("The trans device.")]
    Solaris_VMTrans REF Dependent;
};

Solaris_VMTransMaster

Solaris_VMTransMaster is an association between the CIM_LogicalElement and Solaris_VMTrans classes.

[
 Association,
 Provider(
    "com.sun.wbem.solarisprovider.lvm.Solaris_VMTransMaster"),
 Description (
    "This association relates a trans device to its master.")
]
class Solaris_VMTransMaster : CIM_Dependency
{
    [Override ("Antecedent"),
     Description ("The master device.")]
    CIM_LogicalElement REF Antecedent;
    [Override ("Dependent"),
     Description ("The trans device.")]
    Solaris_VMTrans REF Dependent;
};

Solaris_VMUsesHotSparePool

Solaris_VMUsesHotSparePool is an association between the CIM_StorageRedundancyGroup and Solaris_VMHotSparePool classes.

[
 Association,
 Provider(
    "com.sun.wbem.solarisprovider.lvm.Solaris_VMUsesHotSparePool"),
 Description (
    "This association relates the VM object to a hot spare pool.")
]
class Solaris_VMUsesHotSparePool : CIM_RedundancyComponent
{
    [Override ("GroupComponent"),
     Aggregate,
     Description ("The hot spare pool for the storage redundancy group.")]
    Solaris_VMHotSparePool REF GroupComponent;
    [Override ("PartComponent"),
     Description ("The storage redundancy group using the hot spare pool.")]
    CIM_StorageRedundancyGroup REF PartComponent;
};

Solaris_VMVolumeBasedOn

Solaris_VMVolumeBasedOn is an association between the CIM_StorageExtent and Solaris_VMStorageVolume classes.

[
 Association,
 Provider(
    "com.sun.wbem.solarisprovider.lvm.Solaris_VMVolumeBasedOn"),
 Description (
    "This association relates the Solaris_VMStorageVolume to the storage "
    "extents that the volume is built on.")
]
class Solaris_VMVolumeBasedOn : CIM_BasedOn
{
    [Override ("Antecedent"),
     Description (
        "The CIM_StorageExtent that the storage volume is based on.")]
    CIM_StorageExtent REF Antecedent;
    [Override ("Dependent"),
     Description ("The storage volume on the storage extent.")]
    Solaris_VMStorageVolume REF Dependent;
};