xref: /onnv-gate/usr/src/cmd/wbem/provider/c/mof/CIM2.7.mof (revision 0:68f95e015346)
1*0Sstevel@tonic-gate/*
2*0Sstevel@tonic-gate * CDDL HEADER START
3*0Sstevel@tonic-gate *
4*0Sstevel@tonic-gate * The contents of this file are subject to the terms of the
5*0Sstevel@tonic-gate * Common Development and Distribution License, Version 1.0 only
6*0Sstevel@tonic-gate * (the "License").  You may not use this file except in compliance
7*0Sstevel@tonic-gate * with the License.
8*0Sstevel@tonic-gate *
9*0Sstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*0Sstevel@tonic-gate * or http://www.opensolaris.org/os/licensing.
11*0Sstevel@tonic-gate * See the License for the specific language governing permissions
12*0Sstevel@tonic-gate * and limitations under the License.
13*0Sstevel@tonic-gate *
14*0Sstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each
15*0Sstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*0Sstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the
17*0Sstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying
18*0Sstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner]
19*0Sstevel@tonic-gate *
20*0Sstevel@tonic-gate * CDDL HEADER END
21*0Sstevel@tonic-gate */
22*0Sstevel@tonic-gate/*
23*0Sstevel@tonic-gate * ident	"%Z%%M%	%I%	%E% SMI"
24*0Sstevel@tonic-gate * Title       CIM version 2.7 NFS dependencies.
25*0Sstevel@tonic-gate * Description CIM version 2.7 Solaris Network File System model dependencies.
26*0Sstevel@tonic-gate * Date        02/18/2003
27*0Sstevel@tonic-gate * Version     2.7
28*0Sstevel@tonic-gate * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
29*0Sstevel@tonic-gate * Use is subject to license terms.
30*0Sstevel@tonic-gate */
31*0Sstevel@tonic-gate
32*0Sstevel@tonic-gate#pragma namespace("root/cimv2")
33*0Sstevel@tonic-gate#pragma Locale ("en_US")
34*0Sstevel@tonic-gate#pragma namespace("__create")
35*0Sstevel@tonic-gate
36*0Sstevel@tonic-gate// ==================================================================
37*0Sstevel@tonic-gate// ManagedElement
38*0Sstevel@tonic-gate// ==================================================================
39*0Sstevel@tonic-gate[Abstract, Version ("2.7.0"), Description (
40*0Sstevel@tonic-gate    "ManagedElement is an abstract class that provides a common "
41*0Sstevel@tonic-gate    "superclass (or top of the inheritance tree) for the "
42*0Sstevel@tonic-gate    "non-association classes in the CIM Schema.") ]
43*0Sstevel@tonic-gateclass CIM_ManagedElement {
44*0Sstevel@tonic-gate
45*0Sstevel@tonic-gate    [MaxLen (64), Description (
46*0Sstevel@tonic-gate        "The Caption property is a short textual description (one-"
47*0Sstevel@tonic-gate        "line string) of the object.") ]
48*0Sstevel@tonic-gate    string Caption;
49*0Sstevel@tonic-gate
50*0Sstevel@tonic-gate    [Description (
51*0Sstevel@tonic-gate        "The Description property provides a textual description of "
52*0Sstevel@tonic-gate        "the object.") ]
53*0Sstevel@tonic-gate    string Description;
54*0Sstevel@tonic-gate
55*0Sstevel@tonic-gate    [Description (
56*0Sstevel@tonic-gate        "  A user-friendly name for the object. This property allows "
57*0Sstevel@tonic-gate        "each instance to define a user-friendly name IN ADDITION TO its "
58*0Sstevel@tonic-gate        "key properties/identity data, and description information. \n"
59*0Sstevel@tonic-gate        "  Note that ManagedSystemElement's Name property is also defined "
60*0Sstevel@tonic-gate        "as a user-friendly name. But, it is often subclassed to be a "
61*0Sstevel@tonic-gate        "Key. It is not reasonable that the same property can convey "
62*0Sstevel@tonic-gate        "both identity and a user friendly name, without inconsistencies. "
63*0Sstevel@tonic-gate        "Where Name exists and is not a Key (such as for instances of "
64*0Sstevel@tonic-gate        "LogicalDevice), the same information MAY be present in both "
65*0Sstevel@tonic-gate        "the Name and ElementName properties.") ]
66*0Sstevel@tonic-gate    string ElementName;
67*0Sstevel@tonic-gate};
68*0Sstevel@tonic-gate
69*0Sstevel@tonic-gate// ==================================================================
70*0Sstevel@tonic-gate//    SettingData
71*0Sstevel@tonic-gate// ===================================================================
72*0Sstevel@tonic-gate[Abstract, Experimental, Version ("2.7.0"), Description (
73*0Sstevel@tonic-gate    "  The SettingData class represents configuration-related and "
74*0Sstevel@tonic-gate    "operational parameters for one or more ManagedElement(s). A "
75*0Sstevel@tonic-gate    "ManagedElement may have multiple SettingData objects associated "
76*0Sstevel@tonic-gate    "with it. The current operational values for an Element's "
77*0Sstevel@tonic-gate    "parameters are reflected by properties in the Element itself or "
78*0Sstevel@tonic-gate    "by properties in its associations. These properties do not have "
79*0Sstevel@tonic-gate    "to be the same values present in the SettingData object. For "
80*0Sstevel@tonic-gate    "example, a modem may have a SettingData baud rate of 56Kb/sec "
81*0Sstevel@tonic-gate    "but be operating at 19.2Kb/sec. \n"
82*0Sstevel@tonic-gate    "  Note that the CIM_SettingData class is very similar to "
83*0Sstevel@tonic-gate    "CIM_Setting, yet both classes are present in the model.  This is "
84*0Sstevel@tonic-gate    "because many implementations have successfully used CIM_Setting. "
85*0Sstevel@tonic-gate    "However, issues have arisen that could not be resolved without "
86*0Sstevel@tonic-gate    "defining a new class.  Therefore, until a new major release "
87*0Sstevel@tonic-gate    "occurs, both classes will exist in the model.  Refer to the Core "
88*0Sstevel@tonic-gate    "White Paper for additional information.") ]
89*0Sstevel@tonic-gateclass CIM_SettingData : CIM_ManagedElement {
90*0Sstevel@tonic-gate
91*0Sstevel@tonic-gate    [Key, Description (
92*0Sstevel@tonic-gate        "InstanceID opaquely identifies a unique instance of "
93*0Sstevel@tonic-gate        "SettingData.  The InstanceID must be unique within a "
94*0Sstevel@tonic-gate        "namespace. In order to ensure uniqueness, the value of "
95*0Sstevel@tonic-gate        "InstanceID SHOULD be constructed in the following manner: \n"
96*0Sstevel@tonic-gate        "<Vendor ID><ID> \n"
97*0Sstevel@tonic-gate        "   <Vendor ID> MUST include a copyrighted, trademarked "
98*0Sstevel@tonic-gate        "or otherwise unique name that is owned by the business entity "
99*0Sstevel@tonic-gate        "or a registered ID that is assigned to the business entity "
100*0Sstevel@tonic-gate        "that is defining the InstanceID. (This is similar to the "
101*0Sstevel@tonic-gate        "<Schema Name>_<Class Name> structure of Schema class names.) "
102*0Sstevel@tonic-gate        "The purpose of <Vendor ID> is to ensure that <ID> is truly "
103*0Sstevel@tonic-gate        "unique across multiple vendor implementations.   If such a "
104*0Sstevel@tonic-gate        "name is not used, the defining entity MUST assure that the "
105*0Sstevel@tonic-gate        "<ID> portion of the Instance ID is unique when compared with "
106*0Sstevel@tonic-gate        "other instance providers. For DMTF defined instances, the "
107*0Sstevel@tonic-gate        "<Vendor ID> is 'CIM'. \n"
108*0Sstevel@tonic-gate        "   <ID> MUST include a vendor specified unique "
109*0Sstevel@tonic-gate        "identifier.") ]
110*0Sstevel@tonic-gate    string InstanceID;
111*0Sstevel@tonic-gate
112*0Sstevel@tonic-gate    [Required, Description (
113*0Sstevel@tonic-gate        "The user friendly name for this instance of SettingData. "
114*0Sstevel@tonic-gate        "In addition, the user friendly name can be used as a "
115*0Sstevel@tonic-gate        "index property for a search of query.  (Note:  Name "
116*0Sstevel@tonic-gate        "does not have to be unique within a namespace.)") ]
117*0Sstevel@tonic-gate    string ElementName;
118*0Sstevel@tonic-gate};
119*0Sstevel@tonic-gate
120*0Sstevel@tonic-gate// ===================================================================
121*0Sstevel@tonic-gate// Share
122*0Sstevel@tonic-gate// ===================================================================
123*0Sstevel@tonic-gate[Abstract, Experimental, Version ("2.7.0"), Description (
124*0Sstevel@tonic-gate    "A Share is representative of an object presented for use "
125*0Sstevel@tonic-gate    "(or shared) across systems.  Instances of CIM_Share are "
126*0Sstevel@tonic-gate    "associated with the shared object on the 'server'-side via "
127*0Sstevel@tonic-gate    "the CIM_SharedElement association.  Shares are mounted on the "
128*0Sstevel@tonic-gate    "'client'-side (usually into another namespace) via the CIM_Import"
129*0Sstevel@tonic-gate    "Share association.  CIM_Share is Abstract to force subclassing to "
130*0Sstevel@tonic-gate    "define the semantics of sharing." ) ]
131*0Sstevel@tonic-gateclass CIM_Share : CIM_LogicalElement {
132*0Sstevel@tonic-gate
133*0Sstevel@tonic-gate    [Key, MaxLen (256),
134*0Sstevel@tonic-gate        Propagated ("CIM_System.CreationClassName"),
135*0Sstevel@tonic-gate        Description ("The scoping System's CreationClassName. ") ]
136*0Sstevel@tonic-gate    string SystemCreationClassName;
137*0Sstevel@tonic-gate
138*0Sstevel@tonic-gate    [Key, Propagated ("CIM_System.Name"),
139*0Sstevel@tonic-gate        Description ("The scoping System's Name.") ]
140*0Sstevel@tonic-gate    string SystemName;
141*0Sstevel@tonic-gate
142*0Sstevel@tonic-gate    [Key, MaxLen (256), Description (
143*0Sstevel@tonic-gate        "CreationClassName indicates the name of the class or the "
144*0Sstevel@tonic-gate        "subclass used in the creation of an instance.") ]
145*0Sstevel@tonic-gate    string CreationClassName;
146*0Sstevel@tonic-gate
147*0Sstevel@tonic-gate    [Override("Name"), Key, Description (
148*0Sstevel@tonic-gate        "The Name property, inherited from LogicalElement, "
149*0Sstevel@tonic-gate        "defines the shared name by which the shared object is "
150*0Sstevel@tonic-gate        "exported.") ]
151*0Sstevel@tonic-gate    string Name;
152*0Sstevel@tonic-gate};
153*0Sstevel@tonic-gate
154*0Sstevel@tonic-gate
155*0Sstevel@tonic-gate// ===================================================================
156*0Sstevel@tonic-gate// FileShare
157*0Sstevel@tonic-gate// ===================================================================
158*0Sstevel@tonic-gate[Abstract, Experimental, Version ("2.7.0"), Description (
159*0Sstevel@tonic-gate    "A FileShare is representative of a file or directory presented "
160*0Sstevel@tonic-gate    "for use (or shared) across systems.  Instances of FileShare are "
161*0Sstevel@tonic-gate    "associated with the shared object on the 'server'-side via "
162*0Sstevel@tonic-gate    "the CIM_SharedElement association.  Shares are mounted on the "
163*0Sstevel@tonic-gate    "'client'-side (usually into another namespace) via the CIM_Import"
164*0Sstevel@tonic-gate    "Share association.  FileShare is Abstract to force subclassing to "
165*0Sstevel@tonic-gate    "define the semantics of sharing." ) ]
166*0Sstevel@tonic-gateclass CIM_FileShare : CIM_Share {
167*0Sstevel@tonic-gate
168*0Sstevel@tonic-gate    [Description ("Indicates whether a directory or file is presented "
169*0Sstevel@tonic-gate        "for use (or shared) across systems.  A value of true "
170*0Sstevel@tonic-gate        "represents a directory.  A value of false represents a file") ]
171*0Sstevel@tonic-gate    boolean SharingDirectory;
172*0Sstevel@tonic-gate};
173*0Sstevel@tonic-gate
174*0Sstevel@tonic-gate// ===================================================================
175*0Sstevel@tonic-gate// NFSShare
176*0Sstevel@tonic-gate// ===================================================================
177*0Sstevel@tonic-gate[Experimental, Version ("2.7.0"), Description (
178*0Sstevel@tonic-gate    "An NFSShare represents a Directory associated "
179*0Sstevel@tonic-gate    "via CIM_SharedElement that is made accessible to "
180*0Sstevel@tonic-gate    "other systems. On the client-side, the NFSShare is "
181*0Sstevel@tonic-gate    "associated with its mount point via "
182*0Sstevel@tonic-gate    "CIM_ImportedShare.") ]
183*0Sstevel@tonic-gateclass CIM_NFSShare : CIM_FileShare {
184*0Sstevel@tonic-gate
185*0Sstevel@tonic-gate    [Override("Name"), Description (
186*0Sstevel@tonic-gate        "The Name property, inherited from Share, defines the "
187*0Sstevel@tonic-gate        "shared name by which the shared object is exported.  "
188*0Sstevel@tonic-gate        "For NFS, this will typically be the pathname of the "
189*0Sstevel@tonic-gate        "exported directory, using forward slashes '/' to "
190*0Sstevel@tonic-gate        "precede directory names in the path.") ]
191*0Sstevel@tonic-gate    string Name;
192*0Sstevel@tonic-gate};
193*0Sstevel@tonic-gate
194*0Sstevel@tonic-gate// ===================================================================
195*0Sstevel@tonic-gate// SharedElement
196*0Sstevel@tonic-gate// ===================================================================
197*0Sstevel@tonic-gate[Association, Experimental, Version ("2.7.0"), Description (
198*0Sstevel@tonic-gate    "SharedElement associates the Share to a LogicalElement"
199*0Sstevel@tonic-gate    "that is being exported.")     ]
200*0Sstevel@tonic-gateclass CIM_SharedElement: CIM_LogicalIdentity {
201*0Sstevel@tonic-gate
202*0Sstevel@tonic-gate    [Override("SystemElement"), Key, Max (1),
203*0Sstevel@tonic-gate        Description ("The Directory that is Shared.") ]
204*0Sstevel@tonic-gate    CIM_LogicalElement REF SystemElement;
205*0Sstevel@tonic-gate
206*0Sstevel@tonic-gate    [Override("SameElement"), Key, Description (
207*0Sstevel@tonic-gate        "The Shared view of the Directory.") ]
208*0Sstevel@tonic-gate    CIM_Share ref SameElement;
209*0Sstevel@tonic-gate};
210*0Sstevel@tonic-gate
211*0Sstevel@tonic-gate// ==================================================================
212*0Sstevel@tonic-gate//    HostedShare
213*0Sstevel@tonic-gate// ==================================================================
214*0Sstevel@tonic-gate[Association, Experimental, Version ("2.7.0"), Description (
215*0Sstevel@tonic-gate    "CIM_HostedShare is an association between a Share and "
216*0Sstevel@tonic-gate    "the System on which the functionality resides.  The "
217*0Sstevel@tonic-gate    "cardinality of this association is 1-to-many.  A System "
218*0Sstevel@tonic-gate    "may host many Shares. Shares are weak with respect to "
219*0Sstevel@tonic-gate    "their hosting System. Heuristic:  A Share is hosted on "
220*0Sstevel@tonic-gate    "the System where the LogicalElement that Exports the "
221*0Sstevel@tonic-gate    "Share is located, (via LogicalIdentity.)") ]
222*0Sstevel@tonic-gateclass CIM_HostedShare:CIM_Dependency {
223*0Sstevel@tonic-gate
224*0Sstevel@tonic-gate    [Override ("Antecedent"), Max (1), Min (1),
225*0Sstevel@tonic-gate        Description ("The hosting System.") ]
226*0Sstevel@tonic-gate    CIM_System REF Antecedent;
227*0Sstevel@tonic-gate
228*0Sstevel@tonic-gate    [Override ("Dependent"), Weak,
229*0Sstevel@tonic-gate        Description ("The Share hosted on the System.") ]
230*0Sstevel@tonic-gate    CIM_Share REF Dependent;
231*0Sstevel@tonic-gate};
232*0Sstevel@tonic-gate
233