postinstall revision 7c478bd95313f5f23a4c958a745db2134aa03244
#! /usr/bin/sh
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License, Version 1.0 only
# (the "License"). You may not use this file except in compliance
# with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
# ident "%Z%%M% %I% %E% SMI"
#
# Copyright 2003 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
PREGDIR=${BASEDIR}/var/sadm/wbem/logr/preReg
DMGT_PREGDIR=${PREGDIR}/dmgt
NFS_PREGDIR=${PREGDIR}/NFS
CIM27_PREGDIR=${PREGDIR}/cim2.7
# Create the preReg dir needed for cim class registration
mkdir -p ${DMGT_PREGDIR}
mkdir -p ${NFS_PREGDIR}
mkdir -p ${CIM27_PREGDIR}
# create the mof used for registration
cat <<DMGT_MOF_END >${DMGT_PREGDIR}/Solaris_DMGT1.0.mof
/*
* Title Solaris Device Management MOF specification
* Description This model incorporates Disks, Disks Partitions and other
* device management classes.
*/
#pragma namespace("root/cimv2")
#pragma Locale ("en_US")
#pragma namespace("__modify")
//=============================================================================
// Title: Solaris_DiskDrive
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_DiskDrive MOF Class definition
//=============================================================================
[Provider ("jni:libWBEMdisk.so"),
Version("1.3.0"),
Description(
"Provides information about the logical characteristics"
"of a disk drive attached to a Solaris system.")]
class Solaris_DiskDrive : CIM_DiskDrive
{
[Deprecated {
""},
MaxLen (256),
Description (
"A string describing the type of disk. The use of"
"this is deprecated. This is a media specific attribute. ")]
string DiskType;
[Deprecated {
"Solaris_Disk.PhysicalLabels"},
MaxLen (256),
Description (
"A string containing a user defined label for the disk."
"This attribute has been deprecated. It is a media attribute and"
"is covered by the label property inherited on the media object.")]
string DiskLabel;
[Deprecated {
""},
Description (
"The number of sectors per cylinder.This attribute has"
"been deprecated. It is a media attribute and is not valid"
"because this information cannot be reliably determined." )]
uint32 SectorsPerCylinder;
[Deprecated {
""},
Description (
"The number of heads per cylinder. This attribute has been"
"deprecated. See SectorsPerCylinder for details." )]
uint32 HeadsPerCylinder;
[Deprecated {
""},
Description (
"The number of sectors per track. This attribute has been"
"deprecated. See SectorsPerCylinder for details.")]
uint32 SectorsPerTrack;
[Deprecated {
""},
Description (
"The size of a cylinder in bytes. This attribute has been"
"deprecated. See SectorsPerCylinder for details.")]
uint32 BytesPerCylinder;
[Deprecated {
""},
Description (
"The number of cylinders for this disk. This attribute"
"has been deprecated. See SectorsPerCylinder for details.")]
uint32 PhysicalCylinders;
[Deprecated {
""},
Description (
"The number of cylinders available for partitions. This"
"attribute has been deprecated. See SectorsPerCylinder for details.")]
uint32 DataCylinders;
[Deprecated {
""},
Description (
"The number of reserved cylinders. This attribute has been"
"deprecated. See SectorsPerCylinder for details.")]
uint32 AlternateCylinders;
[Deprecated {
""},
Description (
"The number of actual cylinders. This attribute has"
"been deprecated. See SectorsPerCylinder for details.")]
uint32 ActualCylinders;
[Deprecated {
""},
Description (
"Does this disk require fdisk partitions?"
"Solaris i386 machines require a disk to"
"contain fdisk partitions. This attribute has been deprecated.")]
boolean FdiskRequired;
[Deprecated {
""},
Description (
"Does this disk contain fdisk partitions. This attribute"
"has been deprecated. This is now modeled using the"
"Solaris_DiskPartBasedOnFDisk association.")]
boolean FdiskPresent;
[Deprecated {
"Solaris_Disk.labelDisk()"
},
Description (
"Label the disk with the given string."
"The string should contain a short label for the"
"disk of up to 8 characters. This method has been deprecated."
"This behavior is now modeled using the labelDisk method on"
"Solaris_Disk.")]
boolean LabelDisk([IN] String label);
[Deprecated {
"Solaris_Disk.createFDiskPartitions"
},
Description (
"Create one Solaris fdisk partition that"
"uses the whole disk. This method has been deprecated. This has"
"been replaced with the Solaris_Disk.createFDiskPartitions method.")]
boolean CreateDefaultFdiskPartition();
[Deprecated {
"Solaris_Disk.createFDiskPartitions"
},
Description (
"Create fdisk partitions on this disk. This method"
"has been deprecated. It has been replaced with the"
"Solaris_Disk.createFDiskPartitions method.")]
boolean CreateFdiskPartitions([IN] uint32 DiskParameters[]);
[Deprecated {
""},
Description (
"Retrieve the current fdisk partitions for this disk."
"This method has been deprecated. It is now modeled using the "
"Solaris_DiskPartition object with the fDisk subtype" )]
boolean GetFdiskPartitions([OUT, IN(False)] uint32 FDiskPartitions[]);
};
//=============================================================================
// Title: Solaris_DiskPartition
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_DiskPartition MOF Class definition
//=============================================================================
[Provider ("jni:libWBEMdisk.so"),
Version("1.3.0"),
Description("Provides information about the logical partitions"
"on a disk drive attached to a Solaris system.")]
class Solaris_DiskPartition : CIM_DiskPartition
{
[Description ("The type of Solaris partition."),
ValueMap{"0", "1", "2", "3", "4"},
Values {"Unknown", "Other", "Solaris", "FDisk", "EFI"}]
uint16 SolarisPartitionType;
[Description ("The size in bytes of this partition"),
Units("Bytes")]
uint64 PartitionSize;
[Description ("The Starting cylinder for this partition")]
uint32 StartCylinder;
[Description ("The ending cylinder for this partition")]
uint32 EndCylinder;
[Description ("The number of cylinders for this partition")]
uint32 TotalCylinders;
[Deprecated {
""},
MaxLen (256),
Description ("A string containing the deviceID of the scoping disk."
"This is now modeled on the media object and is obtained by the Name"
"attribute on that object. ")]
string DiskID;
[Deprecated {
""},
Description ("The FLAG for this partition. The Flag describes"
"how the partition is to be mounted."
"0x00 Mountable Read Write"
"0x01 Not Mountable"
"0x10 Mountable Read Only. This attribute has been deprecated."
" A partition is not mounted. A Filesystem is.")]
uint8 Flag;
[Deprecated {
""},
Description ("The TAG for this partition. The Tag describes"
"the type of partition"
"Unassigned 0x00"
"Boot 0x01"
"Root 0x02"
"Swap 0x03"
"Usr 0x04"
"Backup 0x05"
"Stand 0x06"
"Var 0x07"
"Home 0x08"
"Altsctr 0x09"
"Cache 0x0a This attribute has been deprecated. A"
"Filesystem on a partition determines its use case.")]
uint8 Tag;
[Deprecated {
""},
Description ("Is there an existing file system on this partition."
"This attribute has been deprecated. This information is obtained"
"by traversing the Solaris_LocalFSResidesOnExtent association.")]
boolean ValidFileSystem;
[Deprecated {
"" },
Description ("Create file system on this partition using the default"
"parameters. Returns TRUE if successful. This method has been"
"deprecated. The behavior for this method is done with the "
"creation of a Solaris_FileSystem object.")]
boolean CreateFileSystem();
[Deprecated {
"Solaris_Disk.createPartitions()"},
Description ("Create partition on this disk. Partitions are created"
"based on the instance of Solaris_DiskPartition that"
"are associated with this Solaris_DiskDrive instance. This "
"method has been deprecated. It is replaced by the"
"Solaris_Disk.createPartitions() method.")]
boolean CreatePartitions([IN] uint32 DiskParameters[]);
};
//=============================================================================
// Title: Solaris_MediaPresent
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_MediaPresent MOF Class definition
//=============================================================================
[Provider ("jni:libWBEMdisk.so"),
Version("1.3.0"),
Description ("Solaris_MediaPresent an association that represents"
"The relationship between a media access device and"
"its media if present.")]
class Solaris_MediaPresent : CIM_MediaPresent
{
};
#pragma namespace("__create")
//=============================================================================
// Title: Solaris_LogicalDisk
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_LogicalDisk MOF Class definition
//=============================================================================
[Provider ("jni:libWBEMdisk.so"),
Version("1.3.0"),
Description("Provides information about the logical characteristics"
"of a disk.")]
class Solaris_LogicalDisk : CIM_StorageVolume
{
};
//=============================================================================
// Title: Solaris_PhysicalMedia
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_PhysicalMedia MOF Class definition
//=============================================================================
[Version("1.3.0"),
Abstract,
Description(
"The PhysicalMedia class represents any type of documentation"
"or storage medium, such as tapes, CDROMs, etc. This class"
"is typically used to locate and manage Removable Media"
"(versus Media sealed with the MediaAccessDevice, as a single"
"Package, as is the case with hard disks). However, 'sealed'"
"Media can also be modeled using this class, where the Media"
"would then be associated with the PhysicalPackage using the"
"PackagedComponent relationship.")]
class Solaris_PhysicalMedia : CIM_PhysicalMedia
{
};
//=============================================================================
// Title: Solaris_Disk
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_Disk MOF Class definition
//=============================================================================
[Provider ("jni:libWBEMdisk.so"),
Version("1.3.0"),
Description("Provides information about the physical characteristics"
"of a disk.")]
class Solaris_Disk : Solaris_PhysicalMedia
{
[Description ("Create partitions on this disk.")]
boolean createPartitions([IN] uint32 diskParameters[]);
[Description ("Create fdisk partitions on this disk.")]
boolean createFDiskPartitions([IN] uint32 diskParameters[]);
[Description ("Change the label on this disk.")]
boolean labelDisk([IN] string newLabel);
[Description ("Returns the geometry information with regard to this"
"disk.")]
boolean getDiskGeometry([IN] string diskName, [OUT, IN(False)] uint32 geometry[]);
};
//=============================================================================
// Title: Solaris_PhysicalPackage
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_PhysicalPackage MOF Class definition
//=============================================================================
[Version("1.3.0"),
Description (
"This class represents the package that realizes the Solaris"
"logical devices.This class does not have a provider,rather it relies on"
"the user to provide instances of this class. Physical package"
"characteristics are not generally available via Solaris, so the"
"user will have to manually input the instances of these.")]
class Solaris_PhysicalPackage : CIM_PhysicalPackage
{
};
//=============================================================================
// Title: Solaris_RealizesExtent
// Version: 1.3.0
// Date: 02/12/02
// Description: Solaris_RealizesExtent MOF Class definition
//=============================================================================
[Association,
Version("1.3.0"),
Provider ("jni:libWBEMdisk.so"),
Description("A logical disk is realized by a physical disk. This"
"association models this relationship, specifically the relationship"
"between the Solaris_Disk and the Solaris_LogicalDisk.")]
class Solaris_RealizesExtent : CIM_RealizesExtent
{
[Override ("Antecedent"), Key,
Description(
"The physical disk which realizes the logical disk")]
Solaris_Disk REF Antecedent;
[Override ("Dependent"), Key,
Description(
"The logical representation of the physical disk")]
Solaris_LogicalDisk REF Dependent;
};
//=============================================================================
// Title: Solaris_RealizesDiskPartition
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_RealizesDiskPartition MOF Class definition
//=============================================================================
[Association,
Version("1.3.0"),
Provider ("jni:libWBEMdisk.so"),
Description("Disk partitions are directly realized on physical media."
"This is used to model the creation of partitions on a raw SCSI or"
"IDE drive, Solaris_PhysicalDisk")]
class Solaris_RealizesDiskPartition: CIM_RealizesDiskPartition
{
[Override ("Antecedent"), Key,
Description (
"The physical media on which the partition is realized."),
Max (1)]
Solaris_Disk REF Antecedent;
[Override ("Dependent"), Key,
Description (
"The disk partition that is located on the media.")]
Solaris_DiskPartition REF Dependent;
};
//=============================================================================
// Title: Solaris_RealizesDiskDrive
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_RealizesDiskDrive MOF Class definition
//=============================================================================
[Association,
Version("1.3.0"),
Provider ("jni:libWBEMdisk.so"),
Description("Disk drives are realized by physical packages."
"This is used to model the realization of a Solaris_DiskDrive by"
"Solaris_PhysicalPackage. If the user has not input instances"
"of Solaris_PhysicalPackage no values will be returned on enumeration."
"Additionally, no create, modify or delete operations are allowed.")]
class Solaris_RealizesDiskDrive: CIM_Realizes
{
[Override ("Antecedent"), Key,
Description (
"The physical package that implements the logical device.")]
Solaris_PhysicalPackage REF Antecedent;
[Override ("Dependent"), Key,
Description (
"The logical device .") ]
Solaris_DiskDrive REF Dependent;
};
//=============================================================================
// Title: Solaris_DiskPartitionBasedOnDisk
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_DiskPartitionBasedOnDisk MOF Class definition
//=============================================================================
[Association,
Version("1.3.0"),
Provider ("jni:libWBEMdisk.so"),
Description("A disk partition in Solaris can be based on either"
"a disk or an fdisk. This association models the relationship of"
"Solaris disk partition with its underlying disk(not fDisk)")]
class Solaris_DiskPartitionBasedOnDisk: CIM_DiskPartitionBasedOnVolume
{
[Override ("Antecedent"), Key,
Description (
"The lower level StorageExtent.") ]
Solaris_LogicalDisk REF Antecedent;
[Override ("Dependent"), Key,
Description (
"The higher level StorageExtent.") ]
Solaris_DiskPartition REF Dependent;
};
//=============================================================================
// Title: Solaris_DiskPartitionBasedOnFDisk
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_DiskPartitionBasedOnFDisk MOF Class definition
//=============================================================================
[Association,
Version("1.3.0"),
Provider ("jni:libWBEMdisk.so"),
Description("A disk partition in Solaris can be based on either"
"a disk or an fdisk. This association models the relationship of"
"Solaris disk partition with its underlying fdisk")]
class Solaris_DiskPartitionBasedOnFDisk: CIM_BasedOn
{
[Override ("Antecedent"), Key,
Description (
"The lower level StorageExtent. The Fdisk partition")]
Solaris_DiskPartition REF Antecedent;
[Override ("Dependent"), Key,
Description (
"The higher level StorageExtent. The Solaris disk partition")]
Solaris_DiskPartition REF Dependent;
};
//=============================================================================
// Title: Solaris_SCSIController
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_SCSIController MOF Class definition
//=============================================================================
[Provider ("jni:libWBEMdisk.so"),
Version("1.3.0"),
Description(
"Provides data with regard to the capabilities and management"
"of a SCSI controller under Solaris.")]
class Solaris_SCSIController : CIM_SCSIController
{
};
//=============================================================================
// Title: Solaris_IDEController
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_IDEController MOF Class definition
//=============================================================================
[Provider ("jni:libWBEMdisk.so"),
Version("1.3.0"),
Description(
"Provides data with regard to the capabilities and management"
"of a SCSI controller under Solaris.")]
class Solaris_IDEController : CIM_IDEController
{
};
//=============================================================================
// Title: Solaris_MPXIOController
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_MPXIOController MOF Class definition
//=============================================================================
[Provider ("jni:libWBEMdisk.so"),
Version("1.3.0"),
Description(
"Provides data with regard to the capabilities and management"
"of a MPXIO controller under Solaris.")]
class Solaris_MPXIOController : CIM_Controller
{
};
//=============================================================================
// Title: Solaris_USBSCSIController
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_USBSCSIController MOF Class definition
//=============================================================================
[Provider ("jni:libWBEMdisk.so"),
Version("1.3.0"),
Description(
"Provides data with regard to the capabilities and management"
"of a USB SCSI controller under Solaris.")]
class Solaris_USBSCSIController : Solaris_SCSIController
{
};
//=============================================================================
// Title: Solaris_GenericController
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_GenericController MOF Class definition
//=============================================================================
[Provider ("jni:libWBEMdisk.so"),
Version("1.3.0"),
Description(
"Provides data with regard to the capabilities and management"
"of 'unknown' controllers under Solaris.")]
class Solaris_GenericController : CIM_Controller
{
};
//=============================================================================
// Title: Solaris_SCSIInterface
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_SCSIInterface MOF Class definition
//=============================================================================
[Association,
Provider ("jni:libWBEMdisk.so"),
Version("1.3.0"),
Description(
"The ControlledBy relationship indicating which devices"
"are accessed through a SCSIController, along with the characteristics"
"of this access.")]
class Solaris_SCSIInterface : CIM_SCSIInterface
{
};
//=============================================================================
// Title: Solaris_MPXIOInterface
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_MPXIOInterface MOF Class definition
//=============================================================================
[Association,
Provider ("jni:libWBEMdisk.so"),
Version("1.3.0"),
Description(
"MPXIOInterface is a ControlledBy relationship indicating"
"which devices are accessed through the MPXIOController and the"
"the characteristics of this access.")]
class Solaris_MPXIOInterface : CIM_ControlledBy
{
};
//=============================================================================
// Title: Solaris_IDEInterface
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_IDEInterface MOF Class definition
//=============================================================================
[Association,
Provider ("jni:libWBEMdisk.so"),
Version("1.3.0"),
Description(
"IDEInterface is a ControlledBy relationship indicating"
"which devices are accessed through the IDEController and the"
"the characteristics of this access.")]
class Solaris_IDEInterface : CIM_ControlledBy
{
};
//=============================================================================
// Title: Solaris_ExtraCapacityGroup
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_ExtraCapacityGroup MOF Class definition
//=============================================================================
[Version("1.3.0"),
Abstract,
Description(
"A class that indicates that the aggregated elements have more"
"capacity or capability than is needed.")]
class Solaris_ExtraCapacityGroup : CIM_ExtraCapacityGroup
{
};
//=============================================================================
// Title: Solaris_MPXIOGroup
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_MPXIOGroup MOF Class definition
//=============================================================================
[Provider ("jni:libWBEMdisk.so"),
Version("1.3.0"),
Description(
"A class that indicates that the aggregated elements have more"
"capacity or capability than is needed. Specifically, this"
"class addresses the controllers that make up the MPXIO "
"controller functionality.")]
class Solaris_MPXIOGroup : Solaris_ExtraCapacityGroup
{
};
//=============================================================================
// Title: Solaris_ControllerLogicalIdentity
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_ControllerLogicalIdentity MOF Class definition
//=============================================================================
[Association,
Abstract,
Version("1.3.0"),
Description(
"This association represents the different aspects of the "
"the same controller.")]
class Solaris_ControllerLogicalIdentity : CIM_LogicalIdentity
{
};
//=============================================================================
// Title: Solaris_MPXIOCtrlrLogicalIdentity
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_MPXIOCtrlrLogicalIdentity MOF Class definition
//=============================================================================
[Association,
Provider ("jni:libWBEMdisk.so"),
Version("1.3.0"),
Description(
"This association represents the different aspects of the "
"the same MPXIO controller. Specifically, the ExtraCapacityGroup"
"view of the MPXIO Controller.")]
class Solaris_MPXIOCtrlrLogicalIdentity : Solaris_ControllerLogicalIdentity
{
[Override ("SystemElement"), Key,
Description(
"Represents the mpxio aspect of the controller.")]
Solaris_MPXIOController REF SystemElement;
[Override ("SameElement"), Key,
Description(
"Represents the other logical aspect of the mpxio controller.")]
Solaris_MPXIOGroup REF SameElement;
};
//=============================================================================
// Title: Solaris_ControllerComponent
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_ControllerComponent MOF Class definition
//=============================================================================
[Association, Aggregation,
Abstract,
Version("1.3.0"),
Description(
"A redundancy group aggregates managed system elements, and"
"indicates that these elements provide redundancy.")]
class Solaris_ControllerComponent : CIM_RedundancyComponent
{
};
//=============================================================================
// Title: Solaris_MPXIOComponent
// Version: 1.3.0
// Date: 2/12/02
// Description: Solaris_MPXIOComponent MOF Class definition
//=============================================================================
[Association, Aggregation,
Provider ("jni:libWBEMdisk.so"),
Version("1.3.0"),
Description(
"A redundancy group aggregates managed system elements, and"
"indicates that these elements provide redundancy. Specifically"
"this class represents the physical controllers that are"
"a part of the scsi_vhci controller group.")]
class Solaris_MPXIOComponent : Solaris_ControllerComponent
{
[Override ("GroupComponent"), Aggregate, Key,
Description (
"This grouping is an extra capacity group.")]
Solaris_MPXIOGroup REF GroupComponent;
[Override ("PartComponent"), Key,
Description (
"Parts can only be a controller type.")]
CIM_Controller REF PartComponent;
};
//=============================================================================
// Title: Solaris_StorageLibrary
// Version: 0.0.9
// Date: 2/12/02
// Description: Solaris_StorageLibrary MOF Class definition
//=============================================================================
[Version("0.0.9"),
Experimental,
Description (
"A StorageLibrary is a collection of ManagedSystemElements "
"that operate together to provide cartridge library "
"capabilities. This object serves as an aggregation point to "
"group the following elements: MediaTransferDevices, a Label"
"Reader, a library Door, MediaAccessDevices, and other "
"Library components.") ]
class Solaris_StorageLibrary : CIM_StorageLibrary
{
};
DMGT_MOF_END
# Update the MOF, if needed.
if [ ! \( -d ${BASEDIR}/var/sadm/wbem/logr/unregDir/svm -o \
-d ${BASEDIR}/var/sadm/wbem/logr/preReg/svm \) ];
then
sed -e '/^#pragma namespace("__modify")/d' \
-e '/^#pragma namespace("__create")/d' \
${DMGT_PREGDIR}/Solaris_DMGT1.0.mof >${DMGT_PREGDIR}/sfile
mv ${DMGT_PREGDIR}/sfile ${DMGT_PREGDIR}/Solaris_DMGT1.0.mof
fi
cat <<CIM27_MOF_END >${CIM27_PREGDIR}/CIM2.7.mof
/*
* Title CIM version 2.7 NFS dependencies.
* Description CIM version 2.7 Solaris Network File System model dependencies.
* Date 02/18/2003
* Version 2.7
* Copyright 2003 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#pragma namespace("root/cimv2")
#pragma Locale ("en_US")
#pragma namespace("__create")
// ==================================================================
// ManagedElement
// ==================================================================
[Abstract, Version ("2.7.0"), Description (
"ManagedElement is an abstract class that provides a common "
"superclass (or top of the inheritance tree) for the "
"non-association classes in the CIM Schema.") ]
class CIM_ManagedElement {
[MaxLen (64), Description (
"The Caption property is a short textual description (one-"
"line string) of the object.") ]
string Caption;
[Description (
"The Description property provides a textual description of "
"the object.") ]
string Description;
[Description (
" A user-friendly name for the object. This property allows "
"each instance to define a user-friendly name IN ADDITION TO its "
"key properties/identity data, and description information. \n"
" Note that ManagedSystemElement's Name property is also defined "
"as a user-friendly name. But, it is often subclassed to be a "
"Key. It is not reasonable that the same property can convey "
"both identity and a user friendly name, without inconsistencies. "
"Where Name exists and is not a Key (such as for instances of "
"LogicalDevice), the same information MAY be present in both "
"the Name and ElementName properties.") ]
string ElementName;
};
// ==================================================================
// SettingData
// ===================================================================
[Abstract, Experimental, Version ("2.7.0"), Description (
" The SettingData class represents configuration-related and "
"operational parameters for one or more ManagedElement(s). A "
"ManagedElement may have multiple SettingData objects associated "
"with it. The current operational values for an Element's "
"parameters are reflected by properties in the Element itself or "
"by properties in its associations. These properties do not have "
"to be the same values present in the SettingData object. For "
"example, a modem may have a SettingData baud rate of 56Kb/sec "
"but be operating at 19.2Kb/sec. \n"
" Note that the CIM_SettingData class is very similar to "
"CIM_Setting, yet both classes are present in the model. This is "
"because many implementations have successfully used CIM_Setting. "
"However, issues have arisen that could not be resolved without "
"defining a new class. Therefore, until a new major release "
"occurs, both classes will exist in the model. Refer to the Core "
"White Paper for additional information.") ]
class CIM_SettingData : CIM_ManagedElement {
[Key, Description (
"InstanceID opaquely identifies a unique instance of "
"SettingData. The InstanceID must be unique within a "
"namespace. In order to ensure uniqueness, the value of "
"InstanceID SHOULD be constructed in the following manner: \n"
"<Vendor ID><ID> \n"
" <Vendor ID> MUST include a copyrighted, trademarked "
"or otherwise unique name that is owned by the business entity "
"or a registered ID that is assigned to the business entity "
"that is defining the InstanceID. (This is similar to the "
"<Schema Name>_<Class Name> structure of Schema class names.) "
"The purpose of <Vendor ID> is to ensure that <ID> is truly "
"unique across multiple vendor implementations. If such a "
"name is not used, the defining entity MUST assure that the "
"<ID> portion of the Instance ID is unique when compared with "
"other instance providers. For DMTF defined instances, the "
"<Vendor ID> is 'CIM'. \n"
" <ID> MUST include a vendor specified unique "
"identifier.") ]
string InstanceID;
[Required, Description (
"The user friendly name for this instance of SettingData. "
"In addition, the user friendly name can be used as a "
"index property for a search of query. (Note: Name "
"does not have to be unique within a namespace.)") ]
string ElementName;
};
// ===================================================================
// Share
// ===================================================================
[Abstract, Experimental, Version ("2.7.0"), Description (
"A Share is representative of an object presented for use "
"(or shared) across systems. Instances of CIM_Share are "
"associated with the shared object on the 'server'-side via "
"the CIM_SharedElement association. Shares are mounted on the "
"'client'-side (usually into another namespace) via the CIM_Import"
"Share association. CIM_Share is Abstract to force subclassing to "
"define the semantics of sharing." ) ]
class CIM_Share : CIM_LogicalElement {
[Key, MaxLen (256),
Propagated ("CIM_System.CreationClassName"),
Description ("The scoping System's CreationClassName. ") ]
string SystemCreationClassName;
[Key, Propagated ("CIM_System.Name"),
Description ("The scoping System's Name.") ]
string SystemName;
[Key, MaxLen (256), Description (
"CreationClassName indicates the name of the class or the "
"subclass used in the creation of an instance.") ]
string CreationClassName;
[Override("Name"), Key, Description (
"The Name property, inherited from LogicalElement, "
"defines the shared name by which the shared object is "
"exported.") ]
string Name;
};
// ===================================================================
// FileShare
// ===================================================================
[Abstract, Experimental, Version ("2.7.0"), Description (
"A FileShare is representative of a file or directory presented "
"for use (or shared) across systems. Instances of FileShare are "
"associated with the shared object on the 'server'-side via "
"the CIM_SharedElement association. Shares are mounted on the "
"'client'-side (usually into another namespace) via the CIM_Import"
"Share association. FileShare is Abstract to force subclassing to "
"define the semantics of sharing." ) ]
class CIM_FileShare : CIM_Share {
[Description ("Indicates whether a directory or file is presented "
"for use (or shared) across systems. A value of true "
"represents a directory. A value of false represents a file") ]
boolean SharingDirectory;
};
// ===================================================================
// NFSShare
// ===================================================================
[Experimental, Version ("2.7.0"), Description (
"An NFSShare represents a Directory associated "
"via CIM_SharedElement that is made accessible to "
"other systems. On the client-side, the NFSShare is "
"associated with its mount point via "
"CIM_ImportedShare.") ]
class CIM_NFSShare : CIM_FileShare {
[Override("Name"), Description (
"The Name property, inherited from Share, defines the "
"shared name by which the shared object is exported. "
"For NFS, this will typically be the pathname of the "
"exported directory, using forward slashes '/' to "
"precede directory names in the path.") ]
string Name;
};
// ===================================================================
// SharedElement
// ===================================================================
[Association, Experimental, Version ("2.7.0"), Description (
"SharedElement associates the Share to a LogicalElement"
"that is being exported.") ]
class CIM_SharedElement: CIM_LogicalIdentity {
[Override("SystemElement"), Key, Max (1),
Description ("The Directory that is Shared.") ]
CIM_LogicalElement REF SystemElement;
[Override("SameElement"), Key, Description (
"The Shared view of the Directory.") ]
CIM_Share ref SameElement;
};
// ==================================================================
// HostedShare
// ==================================================================
[Association, Experimental, Version ("2.7.0"), Description (
"CIM_HostedShare is an association between a Share and "
"the System on which the functionality resides. The "
"cardinality of this association is 1-to-many. A System "
"may host many Shares. Shares are weak with respect to "
"their hosting System. Heuristic: A Share is hosted on "
"the System where the LogicalElement that Exports the "
"Share is located, (via LogicalIdentity.)") ]
class CIM_HostedShare:CIM_Dependency {
[Override ("Antecedent"), Max (1), Min (1),
Description ("The hosting System.") ]
CIM_System REF Antecedent;
[Override ("Dependent"), Weak,
Description ("The Share hosted on the System.") ]
CIM_Share REF Dependent;
};
CIM27_MOF_END
sleep 2
cat <<NFS_MOF_END >${NFS_PREGDIR}/Solaris_NFS1.0.mof
/*
* Title Solaris Network File System (NFS) MOF specification 1.3
* Description Solaris Network File System model.
* Date 03/21/2003
* Version 1.3
* Copyright 2003 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#pragma namespace("root/cimv2")
#pragma Locale ("en_US")
// ===================================================================
// Objects
// ===================================================================
#pragma namespace("__create")
[Provider("jni:libWBEMnfs.so"),
Version("1.3.0"),
Description (
"A class that represents a local NFS shared object on the "
"server side that is made accessible to other systems.")
]
class Solaris_NFSShare : CIM_NFSShare
{
[Description("If set to true: maximal access is given to all "
"clients. Valid for NFS version 2 only. Corresponds "
"to the 'aclok' share_nfs option (Solaris 9)."),
ModelCorrespondence{"Solaris_NFSMount.Version"}]
boolean AllowAccessControl = false;
[Description("Sets the the effective user ID of unknown users. By "
"default, unknown users are given the effective user "
"ID UID_NOBODY. UID_NOBODY is usually set to 60001 but "
"because an administrator can change this we don't set "
"it to this by default. Corresponds to the "
"'anon=' share_nfs option (Solaris 9)."),
Required,
Units("Bytes")]
Uint32 EffectiveUID;
[Description("If set to true: causes the server file system to "
"silently ignore any attempt to enable the setuid or "
"setgid mode bits. Corresponds to the 'nosuid' "
"share_nfs option (Solaris 9).")]
boolean IgnoreSetId = false;
[Description("Enables NFS server logging for the specified file "
"system. The optional tag determines the location of "
"the related log files. The tag is defined in "
"etc/nfs/nfslog.conf. The default value is the global "
"tag. The log file tag is only applicable when logging is "
"turned on. Corresponds to the 'log=' share_nfs option "
"(Solaris 9)."),
MappingStrings{"SOLARIS9.SUN|/etc/nfs/nfslog.conf"}]
String LogFileTag;
[Description("If set to true: the share is to be persistent across "
"reboots.")]
boolean Persistent = false;
[Description(
"A value of true prevents clients from mounting subdirectories "
"of shared directories. Corresponds to the 'nosub' share_nfs "
"option (Solaris 9).")]
boolean PreventSubDirMount = false;
[Description("If set to true: the public file handle is moved from "
"root (/) to the exported directory. Corresponds to "
"the 'public' share_nfs option (Solaris 9).")]
boolean Public = false;
[Description("This attribute is only used upon creation of a share. "
"Security information should be retrieved from "
"Solaris_NFSShareSecurity and Solaris_NFSShareSecurityModes."
"This attribute stores the security options for a share. "
"Each element of the array is a string starting with "
"sec=<mode> and including all options, such as access lists, "
"pertaining to that security mode.")]
String SecurityOptions[];
[Description("A string of share options for the shared file system as found"
"in /etc/dfs/sharetab.")]
String ShareOptions;
[Description("An attribute that is only used at the time of creation of "
"a Solaris_NFSShare instance. If it is set to true, the "
"the NFS server daemons (nfsd and mountd) will be started "
"with the default settings, if and only if, nfsd and mountd "
"aren't already running on the host. The daemons will NOT "
"be stopped and restarted. As a side effect of starting the "
"NFS server daemons the share being created will be placed "
"as an entry in /etc/dfs/dfstab since the starting of the "
"daemon relies on entries here."),
MappingStrings{"SOLARIS9.SUN|/etc/init.d/nfs.server start"}]
boolean StartDaemons = false;
};
[Provider(
"jni:libWBEMnfs.so"),
Version("1.3.0"),
Description (
"A class used to represent the NFS share security mode and "
"associated options for a Solaris_NFSShare object.")
]
class Solaris_NFSShareSecurity : CIM_Setting
{
[Description("Sets the maximum life time (in seconds) of the "
"RPC request's credential, that the NFS server "
"will allow. Valid for NFS sec mode of diffie "
"helman (dh) only. Corresponds to the 'window=' "
"share_nfs option (Solaris 9)."
"If the security mode is not Diffie Helman, this "
"property will not be set."),
ModelCorrespondence{"Solaris_NFSShareSecurity.Mode"},
Units("seconds")]
uint32 MaxLife = 30000;
[Key,
Description (
"Security mode used. Can be either sys, dh, krb5, krb5i, "
"krb5p. Unknown and other default to the default security "
"mode of AUTH_SYS (sys). Corresponds to the 'sec=' share_nfs "
"option (Solaris 9)."),
Required,
ValueMap{"Unknown", "other", "sys", "dh", "krb5", "krb5i", "krb5p"}]
String Mode;
[Description (
"If true: Access will be read-only for all clients in this "
"security mode. else: access will be read-write. Corresponds "
"to the 'ro' share_nfs option (Solaris 9).")]
boolean ReadOnly;
[Description (
"The list of clients whose access will be read-only. "
"Corresponds to the 'ro=' share_nfs option (Solaris 9).")]
string ReadOnlyList[];
[Description (
"The list of clients whose access will be read-write. "
"Corresponds to the 'rw=' share_nfs option (Solaris 9).")]
string ReadWriteList[];
[Description (
"The list of hosts with root access. Only root users from the "
"hosts specified will have root access. Corresponds to the "
"'root=' share_nfs option (Solaris 9).")]
string RootServers[];
[Override("SettingId"),
Key,
Description("The path name of the share."),
Required]
String SettingId;
};
#pragma namespace("__modify")
[Provider(
"jni:libWBEMnfs.so"),
Version("1.3.0"),
Description (
"The options used to mount a Solaris NFS file system.")]
class Solaris_NFS : CIM_NFS
{
[Deprecated {
"This is not replaced with anything. Global doesn't apply to NFS file "
"system mounts."},
Description("If set to true: the filesystem is mounted 'globally' on all "
"nodes of a cluster. "
"If set to false (default): the filesystem is not mounted on "
"all nodes of a cluster. "
"Ignored for non-clustered systems.")]
boolean Global = false;
[Deprecated {
"Solaris_NFSMount.GroupId"},
Description("If set to true: use BSD style group id semantics. "
"If set to false (default): use System V style group "
"id semantics.")]
boolean GrpId = false;
// [Override("Name"),
// Description("The Name property is populated with the following string: "
// "resource:=<resource> devid:=<devid> "
// "Upon creation of an instance of Solaris_NFS, Name must be "
// "populated with just the file system resource "
// "(ex: /dev/dsk/c0t0d0s6 or pogo:/export) since the devid/file "
// "system id is not yet known.")]
// string Name;
[Deprecated {
"Solaris_Mount.NoMnttabEntry"},
Description("If set to true: the mount entry is not added to /etc/mnttab. "
" If set to false (default): the mount is recorded in "
"/etc/mnttab.")]
boolean NoMnttabEntry = false;
[Deprecated {
"Solaris_Mount.NoSuid"},
Description("If set to true: don't allow allow setuid execution. "
"If set to false (default): allow setuid execution.")]
boolean NoSuid = false;
[Deprecated {
"Solaris_Mount.Overlay"},
Description("If set to true: the file system is mounted over an existing "
"mounted filesystem. "
"If set to false (default): the filesystem is not mounted over "
"an existing mounted filesystem.")]
boolean Overlay = false;
[Deprecated {
"Solaris_NFSMount.Posix"},
Description("If set to true: use POSIX.1 semantics for filesystem. "
"If set to false (default): do not use POSIX.1 semantics.")]
boolean Posix = false;
[Deprecated {
"Solaris_NFSMount.Protocol"},
Description("A string specifying the transport protocol used for the "
"NFS mount. It is the value of the network_id field from "
"/etc/netconfig.")]
String Proto;
[Deprecated {
"Solaris_NFSMount.Public"},
Description("If set to true: use the public file handle. "
"If set to false (default): do not use the public "
"file handle.")]
boolean Public = false;
[Deprecated {
"Solaris_NFSMount.EnableQuotaChecking"},
Description("If set to true: enable quota checking. "
"If set to false (default): disable quota checking.")]
boolean Quota = false;
[Deprecated {
"The same effect can be achieved by setting Solaris_Mount.ReadOnly "
"to false which resets the mount option to read-write. Then remount "
"the filesystem."},
Description("If set to true: remount a read-only file system with "
"read-write options. "
"If set to false (default): the filsystem is mounted with "
"the specified mount options.")]
boolean Remount = false;
[Deprecated {
"Solaris_NFSMount.SecurityMode"},
Description("A string describing the security mode for NFS transactions. "
"Available modes is listed in /etc/nfssec.conf.")]
String SecurityMode;
[Deprecated {
"Calculate from CIM_FileSystem.FileSystemSize and "
"CIM_FileSystem.AvailableSpace. "
"UsedSpace = CIM_FileSystem.FileSystemSize - "
"CIM_FileSystem.AvailableSpace. "
"Note: CIM_FileSystem.AvailableSpace now contains "
"the correct value with respect to the space "
"reserved only for superuser."},
Description("Indicates the total amount of used space on the "
"File System in bytes. Note that this is not the "
"FileSystemSize minus AvailableSpace due to the space "
"reserved only for superuser."),
Units("Bytes")]
uint64 UsedSpace;
[Deprecated {
"Solaris_NFSMount.Version"},
Description ("Version number of NFS protocol to use."),
ValueMap {"2", "3", "4", "highest"}]
String Version = "highest";
// Methods
[Deprecated {
"Solaris_NFSMount.getNetCfgList"},
Description("Method to obtain the list of network IDs from "
"the /etc/netconfig file.")]
sint32 getNetCfgList([OUT, IN(false)]string ids[]);
[Deprecated {
"Solaris_NFSMount.getNfsSecList"},
Description("Method to obtain the list of nfs security modes from "
"the /etc/nfssec.conf file.")]
sint32 getNfsSecList([OUT, IN(false)]string secmodes[]);
[Deprecated {
"Solaris_NFSMount.getDefaultNfsSecMode"},
Description("Method to obtain the the default nfs security mode from "
"the /etc/nfssec.conf file.")]
sint32 getDefaultNfsSecMode([OUT, IN(false)]string secmode);
};
#pragma namespace("__create")
[Provider(
"jni:libWBEMnfs.so"),
Version("1.3.0"),
Description (
"This class represents a share that is to be persistent across reboots. "
"There is a possiblity depending on the persistance mechanism "
"(ex: /etc/dfs/dfstab) that there are multiple shares that are to be "
"persistent which have the same path. If this occurs, a Key Not Unique "
"type of error will be set when calling intrinsic methods getInstance, "
"deleteInstance, addInstance and editInstance and no instance will be "
"returned.")]
class Solaris_PersistentShare : CIM_SystemSetting
{
[Description(
"String representing the share command entry in /etc/dfs/dfstab.")]
String Command;
[Override ("SettingID"),
Description("The path of the persistent share.")]
string SettingID;
//Methods
[Description("Method to be used to clear up conflicts in the "
"/etc/dfs/dfstab file. Conflicts are defined as any entries that have "
"the same path to be shared. All entries with the same path as passed "
"in with the <path> parameter will be deleted. The method returns 1 "
"if it succeded, 0 if a failure occurred.")]
sint32 deleteAllWithDuplicatePath([IN]String path);
};
[Experimental,
Version("1.3.0"),
Description("The Solaris_MountSetting object contains attributes that "
"are commonly used to configure a file system mount on a "
"Solaris system. Attributes which have the potential of "
"operating at a different value than what was configured "
"will also be on the Solaris_Mount object.")]
class Solaris_MountSetting : CIM_SettingData {
[Description ("The underlying file system type the mount is to be "
"configured for."),
ValueMap {"Unknown", "Other", "ufs", "nfs", "hsfs", "cachefs", "pcfs",
"procfs", "tmpfs", "VxFS", "SAMQFS", "devfs", "udfs", "sockfs",
"autofs", "specfs", "fifofs"},
ModelCorrespondence {"CIM_FileSystem.FileSystemType"},
MappingStrings {"SOLARIS9.SUN|mount -F <FStype>"}]
string FsType;
[Description ("A string of file system mount options specified when "
"mounting the file system. This property is also present on "
"the Solaris_Mount class. The Solaris_Mount.MountOptions "
"property represents the actual operational value of the "
"mount options string as reported in /etc/mnttab. "
"Therefore, the properties may have different values."),
MappingStrings {"SOLARIS9.SUN|mount -o <mount options, comma delimited>"}]
string MountOptions;
[Description("If set to true: the mount entry is added to /etc/mnttab."
"If set to false (default): the mount is not recorded in "
"/etc/mnttab."),
MappingStrings {"SOLARIS9.SUN|mount -m"}]
boolean NoMnttabEntry = false;
[Description("If set to true: don't allow allow setuid execution. "
"If set to false (default): allow setuid execution."),
MappingStrings {"SOLARIS9.SUN|mount -o suid | nosuid"}]
boolean NoSuid = false;
[Description("If set to true: the filesystem is mounted over an "
"existing mounted filesystem. If set to false (default): "
" the filesystem is not mounted over an existing mounted "
"filesystem."),
MappingStrings {"SOLARIS9.SUN|mount -O"}]
boolean Overlay = false;
[Description("If set to true: the filesystem is mounted as a read only "
"filesystem. If set to false (default): the "
"filesystem is mounted as a read/write "
"filesystem."),
MappingStrings {"SOLARIS9.SUN|mount -o rw | ro"}]
boolean ReadOnly = false;
[Description("If set to true, the file system will have a corresponding "
"device to mount/mount point entry in /etc/vfstab. This "
"property is also present on the Solaris_Mount class. The "
"Solaris_Mount.VfstabEntry property represents the actual "
"operational value of whether or not the mount has and entry "
"in /etc/vfstab. Therefore, the properties may have "
"different values."),
MappingStrings {"SOLARIS9.SUN|vfstab"}]
boolean VfstabEntry;
};
[Experimental,
Version("1.3.0"),
Description ("The Solaris_NFSMountSetting object contains attributes "
"that are commonly used to configure an NFS mount "
"on a Solaris system. Attributes which have the "
"potential of operating at a different value than what "
"was configured will also be on the Solaris_NFSMount object.") ]
class Solaris_NFSMountSetting : Solaris_MountSetting
{
[Description (
"If set to true, allow data and attribute caching. If set to "
"false, suppress data and attribute caching. Corresponds to "
"the 'noac' mount_nfs option (Solaris 9).") ]
boolean AttributeCaching = true;
[Description (
"Maximum number of seconds that cached attributes are held "
"after directory update. Corresponds to the 'acdirmax=' "
"mount_nfs option (Solaris 9)."),
Units("Seconds") ]
uint16 AttributeCachingForDirectoriesMax = 60;
[Description (
"Minimum number of seconds that cached attributes are held "
"after directory update. Corresponds to the 'acdirmin=' "
"mount_nfs option (Solaris 9)."),
Units("Seconds") ]
uint16 AttributeCachingForDirectoriesMin = 30;
[Description (
"Maximum number of seconds that cached attributes are held "
"after file modification. Corresponds to the 'acregmax=' "
"mount_nfs option (Solaris 9)."),
Units("Seconds") ]
uint16 AttributeCachingForRegularFilesMax = 60;
[Description (
"Minimum number of seconds that cached attributes are held "
"after file modification. Corresponds to the 'acregmin=' "
"mount_nfs option (Solaris 9)."),
Units("Seconds") ]
uint16 AttributeCachingForRegularFilesMin = 3;
[Description("If set to true: enable quota checking. If set to "
"false (default): disable quota checking. "
"Corresponds to the 'quota/noquota' mount_nfs "
"options (Solaris 9).")]
boolean EnableQuotaChecking = false;
[Description (
"The list of resources to be used for failover. Each "
"resource must be of the form host:/pathname, NFS URL or a "
"list of hosts, if the exported directory name is the same.")]
string FailoverList[];
[Description("If true, data is transferred directly between "
"client and server, with no buffering on the client. "
"If false: Data is buffered on the client. "
"The default is false. Corresponds to the "
"'forcedirectio/noforcedirectio' mount_nfs options "
"(Solaris 9).")]
boolean ForceDirectIO = false;
[Description("If set to true: use BSD style group id semantics. "
"If set to false (default): use System V style group "
"id semantics. Corresponds to the 'grpid' mount_nfs "
"option (Solaris 9).")]
boolean GroupId = false;
[Description (
"If set to true, once the FileSystem is mounted, NFS requests "
"are retried until the hosting System responds. "
"If set to false, once the FileSystem is mounted, an error "
"is returned if the hosting System does not respond. "
"Corresponds to the 'hard/soft' mount_nfs options (Solaris 9).")]
boolean HardMount = true;
[Description (
"If set to true, keyboard interrupts are permitted to kill a "
"process that is hung while waiting for a response on a hard- "
"mounted file system. If set to false, keyboard interrupts "
"are ignored. Corresponds to the 'intr/nointr' mount_nfs "
"options (Solaris 9).") ]
boolean Interrupt = true;
[Description ("Maximum number of NFS retransmissions allowed. "
"Corresponds to the 'retrans=' mount_nfs option (Solaris 9).") ]
uint16 MaxRetransmissionAttempts = 5;
[Description ("Maximum number of mount failure retries allowed. The "
"default for the mount command is 10000. The default for the "
"automounter is 0. "
"Corresponds to the 'retry=' mount_nfs option (Solaris 9). "
"This value is only valid upon creation of an instance of "
"instance of Solaris_NFSMount. This is actually a mount _process_ "
"option and not a mount option.") ]
uint16 MountFailureRetries;
[Description("If true, do not perform the normal close-to-open "
"consistency. The client will not perform the flush "
"on close and the request for validation, allowing "
"the possiblity of differences among copies of the "
"same file as stored on multiple clients. This can "
"be used where it can be guaranteed that accesses to "
"a specified file system will be made from only one "
"client and only that client. The default is false. "
"Corresponds to the 'nocto' mount_nfs option (Solaris 9).")]
boolean NoCloseToOpenConsistency = false;
[Description("If set to true: use POSIX.1 semantics for filesystem. "
"If set to false (default): do not use POSIX.1 "
"semantics. Corresponds to the 'posix' mount_nfs "
"option (Solaris 9).")]
boolean Posix = false;
[Description("A string specifying the transport protocol used for the "
"NFS mount. It is the value of the network_id field from "
"/etc/netconfig. Corresponds to the 'proto=' "
"mount_nfs option (Solaris 9)."),
MappingStrings{"SOLARIS9.SUN|/etc/netconfig"} ]
String Protocol;
[Description("If set to true: use the public file handle. "
"If set to false (default): do not use the public "
"file handle. Corresponds to the 'public' mount_nfs "
"option (Solaris 9).")]
boolean Public = false;
[Description ("Read buffer size in bytes. The default is 32768 for "
"version 3 and 8192 for version 2. Corresponds to the "
"'rsize=' mount_nfs option (Solaris 9)."),
Units("Bytes") ]
uint64 ReadBufferSize;
[Description ("NFS timeout in tenths of a second. The default is 11 "
"tenths of a second for connectionless transports and 600 "
"tenths of a second for connection oriented transports. "
"Corresponds to the 'timeo=' mount_nfs option (Solaris 9)."),
Units ("Tenths of Seconds") ]
uint32 RetransmissionTimeout;
[Description (
"If set to true, if the first mount attempt fails, retries are "
"performed in the foreground. If set to false, retries are "
"performed in the background. Corresponds to the 'bg/fg' "
"mount_nfs options (Solaris 9). "
"This value is only valid upon creation of an instance of "
"instance of Solaris_NFSMount. This is actually a mount _process_ "
"option and not a mount option.") ]
boolean RetryInForeground = true;
[Description("A string describing the security mode for NFS transactions. "
"Available modes is listed in /etc/nfssec.conf. "
"Corresponds to the 'sec=' mount_nfs option (Solaris 9)."),
MappingStrings{"SOLARIS9.SUN|/etc/nfssec.conf"} ]
String SecurityMode;
[Description (
"The NFS Server IP port number. Default is NFS_PORT which is defined "
"in /usr/include/nfs/nfs.h. Corresponds to the 'port=' mount_nfs "
"option (Solaris 9).") ]
uint32 ServerCommunicationPort;
[Description("The name of the NFS server.")]
String ServerName;
[Description("The path of the NFS resource on the server.")]
String ServerPath;
[Description (
"Version number of NFS protocol to use. Corresponds to the "
"'vers=' mount_nfs option (Solaris 9)."),
ValueMap {"2", "3", "4", "highest"} ]
String Version = "highest";
[Description ("Write buffer size in bytes. The default is 32768 for "
"version 3 and 8192 for version 2. Corresponds to the "
"'wsize=' mount_nfs option (Solaris 9)."),
Units("Bytes") ]
uint64 WriteBufferSize;
[Description(
"Allows the creation and manipulation of extended attributes. "
"Corresponds to the 'xattr/noxattr' mount_nfs options (Solaris 9). ")]
boolean Xattr = true;
};
[Experimental,
Version("1.3.0"),
Description("The Solaris_ShareSetting object contains attributes that "
"are commonly used to configure the sharing of a resource "
"on a Solaris system.")]
class Solaris_ShareSetting : CIM_SettingData {
};
[Experimental,
Version("1.3.0"),
Description (
"A class that contains attributes for a local NFS shared object "
"on the server side that is made accessible to other systems. "
"Attributes which have the potential of operating at a different "
"value than what was configured will also be on the Solaris_Mount "
"object.")
]
class Solaris_NFSShareSetting : Solaris_ShareSetting
{
[Description("If set to true: maximal access is given to all "
"clients. Valid for NFS version 2 only. Corresponds "
"to the 'aclok' share_nfs option (Solaris 9)."),
ModelCorrespondence{"Solaris_NFSMount.Version"}]
boolean AllowAccessControl;
[Description("Sets the the effective user ID of unknown users. By "
"default, unknown users are given the effective user "
"ID UID_NOBODY. UID_NOBODY is usually set to 60001 but "
"because an administrator can change this we don't set "
"it to this by default. Corresponds to the "
"'anon=' share_nfs option (Solaris 9)."),
Required,
Units("Bytes")]
Uint32 EffectiveUID;
[Description("If set to true: causes the server file system to "
"silently ignore any attempt to enable the setuid or "
"setgid mode bits. Corresponds to the 'nosuid' "
"share_nfs option (Solaris 9).")]
boolean IgnoreSetId;
[Description("Enables NFS server logging for the specified file "
"system. The optional tag determines the location of "
"the related log files. The tag is defined in "
"etc/nfs/nfslog.conf. The default value is the global "
"tag. Corresponds to the 'log=' share_nfs option (Solaris 9)."),
MappingStrings{"SOLARIS9.SUN|/etc/nfs/nfslog.conf"}]
String LogFileTag = "global";
[Description("If set to true: the public file handle is moved from "
"root (/) to the exported directory. Corresponds to "
"the 'public' share_nfs option (Solaris 9).")]
boolean Public;
[Description (
"A value of true prevents clients from mounting subdirectories "
"of shared directories. Corresponds to the 'nosub' share_nfs "
"option (Solaris 9).")]
boolean PreventSubDirMount;
[Description("An attribute that is only used at the time of creation of "
"a NFS Share instance. If it is set to true, the "
"the NFS server daemons (nfsd and mountd) will be started "
"with the default settings, if and only if, nfsd and mountd "
"aren't already running on the host. The daemons will NOT "
"be stopped and restarted. As a side effect of starting the "
"NFS server daemons the share being created will be placed "
"as an entry in /etc/dfs/dfstab since the starting of the "
"daemon relies on entries here."),
MappingStrings{"SOLARIS9.SUN|/etc/init.d/nfs.server start"}]
boolean StartDaemons;
};
[Provider("jni:libWBEMnfs.so"),
Version("1.3.0"),
Description("A logical element that contains the information necessary "
"to represent and manage the functionality provided by "
"shares in Solaris.")]
class Solaris_ShareService : CIM_Service {
//Methods
[Description("Method which shares all resources listed in the file "
"specified with the file parameter. The specified file "
"should contain a list of share command lines. "
"If no file is specified /etc/dfs/dfstab is used. "
"Resources may be shared by specific file system types by "
"specifying the file system type (or types in a comma "
"delimited list) as input parameter, fstype. The method "
"returns 1 if it succeded, 0 if a failure occurred. "
"Corresponds to /usr/sbin/shareall (Solaris 9)")]
sint32 shareall([IN]String fstype, [IN]String file);
[Description("Method which unshares all currently shared resources. "
"If a fstype (or fstypes in a comma delimited list) is not "
"specified in the fstype parameter, all distributed file "
"system type resources will be unshared. The method "
"returns 1 if it succeded, 0 if a failure occurred. "
"Corresponds to /usr/sbin/unshareall (Solaris 9)")]
sint32 unshareall([IN]String fstype);
};
[Provider("jni:libWBEMnfs.so"),
Version("1.3.0"),
Description("A logical element that contains the information necessary "
"to represent and manage the functionality provided by "
"file system mounts in Solaris.")]
class Solaris_MountService : CIM_Service {
//Methods
[Description("Method which mounts file systems listed in the file system "
"table as specified with the fstable parameter."
"The specified file system table (file) must be in the vfstab "
"format. If no file system table is specified (an empty "
"string is passed in) /etc/vfstab is used. Only the file "
"systems having the mount at boot field set to yes in the "
"table will be mounted. "
"The fstype parameter can be used to specify the file "
"system type of the file systems to be mounted. The "
"onlyLocalFileSystems and onlyRemoteFileSystems parameters "
"are mutually exclusive. If onlyLocalFileSystems is true, "
"the mountall action will be limited to local file systems. "
"If onlyRemoteFileSystems is true, the mountall action will "
"be limited to remote file system types. The method "
"returns 1 if it succeded, 0 if a failure occurred. "
"Corresponds to /usr/sbin/mountall (Solaris 9)")]
sint32 mountall([IN]String fstype, [IN]Boolean onlyLocalFileSystems,
[IN]Boolean onlyRemoteFileSystems, [IN]String fstable);
[Description("Method used to unmount all file systems except root, /usr, "
"/var, /var/adm, /var/run, /proc, and /dev/fd. There is no "
"guarantee that this function will unmount busy file "
"systems. "
"The fstype parameter can be used to specify the fstype of "
"the file systems to be unmounted. The host parameter "
"can be used to unmount all file systems listed in "
"/etc/mnttab that are remote-mounted from the host specified."
" If onlyLocalFileSystems is true, limit the unmounting to "
"local file systems. If onlyRemoteFileSystems is true, the "
"mounting will be limited to remote file system types. "
"If killProcesses is true, a SIGKILL signal is sent to each "
"process using the file and this spawns kills for those"
"processes. If unmountInParallel is true, the umount "
"operation will be performed in parallel. "
"The onlyLocalFileSystems and onlyRemoteFileSystems "
"parameters are mutually exclusive and cannot be used when "
"a host is defined. The fstype and host parameters are also "
"mutually exclusive. The method returns 1 if it succeded, 0 "
"if a failure occurred. Corresponds to /usr/sbin/umountall "
"(Solaris 9)")]
sint32 unmountall([IN]String fstype,
[IN]String host,
[IN]Boolean onlyLocalFileSystems,
[IN]Boolean onlyRemoteFileSystems,
[IN]Boolean killProcesses,
[IN]Boolean umountInParallel);
};
// ===================================================================
// Associations
// ===================================================================
#pragma namespace("__modify")
[Association,
Provider(
"jni:libWBEMnfs.so"),
Version("1.3.0"),
Description (
"An association between a remote directory that can be mounted "
"and the NFS mounted file system.") ]
class Solaris_NFSMount : Solaris_Mount
{
[Description (
"If set to true, allow data and attribute caching. If set to "
"false, suppress data and attribute caching. Corresponds to "
"the 'noac' mount_nfs option (Solaris 9).") ]
boolean AttributeCaching = true;
[Description (
"Maximum number of seconds that cached attributes are held "
"after directory update. Corresponds to the 'acdirmax=' "
"mount_nfs option (Solaris 9)."),
Units("Seconds") ]
uint16 AttributeCachingForDirectoriesMax = 60;
[Description (
"Minimum number of seconds that cached attributes are held "
"after directory update. Corresponds to the 'acdirmin=' "
"mount_nfs option (Solaris 9)."),
Units("Seconds") ]
uint16 AttributeCachingForDirectoriesMin = 30;
[Description (
"Maximum number of seconds that cached attributes are held "
"after file modification. Corresponds to the 'acregmax=' "
"mount_nfs option (Solaris 9)."),
Units("Seconds") ]
uint16 AttributeCachingForRegularFilesMax = 60;
[Description (
"Minimum number of seconds that cached attributes are held "
"after file modification. Corresponds to the 'acregmin=' "
"mount_nfs option (Solaris 9)."),
Units("Seconds") ]
uint16 AttributeCachingForRegularFilesMin = 3;
[Override ("Dependent"),
Description ("The file system mounted via NFS. "
"It is also referred to as the resource to mount.") ]
Solaris_NFS REF Dependent;
[Description("If set to true: enable quota checking. If set to "
"false (default): disable quota checking. "
"Corresponds to the 'quota/noquota' mount_nfs "
"options (Solaris 9).")]
boolean EnableQuotaChecking = false;
[Description("If true, data is transferred directly between "
"client and server, with no buffering on the client. "
"If false: Data is buffered on the client. "
"The default is false. Corresponds to the "
"'forcedirectio/noforcedirectio' mount_nfs options "
"(Solaris 9).")]
boolean ForceDirectIO = false;
[Description (
"The list of resources to be used for failover. Each "
"resource must be of the form host:/pathname, NFS URL or a "
"list of hosts, if the exported directory name is the same.")]
string FailoverList[];
[Description("If set to true: use BSD style group id semantics. "
"If set to false (default): use System V style group "
"id semantics. Corresponds to the 'grpid' mount_nfs "
"option (Solaris 9).")]
boolean GroupId = false;
[Description (
"If set to true, once the FileSystem is mounted, NFS requests "
"are retried until the hosting System responds. "
"If set to false, once the FileSystem is mounted, an error "
"is returned if the hosting System does not respond. "
"Corresponds to the 'hard/soft' mount_nfs options (Solaris 9).")]
boolean HardMount = true;
[Description (
"If set to true, keyboard interrupts are permitted to kill a "
"process that is hung while waiting for a response on a hard- "
"mounted file system. If set to false, keyboard interrupts "
"are ignored. Corresponds to the 'intr/nointr' mount_nfs "
"options (Solaris 9).")]
boolean Interrupt = true;
[Description ("Maximum number of NFS retransmissions allowed. "
"Corresponds to the 'retrans=' mount_nfs option (Solaris 9).") ]
uint16 MaxRetransmissionAttempts = 5;
[Description ("Maximum number of mount failure retries allowed. The "
"default for the mount command is 10000. The default for the "
"automounter is 0. "
"Corresponds to the 'retry=' mount_nfs option (Solaris 9). "
"This value is only valid upon creation of an instance of "
"instance of Solaris_NFSMount. This is actually a mount _process_ "
"option and not a mount option.") ]
uint16 MountFailureRetries;
[Description("If true, do not perform the normal close-to-open "
"consistency. The client will not perform the flush "
"on close and the request for validation, allowing "
"the possiblity of differences among copies of the "
"same file as stored on multiple clients. This can "
"be used where it can be guaranteed that accesses to "
"a specified file system will be made from only one "
"client and only that client. The default is false. "
"Corresponds to the 'nocto' mount_nfs option (Solaris 9).")]
boolean NoCloseToOpenConsistency = false;
[Description("If set to true: use POSIX.1 semantics for filesystem. "
"If set to false (default): do not use POSIX.1 "
"semantics. Corresponds to the 'posix' mount_nfs "
"option (Solaris 9).")]
boolean Posix = false;
[Description("A string specifying the transport protocol used for the "
"NFS mount. It is the value of the network_id field from "
"/etc/netconfig. Corresponds to the 'proto=' "
"mount_nfs option (Solaris 9)."),
MappingStrings{"SOLARIS9.SUN|/etc/netconfig"}]
String Protocol;
[Description("If set to true: use the public file handle. "
"If set to false (default): do not use the public "
"file handle. Corresponds to the 'public' mount_nfs "
"option (Solaris 9).")]
boolean Public = false;
[Description ("Read buffer size in bytes. The default is 32768 for "
"version 3 and 8192 for version 2. Corresponds to the "
"'rsize=' mount_nfs option (Solaris 9)."),
Units("Bytes") ]
uint64 ReadBufferSize;
[Deprecated {
"Solaris_NFSMount.FailoverList"},
Description (
"Array of replicated resources to be used for failover. Each "
"resource must be of the form host:/pathname, NFS URL or a "
"list of hosts, if the exported directory name is the same.") ]
string ReplicatedResources[];
[Description ("NFS timeout in tenths of a second. The default is 11 "
"tenths of a second for connectionless transports and 600 "
"tenths of a second for connection oriented transports. "
"Corresponds to the 'timeo=' mount_nfs option (Solaris 9)."),
Units ("Tenths of Seconds")]
uint32 RetransmissionTimeout;
[Description (
"If set to true, if the first mount attempt fails, retries are "
"performed in the foreground. If set to false, retries are "
"performed in the background. Corresponds to the 'bg/fg' "
"mount_nfs options (Solaris 9). "
"This value is only valid upon creation of an instance of "
"instance of Solaris_NFSMount. This is actually a mount _process_ "
"option and not a mount option.")]
boolean RetryInForeground = true;
[Description("A string describing the security mode for NFS transactions. "
"Available modes are listed in /etc/nfssec.conf. "
"Corresponds to the 'sec=' mount_nfs option (Solaris 9)."),
MappingStrings{"SOLARIS9.SUN|/etc/nfssec.conf"}]
String SecurityMode;
[Description (
"The NFS Server IP port number. Default is NFS_PORT which is defined "
"defined in /usr/include/nfs/nfs.h. Corresponds to the "
"'port=' mount_nfs option (Solaris 9).") ]
uint32 ServerCommunicationPort;
[Description("The name of the NFS server.")]
String ServerName;
[Description("The path of the NFS resource on the server.")]
String ServerPath;
[Description (
"Version number of NFS protocol to use. Corresponds to the "
"'vers=' mount_nfs option (Solaris 9)."),
ValueMap {"2", "3", "4", "highest"} ]
String Version = "highest";
[Description ("Write buffer size in bytes. The default is 32768 for "
"version 3 and 8192 for version 2. Corresponds to the "
"'wsize=' mount_nfs option (Solaris 9)."),
Units("Bytes") ]
uint64 WriteBufferSize;
[Description(
"Allows the creation and manipulation of extended attributes. "
"Corresponds to the 'xattr/noxattr' mount_nfs options (Solaris 9). ")]
boolean Xattr = true;
// Methods
[Description("Method to obtain the list of network IDs from "
"the /etc/netconfig file. Returns 1 if method completed "
"successfully, 0 if an error occurred. Corresponds to the "
"data stored in /etc/netconfig (Solaris 9).")]
sint32 getNetCfgList([OUT, IN(false)]string ids[]);
[Description("Method to obtain the list of nfs security modes from "
"the /etc/nfssec.conf file. Returns 1 if method completed "
"successfully, 0 if an error occurred. Corresponds to the "
"data stored in /etc/nfssec.conf (Solaris 9).")]
sint32 getNfsSecList([OUT, IN(false)]string secmodes[]);
[Description("Method to obtain the the default nfs security mode from "
"the /etc/nfssec.conf file. Returns 1 if method completed "
"successfully, 0 if an error occurred. Corresponds to the "
"data stored in /etc/nfssec.conf (Solaris9).")]
sint32 getDefaultNfsSecMode([OUT, IN(false)]string secmode);
};
#pragma namespace("__create")
[Association,
Provider(
"jni:libWBEMnfs.so"),
Version("1.3.0"),
Description (
"This association represents the relationship between an NFS "
"share and its security modes.")
]
class Solaris_NFSShareSecurityModes : CIM_ElementSetting
{
[Override ("Element"),
Description ("The share the mode is for.")]
Solaris_NFSShare REF Element;
[Override("Setting"), Description (
"The Setting that can be applied") ]
Solaris_NFSShareSecurity REF Setting;
};
[Association,
Version("1.3.0"),
Description ("Class represents the relationship between an NFS "
"Share object and its default setting. The default "
"setting of AUTH_SYS for the security mode will be "
"set in the provider.")
]
class Solaris_NFSShareDefSecurityMode : CIM_DefaultSetting
{
[Override ("Element"),
Description ("The share the mode is for.")]
Solaris_NFSShare REF Element;
[Override("Setting"),
Description ("The Setting that can be applied to ") ]
Solaris_NFSShareSecurity REF Setting;
};
[Association,
Provider(
"jni:libWBEMnfs.so"),
Version("1.3.0"),
Description ("Class that represents the association between the "
"share and its host.")
]
class Solaris_HostedShare : CIM_HostedShare
{
[Override ("Antecedent"),
Description ("The host of the NFS shared file system.")]
Solaris_ComputerSystem REF Antecedent;
[Override ("Dependent"),
Description ("The NFS shared directory.")]
Solaris_NFSShare REF Dependent;
};
[Association,
Aggregation,
Version("1.3.0"),
Description(
"An association that represents the aggregation of all of "
"the Solaris_PersistentShare objects and ties them to a "
"Solaris_SystemConfiguration object.")]
class Solaris_PersistentShareConfiguration : CIM_SystemSettingContext
{
};
[Association,
Provider(
"jni:libWBEMnfs.so"),
Version("1.3.0"),
Description(
"This class ties an individual Solaris_PersistentShare to its "
"owning system.")]
class Solaris_PersistentShareForSystem : CIM_SettingForSystem
{
[Override ("Antecedent"),
Description ("The Solaris Hosting System.")]
Solaris_ComputerSystem REF Antecedent;
[Override ("Dependent"),
Description ("The dfstab entry for the system.")]
Solaris_PersistentShare REF Dependent;
};
[Association,
Provider(
"jni:libWBEMnfs.so"),
Version("1.3.0"),
Description(
"This class ties an individual Solaris_PersistentShare to a "
"Solaris_NFSShare.")]
class Solaris_NFSShareEntry : CIM_ElementSetting
{
[Override ("Setting"),
Description ("The persistent share setting")]
Solaris_PersistentShare REF Setting;
};
[Association,
Version("1.3.0"),
Description ("associates the Share to a LogicalElement that is "
"being exported.") ]
class Solaris_SharedElement : CIM_SharedElement
{
};
#pragma namespace("__modify")
[Association,
Provider("java:com.sun.wbem.solarisprovider.fsmgr.share.Solaris_NFSExport"),
Deprecated {
"Solaris_SharedFileSystem"},
Description ("Solaris_NFSExport inherited from CIM_Export")]
class Solaris_NFSExport : CIM_Export
{
[Description (
"If set to true: give maximum access to NFS v2 clients. "
"If set to false (default): give minimum access to NFS v2 "
"clients.") ]
boolean AclOk = false;
[Description (
"The effective UID of unknown users. The default value is "
"UID_NOBODY (60001).") ]
sint32 AnonUid;
[Description ("Share description.") ]
string Description;
[Description (
"Index file to use when accessing a Web-NFS directory.") ]
string IndexFile;
[Description (
"If set to true: prevents clients from mounting "
"subdirectories of the exported directory. "
"If set to false (default): allows clients to mount "
"subdirectories.") ]
boolean NoSub = false;
[Description (
"If set to true: don't allow allow setuid execution. "
"If set to false (default): allow setuid execution.") ]
boolean NoSuid = false;
[Description (
"If set to true: use exported directory as the location of "
"the public file handle for Web-NFS. "
"If set to false (default): exported directory is not the "
"location of the public file handle.") ]
boolean Public = false;
[Description (
"If set to true: grant read-only access to all clients. "
"If set to false (default):do not grant read-only access "
"to all clients.") ]
boolean ReadOnly = false;
[Description (
"If set to true (default): grant read-write access to all "
"clients. "
"If set to false: do not grant read-write access to all "
"clients.") ]
boolean ReadWrite = true;
[Description ("Array of clients granted read-only access.") ]
string ROAccessList[];
[Description (
"Array of hosts from which root users can gain "
"root access.") ]
string RootAccessList[];
[Description ("Array of clients granted read-write access.") ]
string RWAccessList[];
[Description (
"If set to true: the filesystem is shared at boot. "
"If set to false (default): the resource is not shared at "
"boot.") ]
boolean ShareAtBootEntry = false;
[Description (
"Array of security modes to be used to NFS transactions. "
"Available modes is listed in /etc/nfssec.conf.") ]
string SecurityModes[];
[Description ("Share options.") ]
string ShareOptions;
[Description (
"Maximum lifetime of a request allowed by the NFS server "
"(in seconds) when using Diffie-Hellman or Kerberos security. "
"Default value is 30000 seconds (8.3 hours).") ]
uint32 Window = 30000;
//Methods
[Description("Method to delete a dfstab entry.")]
sint32 deleteDfstabEntry([IN]string pathName);
};
#pragma namespace("__create")
[Association,
Version("1.3.0"),
Provider(
"jni:libWBEMnfs.so"),
Description ("Class that represents the association between the local "
"filesystem and the Solaris_NFSShare on the server.")
]
class Solaris_SharedFileSystem : Solaris_SharedElement
{
[Override("SystemElement"), Key, MAX(1),
Description ("The Directory that is Shared.") ]
CIM_LogicalElement REF SystemElement;
[Override("SameElement"), Key, Description (
"The Shared view of the Directory.") ]
CIM_Share REF SameElement;
};
NFS_MOF_END
if [ ! \( -d ${BASEDIR}/var/sadm/wbem/logr/unregDir/svm2 -o \
-d ${BASEDIR}/var/sadm/wbem/logr/preReg/svm2 -o \
-d ${BASEDIR}/var/sadm/wbem/logr/unregDir/svm -o \
-d ${BASEDIR}/var/sadm/wbem/logr/preReg/svm \) ];
then
sed -e '/^#pragma namespace("__modify")/d' \
-e '/^#pragma namespace("__create")/d' \
${NFS_PREGDIR}/Solaris_NFS1.0.mof >${NFS_PREGDIR}/sfile
mv ${NFS_PREGDIR}/sfile ${NFS_PREGDIR}/Solaris_NFS1.0.mof
fi
exit 0