xref: /onnv-gate/usr/src/cmd/wbem/provider/c/mof/Solaris_NFS1.0.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       Solaris Network File System (NFS) MOF specification 1.3
25*0Sstevel@tonic-gate * Description Solaris Network File System model.
26*0Sstevel@tonic-gate * Date        03/21/2003
27*0Sstevel@tonic-gate * Version     1.3
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
35*0Sstevel@tonic-gate// ===================================================================
36*0Sstevel@tonic-gate//   Objects
37*0Sstevel@tonic-gate// ===================================================================
38*0Sstevel@tonic-gate
39*0Sstevel@tonic-gate#pragma namespace("__create")
40*0Sstevel@tonic-gate
41*0Sstevel@tonic-gate[Provider("jni:libWBEMnfs.so"),
42*0Sstevel@tonic-gate Version("1.3.0"),
43*0Sstevel@tonic-gate Description (
44*0Sstevel@tonic-gate     "A class that represents a local NFS shared object on the "
45*0Sstevel@tonic-gate     "server side that is made accessible to other systems.")
46*0Sstevel@tonic-gate]
47*0Sstevel@tonic-gateclass Solaris_NFSShare : CIM_NFSShare
48*0Sstevel@tonic-gate{
49*0Sstevel@tonic-gate    [Description("If set to true: maximal  access  is  given  to all "
50*0Sstevel@tonic-gate    		 "clients. Valid for NFS version 2 only.  Corresponds "
51*0Sstevel@tonic-gate                 "to the 'aclok' share_nfs option (Solaris 9)."),
52*0Sstevel@tonic-gate     ModelCorrespondence{"Solaris_NFSMount.Version"}]
53*0Sstevel@tonic-gate    boolean AllowAccessControl = false;
54*0Sstevel@tonic-gate
55*0Sstevel@tonic-gate    [Description("Sets the the effective user ID of unknown users. By "
56*0Sstevel@tonic-gate		 "default, unknown users are given the effective user "
57*0Sstevel@tonic-gate		 "ID UID_NOBODY. UID_NOBODY is usually set to 60001 but "
58*0Sstevel@tonic-gate		 "because an administrator can change this we don't set "
59*0Sstevel@tonic-gate		 "it to this by default.  Corresponds to the "
60*0Sstevel@tonic-gate		 "'anon=' share_nfs option (Solaris 9)."),
61*0Sstevel@tonic-gate     Required,
62*0Sstevel@tonic-gate     Units("Bytes")]
63*0Sstevel@tonic-gate    Uint32 EffectiveUID;
64*0Sstevel@tonic-gate
65*0Sstevel@tonic-gate    [Description("If set to true: causes  the  server  file system to "
66*0Sstevel@tonic-gate                 "silently ignore any attempt to  enable the setuid or "
67*0Sstevel@tonic-gate                 "setgid mode bits.  Corresponds to the 'nosuid' "
68*0Sstevel@tonic-gate                 "share_nfs option (Solaris 9).")]
69*0Sstevel@tonic-gate    boolean IgnoreSetId = false;
70*0Sstevel@tonic-gate
71*0Sstevel@tonic-gate    [Description("Enables NFS server logging for the specified file "
72*0Sstevel@tonic-gate                 "system. The optional tag determines the location of "
73*0Sstevel@tonic-gate                 "the related log files. The tag is defined in "
74*0Sstevel@tonic-gate                 "etc/nfs/nfslog.conf. The default value is the global "
75*0Sstevel@tonic-gate                 "tag.  The log file tag is only applicable when logging is "
76*0Sstevel@tonic-gate                 "turned on.  Corresponds to the 'log=' share_nfs option "
77*0Sstevel@tonic-gate                 "(Solaris 9)."),
78*0Sstevel@tonic-gate     MappingStrings{"SOLARIS9.SUN|/etc/nfs/nfslog.conf"}]
79*0Sstevel@tonic-gate    String LogFileTag;
80*0Sstevel@tonic-gate
81*0Sstevel@tonic-gate    [Description("If set to true: the share is to be persistent across "
82*0Sstevel@tonic-gate    		 "reboots.")]
83*0Sstevel@tonic-gate    boolean Persistent = false;
84*0Sstevel@tonic-gate
85*0Sstevel@tonic-gate    [Description(
86*0Sstevel@tonic-gate        "A value of true prevents clients from mounting subdirectories "
87*0Sstevel@tonic-gate        "of shared directories.  Corresponds to the 'nosub' share_nfs "
88*0Sstevel@tonic-gate        "option (Solaris 9).")]
89*0Sstevel@tonic-gate    boolean PreventSubDirMount = false;
90*0Sstevel@tonic-gate
91*0Sstevel@tonic-gate    [Description("If set to true: the public file handle is moved from "
92*0Sstevel@tonic-gate                 "root (/) to the exported directory.  Corresponds to "
93*0Sstevel@tonic-gate                 "the 'public' share_nfs option (Solaris 9).")]
94*0Sstevel@tonic-gate    boolean Public = false;
95*0Sstevel@tonic-gate
96*0Sstevel@tonic-gate    [Description("This attribute is only used upon creation of a share.  "
97*0Sstevel@tonic-gate    		 "Security information should be retrieved from "
98*0Sstevel@tonic-gate    		 "Solaris_NFSShareSecurity and Solaris_NFSShareSecurityModes."
99*0Sstevel@tonic-gate    		 "This attribute stores the security options for a share.  "
100*0Sstevel@tonic-gate    		 "Each element of the array is a string starting with "
101*0Sstevel@tonic-gate    		 "sec=<mode> and including all options, such as access lists, "
102*0Sstevel@tonic-gate    		 "pertaining to that security mode.")]
103*0Sstevel@tonic-gate    String SecurityOptions[];
104*0Sstevel@tonic-gate
105*0Sstevel@tonic-gate    [Description("A string of share options for the shared file system as found"
106*0Sstevel@tonic-gate    		 "in /etc/dfs/sharetab.")]
107*0Sstevel@tonic-gate    String ShareOptions;
108*0Sstevel@tonic-gate
109*0Sstevel@tonic-gate    [Description("An attribute that is only used at the time of creation of "
110*0Sstevel@tonic-gate    		 "a Solaris_NFSShare instance.  If it is set to true, the "
111*0Sstevel@tonic-gate    		 "the NFS server daemons (nfsd and mountd) will be started "
112*0Sstevel@tonic-gate    		 "with the default settings, if and only if, nfsd and mountd "
113*0Sstevel@tonic-gate    		 "aren't already running on the host.  The daemons will NOT "
114*0Sstevel@tonic-gate    		 "be stopped and restarted.  As a side effect of starting the "
115*0Sstevel@tonic-gate    		 "NFS server daemons the share being created will be placed "
116*0Sstevel@tonic-gate    		 "as an entry in /etc/dfs/dfstab since the starting of the "
117*0Sstevel@tonic-gate    		 "daemon relies on entries here."),
118*0Sstevel@tonic-gate      MappingStrings{"SOLARIS9.SUN|/etc/init.d/nfs.server start"}]
119*0Sstevel@tonic-gate     boolean StartDaemons = false;
120*0Sstevel@tonic-gate};
121*0Sstevel@tonic-gate
122*0Sstevel@tonic-gate[Provider(
123*0Sstevel@tonic-gate     "jni:libWBEMnfs.so"),
124*0Sstevel@tonic-gate Version("1.3.0"),
125*0Sstevel@tonic-gate Description (
126*0Sstevel@tonic-gate     "A class used to represent the NFS share security mode and "
127*0Sstevel@tonic-gate     "associated options for a Solaris_NFSShare object.")
128*0Sstevel@tonic-gate]
129*0Sstevel@tonic-gateclass Solaris_NFSShareSecurity : CIM_Setting
130*0Sstevel@tonic-gate{
131*0Sstevel@tonic-gate
132*0Sstevel@tonic-gate    [Description("Sets the maximum life time (in seconds) of the "
133*0Sstevel@tonic-gate                 "RPC request's credential, that the NFS server "
134*0Sstevel@tonic-gate                 "will allow. Valid for NFS sec mode of diffie "
135*0Sstevel@tonic-gate                 "helman (dh) only.  Corresponds to the 'window=' "
136*0Sstevel@tonic-gate                 "share_nfs option (Solaris 9)."
137*0Sstevel@tonic-gate                 "If the security mode is not Diffie Helman, this "
138*0Sstevel@tonic-gate                 "property will not be set."),
139*0Sstevel@tonic-gate        ModelCorrespondence{"Solaris_NFSShareSecurity.Mode"},
140*0Sstevel@tonic-gate        Units("seconds")]
141*0Sstevel@tonic-gate    uint32 MaxLife = 30000;
142*0Sstevel@tonic-gate
143*0Sstevel@tonic-gate    [Key,
144*0Sstevel@tonic-gate    Description (
145*0Sstevel@tonic-gate        "Security mode used. Can be either sys, dh, krb5, krb5i, "
146*0Sstevel@tonic-gate        "krb5p.  Unknown and other default to the default security "
147*0Sstevel@tonic-gate        "mode of AUTH_SYS (sys).  Corresponds to the 'sec=' share_nfs "
148*0Sstevel@tonic-gate        "option (Solaris 9)."),
149*0Sstevel@tonic-gate      Required,
150*0Sstevel@tonic-gate      ValueMap {"Unknown", "Other", "sys", "dh", "krb5", "krb5i", "krb5p"}]
151*0Sstevel@tonic-gate    String Mode;
152*0Sstevel@tonic-gate
153*0Sstevel@tonic-gate    [Description (
154*0Sstevel@tonic-gate        "If true: Access will be read-only for all clients in this "
155*0Sstevel@tonic-gate        "security mode. else: access will be read-write.  Corresponds "
156*0Sstevel@tonic-gate        "to the 'ro' share_nfs option (Solaris 9).")]
157*0Sstevel@tonic-gate    boolean ReadOnly;
158*0Sstevel@tonic-gate
159*0Sstevel@tonic-gate    [Description (
160*0Sstevel@tonic-gate        "The list of clients whose access will be read-only. "
161*0Sstevel@tonic-gate        "Corresponds to the 'ro=' share_nfs option (Solaris 9).")]
162*0Sstevel@tonic-gate    string ReadOnlyList[];
163*0Sstevel@tonic-gate
164*0Sstevel@tonic-gate    [Description (
165*0Sstevel@tonic-gate        "The list of clients whose access will be read-write. "
166*0Sstevel@tonic-gate        "Corresponds to the 'rw=' share_nfs option (Solaris 9).")]
167*0Sstevel@tonic-gate    string ReadWriteList[];
168*0Sstevel@tonic-gate
169*0Sstevel@tonic-gate    [Description (
170*0Sstevel@tonic-gate        "The list of hosts with root access. Only root users from the "
171*0Sstevel@tonic-gate        "hosts specified will have root access.  Corresponds to the "
172*0Sstevel@tonic-gate        "'root=' share_nfs option (Solaris 9).")]
173*0Sstevel@tonic-gate    string RootServers[];
174*0Sstevel@tonic-gate
175*0Sstevel@tonic-gate    [Override("SettingId"),
176*0Sstevel@tonic-gate     Key,
177*0Sstevel@tonic-gate     Description("The path name of the share."),
178*0Sstevel@tonic-gate     Required]
179*0Sstevel@tonic-gate    String SettingId;
180*0Sstevel@tonic-gate};
181*0Sstevel@tonic-gate
182*0Sstevel@tonic-gate#pragma namespace("__modify")
183*0Sstevel@tonic-gate
184*0Sstevel@tonic-gate[Provider(
185*0Sstevel@tonic-gate     "jni:libWBEMnfs.so"),
186*0Sstevel@tonic-gate Version("1.3.0"),
187*0Sstevel@tonic-gate Description (
188*0Sstevel@tonic-gate     "The options used to mount a Solaris NFS file system.")]
189*0Sstevel@tonic-gateclass Solaris_NFS : CIM_NFS
190*0Sstevel@tonic-gate{
191*0Sstevel@tonic-gate    [Deprecated {
192*0Sstevel@tonic-gate        "This is not replaced with anything.  Global doesn't apply to NFS file "
193*0Sstevel@tonic-gate        "system mounts."},
194*0Sstevel@tonic-gate     Description("If set to true: the filesystem is mounted 'globally' on all "
195*0Sstevel@tonic-gate                 "nodes of a cluster. "
196*0Sstevel@tonic-gate                 "If set to false (default): the filesystem is not mounted on "
197*0Sstevel@tonic-gate                 "all nodes of a cluster. "
198*0Sstevel@tonic-gate                 "Ignored for non-clustered systems.")]
199*0Sstevel@tonic-gate    boolean Global = false;
200*0Sstevel@tonic-gate
201*0Sstevel@tonic-gate    [Deprecated {
202*0Sstevel@tonic-gate        "Solaris_NFSMount.GroupId"},
203*0Sstevel@tonic-gate     Description("If set to true: use BSD style group id semantics. "
204*0Sstevel@tonic-gate                 "If set to false (default): use System V style group "
205*0Sstevel@tonic-gate                 "id semantics.")]
206*0Sstevel@tonic-gate    boolean GrpId = false;
207*0Sstevel@tonic-gate
208*0Sstevel@tonic-gate//    [Override("Name"),
209*0Sstevel@tonic-gate//     Description("The Name property is populated with the following string:  "
210*0Sstevel@tonic-gate//     		 "resource:=<resource> devid:=<devid>  "
211*0Sstevel@tonic-gate//     		 "Upon creation of an instance of Solaris_NFS, Name must be "
212*0Sstevel@tonic-gate//     		 "populated with just the file system resource "
213*0Sstevel@tonic-gate//     		 "(ex: /dev/dsk/c0t0d0s6 or pogo:/export) since the devid/file "
214*0Sstevel@tonic-gate//     		 "system id is not yet known.")]
215*0Sstevel@tonic-gate//    string Name;
216*0Sstevel@tonic-gate
217*0Sstevel@tonic-gate    [Deprecated {
218*0Sstevel@tonic-gate        "Solaris_Mount.NoMnttabEntry"},
219*0Sstevel@tonic-gate     Description("If set to true: the mount entry is not added to /etc/mnttab. "
220*0Sstevel@tonic-gate                 " If set to false (default): the mount is recorded in "
221*0Sstevel@tonic-gate                 "/etc/mnttab.")]
222*0Sstevel@tonic-gate    boolean NoMnttabEntry = false;
223*0Sstevel@tonic-gate
224*0Sstevel@tonic-gate    [Deprecated {
225*0Sstevel@tonic-gate        "Solaris_Mount.NoSuid"},
226*0Sstevel@tonic-gate     Description("If set to true: don't allow allow setuid execution. "
227*0Sstevel@tonic-gate                "If set to false (default): allow setuid execution.")]
228*0Sstevel@tonic-gate    boolean NoSuid = false;
229*0Sstevel@tonic-gate
230*0Sstevel@tonic-gate    [Deprecated {
231*0Sstevel@tonic-gate        "Solaris_Mount.Overlay"},
232*0Sstevel@tonic-gate     Description("If set to true: the file system is mounted over an existing "
233*0Sstevel@tonic-gate                 "mounted filesystem.  "
234*0Sstevel@tonic-gate                 "If set to false (default): the filesystem is not mounted over "
235*0Sstevel@tonic-gate                 "an existing mounted filesystem.")]
236*0Sstevel@tonic-gate    boolean Overlay = false;
237*0Sstevel@tonic-gate
238*0Sstevel@tonic-gate    [Deprecated {
239*0Sstevel@tonic-gate        "Solaris_NFSMount.Posix"},
240*0Sstevel@tonic-gate     Description("If set to true: use POSIX.1 semantics for filesystem. "
241*0Sstevel@tonic-gate                 "If set to false (default): do not use POSIX.1 semantics.")]
242*0Sstevel@tonic-gate    boolean Posix = false;
243*0Sstevel@tonic-gate
244*0Sstevel@tonic-gate    [Deprecated {
245*0Sstevel@tonic-gate        "Solaris_NFSMount.Protocol"},
246*0Sstevel@tonic-gate     Description("A string specifying the transport protocol used for the "
247*0Sstevel@tonic-gate                 "NFS mount. It is the value of the network_id field from "
248*0Sstevel@tonic-gate                 "/etc/netconfig.")]
249*0Sstevel@tonic-gate    String Proto;
250*0Sstevel@tonic-gate
251*0Sstevel@tonic-gate    [Deprecated {
252*0Sstevel@tonic-gate        "Solaris_NFSMount.Public"},
253*0Sstevel@tonic-gate     Description("If set to true: use the public file handle. "
254*0Sstevel@tonic-gate                 "If set to false (default): do not use the public "
255*0Sstevel@tonic-gate                 "file handle.")]
256*0Sstevel@tonic-gate    boolean Public = false;
257*0Sstevel@tonic-gate
258*0Sstevel@tonic-gate    [Deprecated {
259*0Sstevel@tonic-gate        "Solaris_NFSMount.EnableQuotaChecking"},
260*0Sstevel@tonic-gate     Description("If set to true: enable quota checking. "
261*0Sstevel@tonic-gate                 "If set to false (default): disable quota checking.")]
262*0Sstevel@tonic-gate    boolean Quota = false;
263*0Sstevel@tonic-gate
264*0Sstevel@tonic-gate    [Deprecated {
265*0Sstevel@tonic-gate        "The same effect can be achieved by setting Solaris_Mount.ReadOnly "
266*0Sstevel@tonic-gate        "to false which resets the mount option to read-write. Then remount "
267*0Sstevel@tonic-gate        "the filesystem."},
268*0Sstevel@tonic-gate     Description("If set to true: remount a read-only file system with "
269*0Sstevel@tonic-gate		 "read-write options. "
270*0Sstevel@tonic-gate		 "If set to false (default): the filsystem is mounted with "
271*0Sstevel@tonic-gate	         "the specified mount options.")]
272*0Sstevel@tonic-gate    boolean Remount = false;
273*0Sstevel@tonic-gate
274*0Sstevel@tonic-gate    [Deprecated {
275*0Sstevel@tonic-gate    	"Solaris_NFSMount.SecurityMode"},
276*0Sstevel@tonic-gate     Description("A string describing the security mode for NFS transactions. "
277*0Sstevel@tonic-gate                 "Available modes is listed in /etc/nfssec.conf.")]
278*0Sstevel@tonic-gate    String SecurityMode;
279*0Sstevel@tonic-gate
280*0Sstevel@tonic-gate    [Deprecated {
281*0Sstevel@tonic-gate        "Calculate from CIM_FileSystem.FileSystemSize and "
282*0Sstevel@tonic-gate        "CIM_FileSystem.AvailableSpace.  "
283*0Sstevel@tonic-gate        "UsedSpace = CIM_FileSystem.FileSystemSize - "
284*0Sstevel@tonic-gate        "CIM_FileSystem.AvailableSpace. "
285*0Sstevel@tonic-gate        "Note: CIM_FileSystem.AvailableSpace now contains "
286*0Sstevel@tonic-gate        "the correct value with respect to the space "
287*0Sstevel@tonic-gate        "reserved only for superuser."},
288*0Sstevel@tonic-gate     Description("Indicates the total amount of used space on the "
289*0Sstevel@tonic-gate        	 "File System in bytes. Note that this is not the "
290*0Sstevel@tonic-gate        	 "FileSystemSize minus AvailableSpace due to the space "
291*0Sstevel@tonic-gate        	 "reserved only for superuser."),
292*0Sstevel@tonic-gate     Units("Bytes")]
293*0Sstevel@tonic-gate    uint64 UsedSpace;
294*0Sstevel@tonic-gate
295*0Sstevel@tonic-gate    [Deprecated {
296*0Sstevel@tonic-gate        "Solaris_NFSMount.Version"},
297*0Sstevel@tonic-gate     Description ("Version number of NFS protocol to use."),
298*0Sstevel@tonic-gate     ValueMap {"2", "3", "4", "highest"}]
299*0Sstevel@tonic-gate    String Version = "highest";
300*0Sstevel@tonic-gate
301*0Sstevel@tonic-gate    // Methods
302*0Sstevel@tonic-gate    [Deprecated {
303*0Sstevel@tonic-gate        "Solaris_NFSMount.getNetCfgList"},
304*0Sstevel@tonic-gate     Description("Method to obtain the list of network IDs from "
305*0Sstevel@tonic-gate                 "the /etc/netconfig file.")]
306*0Sstevel@tonic-gate    sint32 getNetCfgList([OUT, IN(false)]string ids[]);
307*0Sstevel@tonic-gate
308*0Sstevel@tonic-gate    [Deprecated {
309*0Sstevel@tonic-gate        "Solaris_NFSMount.getNfsSecList"},
310*0Sstevel@tonic-gate     Description("Method to obtain the list of nfs security modes from "
311*0Sstevel@tonic-gate                 "the /etc/nfssec.conf file.")]
312*0Sstevel@tonic-gate    sint32 getNfsSecList([OUT, IN(false)]string secmodes[]);
313*0Sstevel@tonic-gate
314*0Sstevel@tonic-gate    [Deprecated {
315*0Sstevel@tonic-gate        "Solaris_NFSMount.getDefaultNfsSecMode"},
316*0Sstevel@tonic-gate     Description("Method to obtain the the default nfs security mode from "
317*0Sstevel@tonic-gate                 "the /etc/nfssec.conf file.")]
318*0Sstevel@tonic-gate    sint32 getDefaultNfsSecMode([OUT, IN(false)]string secmode);
319*0Sstevel@tonic-gate};
320*0Sstevel@tonic-gate
321*0Sstevel@tonic-gate#pragma namespace("__create")
322*0Sstevel@tonic-gate
323*0Sstevel@tonic-gate[Provider(
324*0Sstevel@tonic-gate     "jni:libWBEMnfs.so"),
325*0Sstevel@tonic-gate Version("1.3.0"),
326*0Sstevel@tonic-gate Description (
327*0Sstevel@tonic-gate     "This class represents a share that is to be persistent across reboots.  "
328*0Sstevel@tonic-gate     "There is a possiblity depending on the persistance mechanism "
329*0Sstevel@tonic-gate     "(ex: /etc/dfs/dfstab) that there are multiple shares that are to be "
330*0Sstevel@tonic-gate     "persistent which have the same path.  If this occurs, a Key Not Unique "
331*0Sstevel@tonic-gate     "type of error will be set when calling intrinsic methods getInstance, "
332*0Sstevel@tonic-gate     "deleteInstance, addInstance and editInstance and no instance will be "
333*0Sstevel@tonic-gate     "returned.")]
334*0Sstevel@tonic-gateclass Solaris_PersistentShare : CIM_SystemSetting
335*0Sstevel@tonic-gate{
336*0Sstevel@tonic-gate
337*0Sstevel@tonic-gate    [Description(
338*0Sstevel@tonic-gate         "String representing the share command entry in /etc/dfs/dfstab.")]
339*0Sstevel@tonic-gate    String Command;
340*0Sstevel@tonic-gate
341*0Sstevel@tonic-gate    [Override ("SettingID"),
342*0Sstevel@tonic-gate     Description("The path of the persistent share.")]
343*0Sstevel@tonic-gate    string SettingID;
344*0Sstevel@tonic-gate
345*0Sstevel@tonic-gate    //Methods
346*0Sstevel@tonic-gate    [Description("Method to be used to clear up conflicts in the "
347*0Sstevel@tonic-gate     	"/etc/dfs/dfstab file.  Conflicts are defined as any entries that have "
348*0Sstevel@tonic-gate     	"the same path to be shared.  All entries with the same path as passed "
349*0Sstevel@tonic-gate     	"in with the <path> parameter will be deleted.  The method returns 1 "
350*0Sstevel@tonic-gate     	"if it succeded, 0 if a failure occurred.")]
351*0Sstevel@tonic-gate    sint32 deleteAllWithDuplicatePath([IN]String path);
352*0Sstevel@tonic-gate};
353*0Sstevel@tonic-gate
354*0Sstevel@tonic-gate[Experimental,
355*0Sstevel@tonic-gate Version("1.3.0"),
356*0Sstevel@tonic-gate Description("The Solaris_MountSetting object contains attributes that "
357*0Sstevel@tonic-gate             "are commonly used to configure a file system mount on a "
358*0Sstevel@tonic-gate             "Solaris system.  Attributes which have the potential of "
359*0Sstevel@tonic-gate             "operating at a different value than what was configured "
360*0Sstevel@tonic-gate             "will also be on the Solaris_Mount object.")]
361*0Sstevel@tonic-gateclass Solaris_MountSetting : CIM_SettingData {
362*0Sstevel@tonic-gate
363*0Sstevel@tonic-gate    [Description ("The underlying file system type the mount is to be "
364*0Sstevel@tonic-gate                  "configured for."),
365*0Sstevel@tonic-gate     ValueMap {"Unknown", "Other", "ufs", "nfs", "hsfs", "cachefs", "pcfs",
366*0Sstevel@tonic-gate             "procfs", "tmpfs", "VxFS", "SAMQFS", "devfs", "udfs", "sockfs",
367*0Sstevel@tonic-gate             "autofs", "specfs", "fifofs"},
368*0Sstevel@tonic-gate     ModelCorrespondence {"CIM_FileSystem.FileSystemType"},
369*0Sstevel@tonic-gate     MappingStrings {"SOLARIS9.SUN|mount -F <FStype>"}]
370*0Sstevel@tonic-gate    string FsType;
371*0Sstevel@tonic-gate
372*0Sstevel@tonic-gate    [Description ("A string of file system mount options specified when "
373*0Sstevel@tonic-gate                  "mounting the file system.  This property is also present on "
374*0Sstevel@tonic-gate                  "the Solaris_Mount class.  The Solaris_Mount.MountOptions "
375*0Sstevel@tonic-gate                  "property represents the actual operational value of the "
376*0Sstevel@tonic-gate                  "mount options string as reported in /etc/mnttab.  "
377*0Sstevel@tonic-gate                  "Therefore, the properties may have different values."),
378*0Sstevel@tonic-gate     MappingStrings {"SOLARIS9.SUN|mount -o <mount options, comma delimited>"}]
379*0Sstevel@tonic-gate    string MountOptions;
380*0Sstevel@tonic-gate
381*0Sstevel@tonic-gate    [Description("If set to true: the mount entry is added to /etc/mnttab."
382*0Sstevel@tonic-gate                 "If set to false (default): the mount is not recorded in "
383*0Sstevel@tonic-gate                 "/etc/mnttab."),
384*0Sstevel@tonic-gate     MappingStrings {"SOLARIS9.SUN|mount -m"}]
385*0Sstevel@tonic-gate    boolean NoMnttabEntry = false;
386*0Sstevel@tonic-gate
387*0Sstevel@tonic-gate    [Description("If set to true: don't allow allow setuid execution.  "
388*0Sstevel@tonic-gate                 "If set to false (default): allow setuid execution."),
389*0Sstevel@tonic-gate     MappingStrings {"SOLARIS9.SUN|mount -o suid | nosuid"}]
390*0Sstevel@tonic-gate    boolean NoSuid = false;
391*0Sstevel@tonic-gate
392*0Sstevel@tonic-gate    [Description("If set to true: the filesystem is mounted over an "
393*0Sstevel@tonic-gate                 "existing mounted filesystem.  If set to false (default): "
394*0Sstevel@tonic-gate                 " the filesystem is not mounted over an existing mounted "
395*0Sstevel@tonic-gate                 "filesystem."),
396*0Sstevel@tonic-gate     MappingStrings {"SOLARIS9.SUN|mount -O"}]
397*0Sstevel@tonic-gate    boolean Overlay = false;
398*0Sstevel@tonic-gate
399*0Sstevel@tonic-gate    [Description("If set to true: the filesystem is mounted as a read only "
400*0Sstevel@tonic-gate                 "filesystem.  If set to false (default): the "
401*0Sstevel@tonic-gate                 "filesystem is mounted as a read/write "
402*0Sstevel@tonic-gate                 "filesystem."),
403*0Sstevel@tonic-gate     MappingStrings {"SOLARIS9.SUN|mount -o rw | ro"}]
404*0Sstevel@tonic-gate    boolean ReadOnly = false;
405*0Sstevel@tonic-gate
406*0Sstevel@tonic-gate    [Description("If set to true, the file system will have a corresponding "
407*0Sstevel@tonic-gate                 "device to mount/mount point entry in /etc/vfstab.  This "
408*0Sstevel@tonic-gate                 "property is also present on the Solaris_Mount class.  The "
409*0Sstevel@tonic-gate                 "Solaris_Mount.VfstabEntry property represents the actual "
410*0Sstevel@tonic-gate                 "operational value of whether or not the mount has and entry "
411*0Sstevel@tonic-gate                 "in /etc/vfstab.  Therefore, the properties may have "
412*0Sstevel@tonic-gate                 "different values."),
413*0Sstevel@tonic-gate     MappingStrings {"SOLARIS9.SUN|vfstab"}]
414*0Sstevel@tonic-gate
415*0Sstevel@tonic-gate    boolean VfstabEntry;
416*0Sstevel@tonic-gate
417*0Sstevel@tonic-gate};
418*0Sstevel@tonic-gate
419*0Sstevel@tonic-gate[Experimental,
420*0Sstevel@tonic-gate Version("1.3.0"),
421*0Sstevel@tonic-gate Description ("The Solaris_NFSMountSetting object contains attributes "
422*0Sstevel@tonic-gate              "that are commonly used to configure an NFS mount "
423*0Sstevel@tonic-gate              "on a Solaris system.  Attributes which have the "
424*0Sstevel@tonic-gate              "potential of operating at a different value than what "
425*0Sstevel@tonic-gate              "was configured will also be on the Solaris_NFSMount object.") ]
426*0Sstevel@tonic-gateclass Solaris_NFSMountSetting : Solaris_MountSetting
427*0Sstevel@tonic-gate{
428*0Sstevel@tonic-gate
429*0Sstevel@tonic-gate    [Description (
430*0Sstevel@tonic-gate        "If set to true, allow data and attribute caching.  If set to "
431*0Sstevel@tonic-gate        "false, suppress data and attribute caching.  Corresponds to "
432*0Sstevel@tonic-gate        "the 'noac' mount_nfs option (Solaris 9).") ]
433*0Sstevel@tonic-gate    boolean AttributeCaching = true;
434*0Sstevel@tonic-gate
435*0Sstevel@tonic-gate    [Description (
436*0Sstevel@tonic-gate        "Maximum number of seconds that cached attributes are held "
437*0Sstevel@tonic-gate        "after directory update.  Corresponds to the 'acdirmax=' "
438*0Sstevel@tonic-gate        "mount_nfs option (Solaris 9)."),
439*0Sstevel@tonic-gate       Units("Seconds") ]
440*0Sstevel@tonic-gate    uint16 AttributeCachingForDirectoriesMax = 60;
441*0Sstevel@tonic-gate
442*0Sstevel@tonic-gate    [Description (
443*0Sstevel@tonic-gate        "Minimum number of seconds that cached attributes are held "
444*0Sstevel@tonic-gate        "after directory update.  Corresponds to the 'acdirmin=' "
445*0Sstevel@tonic-gate        "mount_nfs option (Solaris 9)."),
446*0Sstevel@tonic-gate       Units("Seconds") ]
447*0Sstevel@tonic-gate    uint16 AttributeCachingForDirectoriesMin = 30;
448*0Sstevel@tonic-gate
449*0Sstevel@tonic-gate    [Description (
450*0Sstevel@tonic-gate        "Maximum number of seconds that cached attributes are held "
451*0Sstevel@tonic-gate        "after file modification.  Corresponds to the 'acregmax=' "
452*0Sstevel@tonic-gate        "mount_nfs option (Solaris 9)."),
453*0Sstevel@tonic-gate       Units("Seconds") ]
454*0Sstevel@tonic-gate    uint16 AttributeCachingForRegularFilesMax = 60;
455*0Sstevel@tonic-gate
456*0Sstevel@tonic-gate    [Description (
457*0Sstevel@tonic-gate        "Minimum number of seconds that cached attributes are held "
458*0Sstevel@tonic-gate        "after file modification.  Corresponds to the 'acregmin=' "
459*0Sstevel@tonic-gate        "mount_nfs option (Solaris 9)."),
460*0Sstevel@tonic-gate       Units("Seconds") ]
461*0Sstevel@tonic-gate    uint16 AttributeCachingForRegularFilesMin = 3;
462*0Sstevel@tonic-gate
463*0Sstevel@tonic-gate    [Description("If set to true: enable quota checking.  If set to "
464*0Sstevel@tonic-gate                 "false (default): disable quota checking. "
465*0Sstevel@tonic-gate                 "Corresponds to the 'quota/noquota' mount_nfs "
466*0Sstevel@tonic-gate                 "options (Solaris 9).")]
467*0Sstevel@tonic-gate    boolean EnableQuotaChecking = false;
468*0Sstevel@tonic-gate
469*0Sstevel@tonic-gate    [Description (
470*0Sstevel@tonic-gate        "The list of resources to be used for failover. Each "
471*0Sstevel@tonic-gate        "resource must be of the form host:/pathname, NFS URL or a "
472*0Sstevel@tonic-gate        "list of hosts, if the exported directory name is the same.")]
473*0Sstevel@tonic-gate    string FailoverList[];
474*0Sstevel@tonic-gate
475*0Sstevel@tonic-gate    [Description("If true, data is transferred directly between "
476*0Sstevel@tonic-gate                 "client and server, with no buffering on the client. "
477*0Sstevel@tonic-gate                 "If false: Data is buffered on the client. "
478*0Sstevel@tonic-gate                 "The default is false.  Corresponds to the "
479*0Sstevel@tonic-gate                 "'forcedirectio/noforcedirectio' mount_nfs options "
480*0Sstevel@tonic-gate                 "(Solaris 9).")]
481*0Sstevel@tonic-gate    boolean ForceDirectIO = false;
482*0Sstevel@tonic-gate
483*0Sstevel@tonic-gate    [Description("If set to true: use BSD style group id semantics. "
484*0Sstevel@tonic-gate                 "If set to false (default): use System V style group "
485*0Sstevel@tonic-gate                 "id semantics.  Corresponds to the 'grpid' mount_nfs "
486*0Sstevel@tonic-gate                 "option (Solaris 9).")]
487*0Sstevel@tonic-gate    boolean GroupId = false;
488*0Sstevel@tonic-gate
489*0Sstevel@tonic-gate    [Description (
490*0Sstevel@tonic-gate        "If set to true, once the FileSystem is mounted, NFS requests "
491*0Sstevel@tonic-gate        "are retried until the hosting System responds.  "
492*0Sstevel@tonic-gate        "If set to false, once the FileSystem is mounted, an error "
493*0Sstevel@tonic-gate        "is returned if the hosting System does not respond. "
494*0Sstevel@tonic-gate        "Corresponds to the 'hard/soft' mount_nfs options (Solaris 9).")]
495*0Sstevel@tonic-gate    boolean HardMount = true;
496*0Sstevel@tonic-gate
497*0Sstevel@tonic-gate    [Description (
498*0Sstevel@tonic-gate        "If set to true, keyboard interrupts are permitted to kill a "
499*0Sstevel@tonic-gate        "process that is hung while waiting for a response on a hard- "
500*0Sstevel@tonic-gate        "mounted file system.  If set to false, keyboard interrupts "
501*0Sstevel@tonic-gate        "are ignored.  Corresponds to the 'intr/nointr' mount_nfs "
502*0Sstevel@tonic-gate        "options (Solaris 9).") ]
503*0Sstevel@tonic-gate    boolean Interrupt = true;
504*0Sstevel@tonic-gate
505*0Sstevel@tonic-gate    [Description ("Maximum number of NFS retransmissions allowed. "
506*0Sstevel@tonic-gate        "Corresponds to the 'retrans=' mount_nfs option (Solaris 9).") ]
507*0Sstevel@tonic-gate    uint16 MaxRetransmissionAttempts = 5;
508*0Sstevel@tonic-gate
509*0Sstevel@tonic-gate    [Description ("Maximum number of mount failure retries allowed.  The "
510*0Sstevel@tonic-gate    	"default for the mount command is 10000.  The default for the "
511*0Sstevel@tonic-gate    	"automounter is 0.  "
512*0Sstevel@tonic-gate        "Corresponds to the 'retry=' mount_nfs option (Solaris 9).  "
513*0Sstevel@tonic-gate        "This value is only valid upon creation of an instance of "
514*0Sstevel@tonic-gate	"instance of Solaris_NFSMount.  This is actually a mount _process_ "
515*0Sstevel@tonic-gate	"option and not a mount option.") ]
516*0Sstevel@tonic-gate    uint16 MountFailureRetries;
517*0Sstevel@tonic-gate
518*0Sstevel@tonic-gate    [Description("If true, do not perform the normal close-to-open "
519*0Sstevel@tonic-gate                 "consistency. The client will not perform the flush "
520*0Sstevel@tonic-gate                 "on close and the request for validation, allowing "
521*0Sstevel@tonic-gate                 "the possiblity of differences among copies of the "
522*0Sstevel@tonic-gate                 "same file as stored on multiple clients.  This can "
523*0Sstevel@tonic-gate                 "be used where it can be guaranteed that accesses to "
524*0Sstevel@tonic-gate                 "a specified file system will be made from only one "
525*0Sstevel@tonic-gate                 "client and only that client.  The default is false. "
526*0Sstevel@tonic-gate                 "Corresponds to the 'nocto' mount_nfs option (Solaris 9).")]
527*0Sstevel@tonic-gate    boolean NoCloseToOpenConsistency = false;
528*0Sstevel@tonic-gate
529*0Sstevel@tonic-gate    [Description("If set to true: use POSIX.1 semantics for filesystem. "
530*0Sstevel@tonic-gate                 "If set to false (default): do not use POSIX.1 "
531*0Sstevel@tonic-gate                 "semantics.  Corresponds to the 'posix' mount_nfs "
532*0Sstevel@tonic-gate                 "option (Solaris 9).")]
533*0Sstevel@tonic-gate    boolean Posix = false;
534*0Sstevel@tonic-gate
535*0Sstevel@tonic-gate    [Description("A string specifying the transport protocol used for the "
536*0Sstevel@tonic-gate                 "NFS mount. It is the value of the network_id field from "
537*0Sstevel@tonic-gate                 "/etc/netconfig.  Corresponds to the 'proto=' "
538*0Sstevel@tonic-gate                 "mount_nfs option (Solaris 9)."),
539*0Sstevel@tonic-gate     MappingStrings{"SOLARIS9.SUN|/etc/netconfig"} ]
540*0Sstevel@tonic-gate    String Protocol;
541*0Sstevel@tonic-gate
542*0Sstevel@tonic-gate    [Description("If set to true: use the public file handle. "
543*0Sstevel@tonic-gate                 "If set to false (default): do not use the public "
544*0Sstevel@tonic-gate                 "file handle.  Corresponds to the 'public' mount_nfs "
545*0Sstevel@tonic-gate                 "option (Solaris 9).")]
546*0Sstevel@tonic-gate    boolean Public = false;
547*0Sstevel@tonic-gate
548*0Sstevel@tonic-gate    [Description ("Read buffer size in bytes.  The default is 32768 for "
549*0Sstevel@tonic-gate    	"version 3 and 8192 for version 2.  Corresponds to the "
550*0Sstevel@tonic-gate        "'rsize=' mount_nfs option (Solaris 9)."),
551*0Sstevel@tonic-gate       Units("Bytes") ]
552*0Sstevel@tonic-gate    uint64 ReadBufferSize;
553*0Sstevel@tonic-gate
554*0Sstevel@tonic-gate    [Description ("NFS timeout in tenths of a second.  The default is 11 "
555*0Sstevel@tonic-gate    	"tenths of a second for connectionless transports and 600 "
556*0Sstevel@tonic-gate    	"tenths of a second for connection oriented transports.  "
557*0Sstevel@tonic-gate    	"Corresponds to the 'timeo=' mount_nfs option (Solaris 9)."),
558*0Sstevel@tonic-gate       Units ("Tenths of Seconds") ]
559*0Sstevel@tonic-gate    uint32 RetransmissionTimeout;
560*0Sstevel@tonic-gate
561*0Sstevel@tonic-gate    [Description (
562*0Sstevel@tonic-gate        "If set to true, if the first mount attempt fails, retries are "
563*0Sstevel@tonic-gate        "performed in the foreground.  If set to false, retries are "
564*0Sstevel@tonic-gate        "performed in the background.  Corresponds to the 'bg/fg' "
565*0Sstevel@tonic-gate        "mount_nfs options (Solaris 9).  "
566*0Sstevel@tonic-gate        "This value is only valid upon creation of an instance of "
567*0Sstevel@tonic-gate	"instance of Solaris_NFSMount.  This is actually a mount _process_ "
568*0Sstevel@tonic-gate	"option and not a mount option.") ]
569*0Sstevel@tonic-gate    boolean RetryInForeground = true;
570*0Sstevel@tonic-gate
571*0Sstevel@tonic-gate    [Description("A string describing the security mode for NFS transactions. "
572*0Sstevel@tonic-gate                 "Available modes is listed in /etc/nfssec.conf. "
573*0Sstevel@tonic-gate                 "Corresponds to the 'sec=' mount_nfs option (Solaris 9)."),
574*0Sstevel@tonic-gate     MappingStrings{"SOLARIS9.SUN|/etc/nfssec.conf"} ]
575*0Sstevel@tonic-gate    String SecurityMode;
576*0Sstevel@tonic-gate
577*0Sstevel@tonic-gate    [Description (
578*0Sstevel@tonic-gate        "The NFS Server IP port number.  Default is NFS_PORT which is defined "
579*0Sstevel@tonic-gate        "in /usr/include/nfs/nfs.h.  Corresponds to the 'port=' mount_nfs "
580*0Sstevel@tonic-gate        "option (Solaris 9).") ]
581*0Sstevel@tonic-gate    uint32 ServerCommunicationPort;
582*0Sstevel@tonic-gate
583*0Sstevel@tonic-gate    [Description("The name of the NFS server.")]
584*0Sstevel@tonic-gate    String ServerName;
585*0Sstevel@tonic-gate
586*0Sstevel@tonic-gate    [Description("The path of the NFS resource on the server.")]
587*0Sstevel@tonic-gate    String ServerPath;
588*0Sstevel@tonic-gate
589*0Sstevel@tonic-gate    [Description (
590*0Sstevel@tonic-gate        "Version number of NFS protocol to use.  Corresponds to the "
591*0Sstevel@tonic-gate        "'vers=' mount_nfs option (Solaris 9)."),
592*0Sstevel@tonic-gate     ValueMap {"2", "3", "4", "highest"} ]
593*0Sstevel@tonic-gate    String Version = "highest";
594*0Sstevel@tonic-gate
595*0Sstevel@tonic-gate    [Description ("Write buffer size in bytes.  The default is 32768 for "
596*0Sstevel@tonic-gate    	"version 3 and 8192 for version 2.  Corresponds to the "
597*0Sstevel@tonic-gate        "'wsize=' mount_nfs option (Solaris 9)."),
598*0Sstevel@tonic-gate       Units("Bytes") ]
599*0Sstevel@tonic-gate    uint64 WriteBufferSize;
600*0Sstevel@tonic-gate
601*0Sstevel@tonic-gate
602*0Sstevel@tonic-gate    [Description(
603*0Sstevel@tonic-gate      "Allows the creation and manipulation of extended attributes. "
604*0Sstevel@tonic-gate      "Corresponds to the 'xattr/noxattr' mount_nfs options (Solaris 9). ")]
605*0Sstevel@tonic-gate    boolean Xattr = true;
606*0Sstevel@tonic-gate};
607*0Sstevel@tonic-gate
608*0Sstevel@tonic-gate    [Experimental,
609*0Sstevel@tonic-gate     Version("1.3.0"),
610*0Sstevel@tonic-gate     Description("The Solaris_ShareSetting object contains attributes that "
611*0Sstevel@tonic-gate                 "are commonly used to configure the sharing of a resource "
612*0Sstevel@tonic-gate                 "on a Solaris system.")]
613*0Sstevel@tonic-gateclass Solaris_ShareSetting : CIM_SettingData {
614*0Sstevel@tonic-gate};
615*0Sstevel@tonic-gate
616*0Sstevel@tonic-gate[Experimental,
617*0Sstevel@tonic-gate Version("1.3.0"),
618*0Sstevel@tonic-gate Description (
619*0Sstevel@tonic-gate     "A class that contains attributes for a local NFS shared object "
620*0Sstevel@tonic-gate     "on the server side that is made accessible to other systems. "
621*0Sstevel@tonic-gate     "Attributes which have the potential of operating at a different "
622*0Sstevel@tonic-gate     "value than what was configured will also be on the Solaris_Mount "
623*0Sstevel@tonic-gate     "object.")
624*0Sstevel@tonic-gate]
625*0Sstevel@tonic-gateclass Solaris_NFSShareSetting : Solaris_ShareSetting
626*0Sstevel@tonic-gate{
627*0Sstevel@tonic-gate
628*0Sstevel@tonic-gate    [Description("If set to true: maximal  access  is  given  to all "
629*0Sstevel@tonic-gate                 "clients. Valid for NFS version 2 only.  Corresponds "
630*0Sstevel@tonic-gate                 "to the 'aclok' share_nfs option (Solaris 9)."),
631*0Sstevel@tonic-gate        ModelCorrespondence{"Solaris_NFSMount.Version"}]
632*0Sstevel@tonic-gate    boolean AllowAccessControl;
633*0Sstevel@tonic-gate
634*0Sstevel@tonic-gate    [Description("Sets the the effective user ID of unknown users. By "
635*0Sstevel@tonic-gate                 "default, unknown users are given the effective user "
636*0Sstevel@tonic-gate                 "ID UID_NOBODY. UID_NOBODY is usually set to 60001 but "
637*0Sstevel@tonic-gate                 "because an administrator can change this we don't set "
638*0Sstevel@tonic-gate                 "it to this by default.  Corresponds to the "
639*0Sstevel@tonic-gate                 "'anon=' share_nfs option (Solaris 9)."),
640*0Sstevel@tonic-gate        Required,
641*0Sstevel@tonic-gate        Units("Bytes")]
642*0Sstevel@tonic-gate    Uint32 EffectiveUID;
643*0Sstevel@tonic-gate
644*0Sstevel@tonic-gate    [Description("If set to true: causes  the  server  file system to "
645*0Sstevel@tonic-gate                 "silently ignore any attempt to  enable the setuid or "
646*0Sstevel@tonic-gate                 "setgid mode bits.  Corresponds to the 'nosuid' "
647*0Sstevel@tonic-gate                 "share_nfs option (Solaris 9).")]
648*0Sstevel@tonic-gate    boolean IgnoreSetId;
649*0Sstevel@tonic-gate
650*0Sstevel@tonic-gate    [Description("Enables NFS server logging for the specified file "
651*0Sstevel@tonic-gate                 "system. The optional tag determines the location of "
652*0Sstevel@tonic-gate                 "the related log files. The tag is defined in "
653*0Sstevel@tonic-gate                 "etc/nfs/nfslog.conf. The default value is the global "
654*0Sstevel@tonic-gate                 "tag.  Corresponds to the 'log=' share_nfs option (Solaris 9)."),
655*0Sstevel@tonic-gate        MappingStrings{"SOLARIS9.SUN|/etc/nfs/nfslog.conf"}]
656*0Sstevel@tonic-gate    String LogFileTag = "global";
657*0Sstevel@tonic-gate
658*0Sstevel@tonic-gate    [Description("If set to true: the public file handle is moved from "
659*0Sstevel@tonic-gate                 "root (/) to the exported directory.  Corresponds to "
660*0Sstevel@tonic-gate                 "the 'public' share_nfs option (Solaris 9).")]
661*0Sstevel@tonic-gate    boolean Public;
662*0Sstevel@tonic-gate
663*0Sstevel@tonic-gate    [Description (
664*0Sstevel@tonic-gate        "A value of true prevents clients from mounting subdirectories "
665*0Sstevel@tonic-gate        "of shared directories.  Corresponds to the 'nosub' share_nfs "
666*0Sstevel@tonic-gate        "option (Solaris 9).")]
667*0Sstevel@tonic-gate    boolean PreventSubDirMount;
668*0Sstevel@tonic-gate
669*0Sstevel@tonic-gate    [Description("An attribute that is only used at the time of creation of "
670*0Sstevel@tonic-gate    		 "a NFS Share instance.  If it is set to true, the "
671*0Sstevel@tonic-gate    		 "the NFS server daemons (nfsd and mountd) will be started "
672*0Sstevel@tonic-gate    		 "with the default settings, if and only if, nfsd and mountd "
673*0Sstevel@tonic-gate    		 "aren't already running on the host.  The daemons will NOT "
674*0Sstevel@tonic-gate    		 "be stopped and restarted.  As a side effect of starting the "
675*0Sstevel@tonic-gate    		 "NFS server daemons the share being created will be placed "
676*0Sstevel@tonic-gate    		 "as an entry in /etc/dfs/dfstab since the starting of the "
677*0Sstevel@tonic-gate    		 "daemon relies on entries here."),
678*0Sstevel@tonic-gate      MappingStrings{"SOLARIS9.SUN|/etc/init.d/nfs.server start"}]
679*0Sstevel@tonic-gate     boolean StartDaemons;
680*0Sstevel@tonic-gate};
681*0Sstevel@tonic-gate
682*0Sstevel@tonic-gate
683*0Sstevel@tonic-gate    [Provider("jni:libWBEMnfs.so"),
684*0Sstevel@tonic-gate     Version("1.3.0"),
685*0Sstevel@tonic-gate     Description("A logical element that contains the information necessary "
686*0Sstevel@tonic-gate     		 "to represent and manage the functionality provided by "
687*0Sstevel@tonic-gate     		 "shares in Solaris.")]
688*0Sstevel@tonic-gate
689*0Sstevel@tonic-gateclass Solaris_ShareService : CIM_Service {
690*0Sstevel@tonic-gate
691*0Sstevel@tonic-gate    //Methods
692*0Sstevel@tonic-gate    [Description("Method which shares all resources listed in the file "
693*0Sstevel@tonic-gate    		 "specified with the file parameter.   The specified file "
694*0Sstevel@tonic-gate    		 "should contain a list of share command lines.  "
695*0Sstevel@tonic-gate    		 "If no file is specified /etc/dfs/dfstab is used.  "
696*0Sstevel@tonic-gate    		 "Resources may be shared by specific file system types by "
697*0Sstevel@tonic-gate    		 "specifying the file system type (or types in a comma "
698*0Sstevel@tonic-gate    		 "delimited list) as input parameter, fstype.  The method "
699*0Sstevel@tonic-gate    		 "returns 1 if it succeded, 0 if a failure occurred.  "
700*0Sstevel@tonic-gate    		 "Corresponds to /usr/sbin/shareall (Solaris 9)")]
701*0Sstevel@tonic-gate    sint32 shareall([IN]String fstype, [IN]String file);
702*0Sstevel@tonic-gate
703*0Sstevel@tonic-gate    [Description("Method which unshares all currently shared resources.  "
704*0Sstevel@tonic-gate    		 "If a fstype (or fstypes in a comma delimited list) is not "
705*0Sstevel@tonic-gate    		 "specified in the fstype parameter, all distributed file "
706*0Sstevel@tonic-gate    		 "system type resources will be unshared.  The method "
707*0Sstevel@tonic-gate    		 "returns 1 if it succeded, 0 if a failure occurred.  "
708*0Sstevel@tonic-gate    		 "Corresponds to /usr/sbin/unshareall (Solaris 9)")]
709*0Sstevel@tonic-gate    sint32 unshareall([IN]String fstype);
710*0Sstevel@tonic-gate};
711*0Sstevel@tonic-gate
712*0Sstevel@tonic-gate
713*0Sstevel@tonic-gate
714*0Sstevel@tonic-gate    [Provider("jni:libWBEMnfs.so"),
715*0Sstevel@tonic-gate     Version("1.3.0"),
716*0Sstevel@tonic-gate     Description("A logical element that contains the information necessary "
717*0Sstevel@tonic-gate     		 "to represent and manage the functionality provided by "
718*0Sstevel@tonic-gate     		 "file system mounts in Solaris.")]
719*0Sstevel@tonic-gate
720*0Sstevel@tonic-gateclass Solaris_MountService : CIM_Service {
721*0Sstevel@tonic-gate
722*0Sstevel@tonic-gate    //Methods
723*0Sstevel@tonic-gate    [Description("Method which mounts file systems listed in the file system "
724*0Sstevel@tonic-gate    		 "table as specified with the fstable parameter."
725*0Sstevel@tonic-gate    		 "The specified file system table (file) must be in the vfstab "
726*0Sstevel@tonic-gate    		 "format.  If no file system table is specified (an empty "
727*0Sstevel@tonic-gate    		 "string is passed in) /etc/vfstab is used.  Only the file "
728*0Sstevel@tonic-gate    		 "systems having the mount at boot field set to yes in the "
729*0Sstevel@tonic-gate    		 "table will be mounted.  "
730*0Sstevel@tonic-gate    		 "The fstype parameter can be used to specify the file "
731*0Sstevel@tonic-gate    		 "system type of the file systems to be mounted.  The "
732*0Sstevel@tonic-gate    		 "onlyLocalFileSystems and onlyRemoteFileSystems parameters "
733*0Sstevel@tonic-gate    		 "are mutually exclusive.  If onlyLocalFileSystems is true, "
734*0Sstevel@tonic-gate    		 "the mountall action will be limited to local file systems.  "
735*0Sstevel@tonic-gate    		 "If onlyRemoteFileSystems is true, the mountall action will "
736*0Sstevel@tonic-gate    		 "be limited to remote file system types.  The method "
737*0Sstevel@tonic-gate    		 "returns 1 if it succeded, 0 if a failure occurred.  "
738*0Sstevel@tonic-gate    		 "Corresponds to /usr/sbin/mountall (Solaris 9)")]
739*0Sstevel@tonic-gate    sint32 mountall([IN]String fstype, [IN]Boolean onlyLocalFileSystems,
740*0Sstevel@tonic-gate    		    [IN]Boolean onlyRemoteFileSystems, [IN]String fstable);
741*0Sstevel@tonic-gate
742*0Sstevel@tonic-gate    [Description("Method used to unmount all file systems except root, /usr, "
743*0Sstevel@tonic-gate    		 "/var, /var/adm, /var/run, /proc, and /dev/fd.  There is no "
744*0Sstevel@tonic-gate    		 "guarantee that this function will unmount busy file "
745*0Sstevel@tonic-gate    		 "systems.  "
746*0Sstevel@tonic-gate    		 "The fstype parameter can be used to specify the fstype of "
747*0Sstevel@tonic-gate    		 "the file systems to be unmounted.  The host parameter "
748*0Sstevel@tonic-gate    		 "can be used to unmount all file systems listed in "
749*0Sstevel@tonic-gate    		 "/etc/mnttab that are remote-mounted from the host specified."
750*0Sstevel@tonic-gate    		 "  If onlyLocalFileSystems is true, limit the unmounting to "
751*0Sstevel@tonic-gate    		 "local file systems.  If onlyRemoteFileSystems is true, the "
752*0Sstevel@tonic-gate    		 "mounting will be limited to remote file system types.  "
753*0Sstevel@tonic-gate    		 "If killProcesses is true, a SIGKILL signal is sent to each "
754*0Sstevel@tonic-gate    		 "process using the file and this spawns kills for those"
755*0Sstevel@tonic-gate    		 "processes.  If unmountInParallel is true, the umount "
756*0Sstevel@tonic-gate    		 "operation will be performed in parallel.  "
757*0Sstevel@tonic-gate    		 "The onlyLocalFileSystems and onlyRemoteFileSystems "
758*0Sstevel@tonic-gate    		 "parameters are mutually exclusive and cannot be used when "
759*0Sstevel@tonic-gate    		 "a host is defined.  The fstype and host parameters are also "
760*0Sstevel@tonic-gate    		 "mutually exclusive.  The method returns 1 if it succeded, 0 "
761*0Sstevel@tonic-gate    		 "if a failure occurred.  Corresponds to /usr/sbin/umountall "
762*0Sstevel@tonic-gate    		 "(Solaris 9)")]
763*0Sstevel@tonic-gate    sint32 unmountall([IN]String fstype,
764*0Sstevel@tonic-gate    		      [IN]String host,
765*0Sstevel@tonic-gate    		      [IN]Boolean onlyLocalFileSystems,
766*0Sstevel@tonic-gate    		      [IN]Boolean onlyRemoteFileSystems,
767*0Sstevel@tonic-gate    		      [IN]Boolean killProcesses,
768*0Sstevel@tonic-gate    		      [IN]Boolean umountInParallel);
769*0Sstevel@tonic-gate};
770*0Sstevel@tonic-gate
771*0Sstevel@tonic-gate// ===================================================================
772*0Sstevel@tonic-gate//   Associations
773*0Sstevel@tonic-gate// ===================================================================
774*0Sstevel@tonic-gate#pragma namespace("__modify")
775*0Sstevel@tonic-gate
776*0Sstevel@tonic-gate[Association,
777*0Sstevel@tonic-gate Provider(
778*0Sstevel@tonic-gate     "jni:libWBEMnfs.so"),
779*0Sstevel@tonic-gate Version("1.3.0"),
780*0Sstevel@tonic-gate Description (
781*0Sstevel@tonic-gate     "An association between a remote directory that can be mounted "
782*0Sstevel@tonic-gate     "and the NFS mounted file system.") ]
783*0Sstevel@tonic-gateclass Solaris_NFSMount : Solaris_Mount
784*0Sstevel@tonic-gate{
785*0Sstevel@tonic-gate   [Description (
786*0Sstevel@tonic-gate        "If set to true, allow data and attribute caching.  If set to "
787*0Sstevel@tonic-gate        "false, suppress data and attribute caching.  Corresponds to "
788*0Sstevel@tonic-gate        "the 'noac' mount_nfs option (Solaris 9).") ]
789*0Sstevel@tonic-gate    boolean AttributeCaching = true;
790*0Sstevel@tonic-gate
791*0Sstevel@tonic-gate    [Description (
792*0Sstevel@tonic-gate        "Maximum number of seconds that cached attributes are held "
793*0Sstevel@tonic-gate        "after directory update.  Corresponds to the 'acdirmax=' "
794*0Sstevel@tonic-gate        "mount_nfs option (Solaris 9)."),
795*0Sstevel@tonic-gate       Units("Seconds") ]
796*0Sstevel@tonic-gate    uint16 AttributeCachingForDirectoriesMax = 60;
797*0Sstevel@tonic-gate
798*0Sstevel@tonic-gate    [Description (
799*0Sstevel@tonic-gate        "Minimum number of seconds that cached attributes are held "
800*0Sstevel@tonic-gate        "after directory update.  Corresponds to the 'acdirmin=' "
801*0Sstevel@tonic-gate        "mount_nfs option (Solaris 9)."),
802*0Sstevel@tonic-gate       Units("Seconds") ]
803*0Sstevel@tonic-gate    uint16 AttributeCachingForDirectoriesMin = 30;
804*0Sstevel@tonic-gate
805*0Sstevel@tonic-gate    [Description (
806*0Sstevel@tonic-gate        "Maximum number of seconds that cached attributes are held "
807*0Sstevel@tonic-gate        "after file modification.  Corresponds to the 'acregmax=' "
808*0Sstevel@tonic-gate        "mount_nfs option (Solaris 9)."),
809*0Sstevel@tonic-gate       Units("Seconds") ]
810*0Sstevel@tonic-gate    uint16 AttributeCachingForRegularFilesMax = 60;
811*0Sstevel@tonic-gate
812*0Sstevel@tonic-gate    [Description (
813*0Sstevel@tonic-gate        "Minimum number of seconds that cached attributes are held "
814*0Sstevel@tonic-gate        "after file modification.  Corresponds to the 'acregmin=' "
815*0Sstevel@tonic-gate        "mount_nfs option (Solaris 9)."),
816*0Sstevel@tonic-gate       Units("Seconds") ]
817*0Sstevel@tonic-gate    uint16 AttributeCachingForRegularFilesMin = 3;
818*0Sstevel@tonic-gate
819*0Sstevel@tonic-gate    [Override ("Dependent"),
820*0Sstevel@tonic-gate     Description ("The file system mounted via NFS. "
821*0Sstevel@tonic-gate        "It is also referred to as the resource to mount.") ]
822*0Sstevel@tonic-gate    Solaris_NFS REF Dependent;
823*0Sstevel@tonic-gate
824*0Sstevel@tonic-gate    [Description("If set to true: enable quota checking.  If set to "
825*0Sstevel@tonic-gate                 "false (default): disable quota checking. "
826*0Sstevel@tonic-gate                 "Corresponds to the 'quota/noquota' mount_nfs "
827*0Sstevel@tonic-gate                 "options (Solaris 9).")]
828*0Sstevel@tonic-gate    boolean EnableQuotaChecking = false;
829*0Sstevel@tonic-gate
830*0Sstevel@tonic-gate    [Description("If true, data is transferred directly between "
831*0Sstevel@tonic-gate                 "client and server, with no buffering on the client. "
832*0Sstevel@tonic-gate                 "If false: Data is buffered on the client. "
833*0Sstevel@tonic-gate                 "The default is false.  Corresponds to the "
834*0Sstevel@tonic-gate                 "'forcedirectio/noforcedirectio' mount_nfs options "
835*0Sstevel@tonic-gate                 "(Solaris 9).")]
836*0Sstevel@tonic-gate    boolean ForceDirectIO = false;
837*0Sstevel@tonic-gate
838*0Sstevel@tonic-gate    [Description (
839*0Sstevel@tonic-gate        "The list of resources to be used for failover. Each "
840*0Sstevel@tonic-gate        "resource must be of the form host:/pathname, NFS URL or a "
841*0Sstevel@tonic-gate        "list of hosts, if the exported directory name is the same.")]
842*0Sstevel@tonic-gate    string FailoverList[];
843*0Sstevel@tonic-gate
844*0Sstevel@tonic-gate    [Description("If set to true: use BSD style group id semantics. "
845*0Sstevel@tonic-gate                 "If set to false (default): use System V style group "
846*0Sstevel@tonic-gate                 "id semantics.  Corresponds to the 'grpid' mount_nfs "
847*0Sstevel@tonic-gate                 "option (Solaris 9).")]
848*0Sstevel@tonic-gate    boolean GroupId = false;
849*0Sstevel@tonic-gate
850*0Sstevel@tonic-gate    [Description (
851*0Sstevel@tonic-gate        "If set to true, once the FileSystem is mounted, NFS requests "
852*0Sstevel@tonic-gate        "are retried until the hosting System responds.  "
853*0Sstevel@tonic-gate        "If set to false, once the FileSystem is mounted, an error "
854*0Sstevel@tonic-gate        "is returned if the hosting System does not respond. "
855*0Sstevel@tonic-gate        "Corresponds to the 'hard/soft' mount_nfs options (Solaris 9).")]
856*0Sstevel@tonic-gate    boolean HardMount = true;
857*0Sstevel@tonic-gate
858*0Sstevel@tonic-gate    [Description (
859*0Sstevel@tonic-gate        "If set to true, keyboard interrupts are permitted to kill a "
860*0Sstevel@tonic-gate        "process that is hung while waiting for a response on a hard- "
861*0Sstevel@tonic-gate        "mounted file system.  If set to false, keyboard interrupts "
862*0Sstevel@tonic-gate        "are ignored.  Corresponds to the 'intr/nointr' mount_nfs "
863*0Sstevel@tonic-gate        "options (Solaris 9).")]
864*0Sstevel@tonic-gate    boolean Interrupt = true;
865*0Sstevel@tonic-gate
866*0Sstevel@tonic-gate    [Description ("Maximum number of NFS retransmissions allowed. "
867*0Sstevel@tonic-gate        "Corresponds to the 'retrans=' mount_nfs option (Solaris 9).") ]
868*0Sstevel@tonic-gate    uint16 MaxRetransmissionAttempts = 5;
869*0Sstevel@tonic-gate
870*0Sstevel@tonic-gate    [Description ("Maximum number of mount failure retries allowed.  The "
871*0Sstevel@tonic-gate    	"default for the mount command is 10000.  The default for the "
872*0Sstevel@tonic-gate    	"automounter is 0.  "
873*0Sstevel@tonic-gate        "Corresponds to the 'retry=' mount_nfs option (Solaris 9).  "
874*0Sstevel@tonic-gate        "This value is only valid upon creation of an instance of "
875*0Sstevel@tonic-gate	"instance of Solaris_NFSMount.  This is actually a mount _process_ "
876*0Sstevel@tonic-gate	"option and not a mount option.") ]
877*0Sstevel@tonic-gate    uint16 MountFailureRetries;
878*0Sstevel@tonic-gate
879*0Sstevel@tonic-gate    [Description("If true, do not perform the normal close-to-open "
880*0Sstevel@tonic-gate                 "consistency. The client will not perform the flush "
881*0Sstevel@tonic-gate                 "on close and the request for validation, allowing "
882*0Sstevel@tonic-gate                 "the possiblity of differences among copies of the "
883*0Sstevel@tonic-gate                 "same file as stored on multiple clients.  This can "
884*0Sstevel@tonic-gate                 "be used where it can be guaranteed that accesses to "
885*0Sstevel@tonic-gate                 "a specified file system will be made from only one "
886*0Sstevel@tonic-gate                 "client and only that client.  The default is false. "
887*0Sstevel@tonic-gate                 "Corresponds to the 'nocto' mount_nfs option (Solaris 9).")]
888*0Sstevel@tonic-gate    boolean NoCloseToOpenConsistency = false;
889*0Sstevel@tonic-gate
890*0Sstevel@tonic-gate    [Description("If set to true: use POSIX.1 semantics for filesystem. "
891*0Sstevel@tonic-gate                 "If set to false (default): do not use POSIX.1 "
892*0Sstevel@tonic-gate                 "semantics.  Corresponds to the 'posix' mount_nfs "
893*0Sstevel@tonic-gate                 "option (Solaris 9).")]
894*0Sstevel@tonic-gate    boolean Posix = false;
895*0Sstevel@tonic-gate
896*0Sstevel@tonic-gate    [Description("A string specifying the transport protocol used for the "
897*0Sstevel@tonic-gate                 "NFS mount. It is the value of the network_id field from "
898*0Sstevel@tonic-gate                 "/etc/netconfig.  Corresponds to the 'proto=' "
899*0Sstevel@tonic-gate                 "mount_nfs option (Solaris 9)."),
900*0Sstevel@tonic-gate        MappingStrings{"SOLARIS9.SUN|/etc/netconfig"}]
901*0Sstevel@tonic-gate    String Protocol;
902*0Sstevel@tonic-gate
903*0Sstevel@tonic-gate    [Description("If set to true: use the public file handle. "
904*0Sstevel@tonic-gate                 "If set to false (default): do not use the public "
905*0Sstevel@tonic-gate                 "file handle.  Corresponds to the 'public' mount_nfs "
906*0Sstevel@tonic-gate                 "option (Solaris 9).")]
907*0Sstevel@tonic-gate    boolean Public = false;
908*0Sstevel@tonic-gate
909*0Sstevel@tonic-gate    [Description ("Read buffer size in bytes.  The default is 32768 for "
910*0Sstevel@tonic-gate    	"version 3 and 8192 for version 2.  Corresponds to the "
911*0Sstevel@tonic-gate        "'rsize=' mount_nfs option (Solaris 9)."),
912*0Sstevel@tonic-gate       Units("Bytes") ]
913*0Sstevel@tonic-gate    uint64 ReadBufferSize;
914*0Sstevel@tonic-gate
915*0Sstevel@tonic-gate    [Deprecated {
916*0Sstevel@tonic-gate        "Solaris_NFSMount.FailoverList"},
917*0Sstevel@tonic-gate     Description (
918*0Sstevel@tonic-gate        "Array of replicated resources to be used for failover. Each "
919*0Sstevel@tonic-gate        "resource must be of the form host:/pathname, NFS URL or a "
920*0Sstevel@tonic-gate        "list of hosts, if the exported directory name is the same.") ]
921*0Sstevel@tonic-gate    string ReplicatedResources[];
922*0Sstevel@tonic-gate
923*0Sstevel@tonic-gate    [Description ("NFS timeout in tenths of a second.  The default is 11 "
924*0Sstevel@tonic-gate    	"tenths of a second for connectionless transports and 600 "
925*0Sstevel@tonic-gate    	"tenths of a second for connection oriented transports.  "
926*0Sstevel@tonic-gate    	"Corresponds to the 'timeo=' mount_nfs option (Solaris 9)."),
927*0Sstevel@tonic-gate       Units ("Tenths of Seconds")]
928*0Sstevel@tonic-gate    uint32 RetransmissionTimeout;
929*0Sstevel@tonic-gate
930*0Sstevel@tonic-gate    [Description (
931*0Sstevel@tonic-gate        "If set to true, if the first mount attempt fails, retries are "
932*0Sstevel@tonic-gate        "performed in the foreground.  If set to false, retries are "
933*0Sstevel@tonic-gate        "performed in the background.  Corresponds to the 'bg/fg' "
934*0Sstevel@tonic-gate        "mount_nfs options (Solaris 9).  "
935*0Sstevel@tonic-gate        "This value is only valid upon creation of an instance of "
936*0Sstevel@tonic-gate	"instance of Solaris_NFSMount.  This is actually a mount _process_ "
937*0Sstevel@tonic-gate	"option and not a mount option.")]
938*0Sstevel@tonic-gate    boolean RetryInForeground = true;
939*0Sstevel@tonic-gate
940*0Sstevel@tonic-gate    [Description("A string describing the security mode for NFS transactions. "
941*0Sstevel@tonic-gate                 "Available modes are listed in /etc/nfssec.conf. "
942*0Sstevel@tonic-gate                 "Corresponds to the 'sec=' mount_nfs option (Solaris 9)."),
943*0Sstevel@tonic-gate        MappingStrings{"SOLARIS9.SUN|/etc/nfssec.conf"}]
944*0Sstevel@tonic-gate    String SecurityMode;
945*0Sstevel@tonic-gate
946*0Sstevel@tonic-gate    [Description (
947*0Sstevel@tonic-gate        "The NFS Server IP port number.  Default is NFS_PORT which is defined "
948*0Sstevel@tonic-gate        "defined in /usr/include/nfs/nfs.h.  Corresponds to the "
949*0Sstevel@tonic-gate        "'port=' mount_nfs option (Solaris 9).") ]
950*0Sstevel@tonic-gate    uint32 ServerCommunicationPort;
951*0Sstevel@tonic-gate
952*0Sstevel@tonic-gate    [Description("The name of the NFS server.")]
953*0Sstevel@tonic-gate    String ServerName;
954*0Sstevel@tonic-gate
955*0Sstevel@tonic-gate    [Description("The path of the NFS resource on the server.")]
956*0Sstevel@tonic-gate    String ServerPath;
957*0Sstevel@tonic-gate
958*0Sstevel@tonic-gate    [Description (
959*0Sstevel@tonic-gate        "Version number of NFS protocol to use.  Corresponds to the "
960*0Sstevel@tonic-gate        "'vers=' mount_nfs option (Solaris 9)."),
961*0Sstevel@tonic-gate     ValueMap {"2", "3", "4", "highest"} ]
962*0Sstevel@tonic-gate    String Version = "highest";
963*0Sstevel@tonic-gate
964*0Sstevel@tonic-gate
965*0Sstevel@tonic-gate    [Description ("Write buffer size in bytes.  The default is 32768 for "
966*0Sstevel@tonic-gate    	"version 3 and 8192 for version 2.  Corresponds to the "
967*0Sstevel@tonic-gate        "'wsize=' mount_nfs option (Solaris 9)."),
968*0Sstevel@tonic-gate       Units("Bytes") ]
969*0Sstevel@tonic-gate    uint64 WriteBufferSize;
970*0Sstevel@tonic-gate
971*0Sstevel@tonic-gate    [Description(
972*0Sstevel@tonic-gate      "Allows the creation and manipulation of extended attributes. "
973*0Sstevel@tonic-gate      "Corresponds to the 'xattr/noxattr' mount_nfs options (Solaris 9). ")]
974*0Sstevel@tonic-gate    boolean Xattr = true;
975*0Sstevel@tonic-gate
976*0Sstevel@tonic-gate    // Methods
977*0Sstevel@tonic-gate    [Description("Method to obtain the list of network IDs from "
978*0Sstevel@tonic-gate                 "the /etc/netconfig file.  Returns 1 if method completed "
979*0Sstevel@tonic-gate                 "successfully, 0 if an error occurred.  Corresponds to the "
980*0Sstevel@tonic-gate                 "data stored in /etc/netconfig (Solaris 9).")]
981*0Sstevel@tonic-gate    sint32 getNetCfgList([OUT, IN(false)]string ids[]);
982*0Sstevel@tonic-gate
983*0Sstevel@tonic-gate    [Description("Method to obtain the list of nfs security modes from "
984*0Sstevel@tonic-gate                 "the /etc/nfssec.conf file.  Returns 1 if method completed "
985*0Sstevel@tonic-gate                 "successfully, 0 if an error occurred.  Corresponds to the "
986*0Sstevel@tonic-gate                 "data stored in /etc/nfssec.conf (Solaris 9).")]
987*0Sstevel@tonic-gate    sint32 getNfsSecList([OUT, IN(false)]string secmodes[]);
988*0Sstevel@tonic-gate
989*0Sstevel@tonic-gate    [Description("Method to obtain the the default nfs security mode from "
990*0Sstevel@tonic-gate                 "the /etc/nfssec.conf file.  Returns 1 if method completed "
991*0Sstevel@tonic-gate                 "successfully, 0 if an error occurred.  Corresponds to the "
992*0Sstevel@tonic-gate                 "data stored in /etc/nfssec.conf (Solaris9).")]
993*0Sstevel@tonic-gate    sint32 getDefaultNfsSecMode([OUT, IN(false)]string secmode);
994*0Sstevel@tonic-gate};
995*0Sstevel@tonic-gate
996*0Sstevel@tonic-gate#pragma namespace("__create")
997*0Sstevel@tonic-gate
998*0Sstevel@tonic-gate[Association,
999*0Sstevel@tonic-gate Provider(
1000*0Sstevel@tonic-gate     "jni:libWBEMnfs.so"),
1001*0Sstevel@tonic-gate Version("1.3.0"),
1002*0Sstevel@tonic-gate Description (
1003*0Sstevel@tonic-gate     "This association represents the relationship between an NFS "
1004*0Sstevel@tonic-gate     "share and its security modes.")
1005*0Sstevel@tonic-gate]
1006*0Sstevel@tonic-gateclass Solaris_NFSShareSecurityModes : CIM_ElementSetting
1007*0Sstevel@tonic-gate{
1008*0Sstevel@tonic-gate       [Override ("Element"),
1009*0Sstevel@tonic-gate        Description ("The share the mode is for.")]
1010*0Sstevel@tonic-gate    Solaris_NFSShare REF Element;
1011*0Sstevel@tonic-gate
1012*0Sstevel@tonic-gate       [Override("Setting"), Description (
1013*0Sstevel@tonic-gate        "The Setting that can be applied") ]
1014*0Sstevel@tonic-gate    Solaris_NFSShareSecurity REF Setting;
1015*0Sstevel@tonic-gate
1016*0Sstevel@tonic-gate};
1017*0Sstevel@tonic-gate
1018*0Sstevel@tonic-gate[Association,
1019*0Sstevel@tonic-gate Version("1.3.0"),
1020*0Sstevel@tonic-gate Description ("Class represents the relationship between an NFS "
1021*0Sstevel@tonic-gate              "Share object and its default setting. The default "
1022*0Sstevel@tonic-gate              "setting of AUTH_SYS for the security mode will be "
1023*0Sstevel@tonic-gate              "set in the provider.")
1024*0Sstevel@tonic-gate]
1025*0Sstevel@tonic-gateclass Solaris_NFSShareDefSecurityMode : CIM_DefaultSetting
1026*0Sstevel@tonic-gate{
1027*0Sstevel@tonic-gate    [Override ("Element"),
1028*0Sstevel@tonic-gate        Description ("The share the mode is for.")]
1029*0Sstevel@tonic-gate    Solaris_NFSShare REF Element;
1030*0Sstevel@tonic-gate
1031*0Sstevel@tonic-gate    [Override("Setting"),
1032*0Sstevel@tonic-gate        Description ("The Setting that can be applied to ") ]
1033*0Sstevel@tonic-gate    Solaris_NFSShareSecurity REF Setting;
1034*0Sstevel@tonic-gate
1035*0Sstevel@tonic-gate};
1036*0Sstevel@tonic-gate
1037*0Sstevel@tonic-gate
1038*0Sstevel@tonic-gate
1039*0Sstevel@tonic-gate[Association,
1040*0Sstevel@tonic-gate Provider(
1041*0Sstevel@tonic-gate     "jni:libWBEMnfs.so"),
1042*0Sstevel@tonic-gate Version("1.3.0"),
1043*0Sstevel@tonic-gate Description ("Class that represents the association between the "
1044*0Sstevel@tonic-gate               "share and its host.")
1045*0Sstevel@tonic-gate]
1046*0Sstevel@tonic-gateclass Solaris_HostedShare : CIM_HostedShare
1047*0Sstevel@tonic-gate{
1048*0Sstevel@tonic-gate    [Override ("Antecedent"),
1049*0Sstevel@tonic-gate        Description ("The host of the NFS shared file system.")]
1050*0Sstevel@tonic-gate    Solaris_ComputerSystem REF Antecedent;
1051*0Sstevel@tonic-gate
1052*0Sstevel@tonic-gate    [Override ("Dependent"),
1053*0Sstevel@tonic-gate        Description ("The NFS shared directory.")]
1054*0Sstevel@tonic-gate    Solaris_NFSShare REF Dependent;
1055*0Sstevel@tonic-gate};
1056*0Sstevel@tonic-gate
1057*0Sstevel@tonic-gate[Association,
1058*0Sstevel@tonic-gate Aggregation,
1059*0Sstevel@tonic-gate Version("1.3.0"),
1060*0Sstevel@tonic-gate Description(
1061*0Sstevel@tonic-gate     "An association that represents the aggregation of all of "
1062*0Sstevel@tonic-gate     "the Solaris_PersistentShare objects and ties them to a "
1063*0Sstevel@tonic-gate     "Solaris_SystemConfiguration object.")]
1064*0Sstevel@tonic-gateclass Solaris_PersistentShareConfiguration : CIM_SystemSettingContext
1065*0Sstevel@tonic-gate{
1066*0Sstevel@tonic-gate
1067*0Sstevel@tonic-gate};
1068*0Sstevel@tonic-gate
1069*0Sstevel@tonic-gate[Association,
1070*0Sstevel@tonic-gate Provider(
1071*0Sstevel@tonic-gate     "jni:libWBEMnfs.so"),
1072*0Sstevel@tonic-gate Version("1.3.0"),
1073*0Sstevel@tonic-gate Description(
1074*0Sstevel@tonic-gate    "This class ties an individual Solaris_PersistentShare to its "
1075*0Sstevel@tonic-gate    "owning system.")]
1076*0Sstevel@tonic-gateclass Solaris_PersistentShareForSystem : CIM_SettingForSystem
1077*0Sstevel@tonic-gate{
1078*0Sstevel@tonic-gate
1079*0Sstevel@tonic-gate    [Override ("Antecedent"),
1080*0Sstevel@tonic-gate       Description ("The Solaris Hosting System.")]
1081*0Sstevel@tonic-gate    Solaris_ComputerSystem REF Antecedent;
1082*0Sstevel@tonic-gate
1083*0Sstevel@tonic-gate    [Override ("Dependent"),
1084*0Sstevel@tonic-gate        Description ("The dfstab entry for the system.")]
1085*0Sstevel@tonic-gate    Solaris_PersistentShare REF Dependent;
1086*0Sstevel@tonic-gate};
1087*0Sstevel@tonic-gate
1088*0Sstevel@tonic-gate
1089*0Sstevel@tonic-gate[Association,
1090*0Sstevel@tonic-gate Provider(
1091*0Sstevel@tonic-gate     "jni:libWBEMnfs.so"),
1092*0Sstevel@tonic-gate Version("1.3.0"),
1093*0Sstevel@tonic-gate Description(
1094*0Sstevel@tonic-gate     "This class ties an individual Solaris_PersistentShare to a "
1095*0Sstevel@tonic-gate     "Solaris_NFSShare.")]
1096*0Sstevel@tonic-gateclass Solaris_NFSShareEntry : CIM_ElementSetting
1097*0Sstevel@tonic-gate{
1098*0Sstevel@tonic-gate    [Override ("Setting"),
1099*0Sstevel@tonic-gate        Description ("The persistent share setting")]
1100*0Sstevel@tonic-gate    Solaris_PersistentShare REF Setting;
1101*0Sstevel@tonic-gate
1102*0Sstevel@tonic-gate};
1103*0Sstevel@tonic-gate
1104*0Sstevel@tonic-gate[Association,
1105*0Sstevel@tonic-gate Version("1.3.0"),
1106*0Sstevel@tonic-gate Description ("associates the Share to a LogicalElement that is "
1107*0Sstevel@tonic-gate              "being exported.") ]
1108*0Sstevel@tonic-gateclass Solaris_SharedElement : CIM_SharedElement
1109*0Sstevel@tonic-gate{
1110*0Sstevel@tonic-gate};
1111*0Sstevel@tonic-gate
1112*0Sstevel@tonic-gate#pragma namespace("__modify")
1113*0Sstevel@tonic-gate
1114*0Sstevel@tonic-gate[Association,
1115*0Sstevel@tonic-gate Provider("java:com.sun.wbem.solarisprovider.fsmgr.share.Solaris_NFSExport"),
1116*0Sstevel@tonic-gate Deprecated {
1117*0Sstevel@tonic-gate    "Solaris_SharedFileSystem"},
1118*0Sstevel@tonic-gate Description ("Solaris_NFSExport inherited from CIM_Export")]
1119*0Sstevel@tonic-gateclass Solaris_NFSExport : CIM_Export
1120*0Sstevel@tonic-gate{
1121*0Sstevel@tonic-gate
1122*0Sstevel@tonic-gate        [Description (
1123*0Sstevel@tonic-gate                "If set to true: give maximum access to NFS v2 clients.  "
1124*0Sstevel@tonic-gate                "If set to false (default): give minimum access to NFS v2 "
1125*0Sstevel@tonic-gate                "clients.") ]
1126*0Sstevel@tonic-gate        boolean AclOk = false;
1127*0Sstevel@tonic-gate
1128*0Sstevel@tonic-gate        [Description (
1129*0Sstevel@tonic-gate                "The effective UID of unknown users. The default value is "
1130*0Sstevel@tonic-gate                "UID_NOBODY (60001).") ]
1131*0Sstevel@tonic-gate        sint32 AnonUid;
1132*0Sstevel@tonic-gate
1133*0Sstevel@tonic-gate        [Description ("Share description.") ]
1134*0Sstevel@tonic-gate        string Description;
1135*0Sstevel@tonic-gate
1136*0Sstevel@tonic-gate        [Description (
1137*0Sstevel@tonic-gate                "Index file to use when accessing a Web-NFS directory.") ]
1138*0Sstevel@tonic-gate        string IndexFile;
1139*0Sstevel@tonic-gate
1140*0Sstevel@tonic-gate        [Description (
1141*0Sstevel@tonic-gate                "If set to true: prevents clients from mounting "
1142*0Sstevel@tonic-gate                "subdirectories of the exported directory.  "
1143*0Sstevel@tonic-gate                "If set to false (default): allows clients to mount "
1144*0Sstevel@tonic-gate                "subdirectories.") ]
1145*0Sstevel@tonic-gate        boolean NoSub = false;
1146*0Sstevel@tonic-gate
1147*0Sstevel@tonic-gate        [Description (
1148*0Sstevel@tonic-gate                "If set to true: don't allow allow setuid execution.  "
1149*0Sstevel@tonic-gate                "If set to false (default): allow setuid execution.") ]
1150*0Sstevel@tonic-gate        boolean NoSuid = false;
1151*0Sstevel@tonic-gate
1152*0Sstevel@tonic-gate        [Description (
1153*0Sstevel@tonic-gate                "If set to true: use exported directory as the location of "
1154*0Sstevel@tonic-gate                "the public file handle for Web-NFS.  "
1155*0Sstevel@tonic-gate                "If set to false (default): exported directory is not the "
1156*0Sstevel@tonic-gate                "location of the public file handle.") ]
1157*0Sstevel@tonic-gate        boolean Public = false;
1158*0Sstevel@tonic-gate
1159*0Sstevel@tonic-gate        [Description (
1160*0Sstevel@tonic-gate                "If set to true: grant read-only access to all clients.  "
1161*0Sstevel@tonic-gate                "If set to false (default):do not grant read-only access "
1162*0Sstevel@tonic-gate                "to all clients.") ]
1163*0Sstevel@tonic-gate        boolean ReadOnly = false;
1164*0Sstevel@tonic-gate
1165*0Sstevel@tonic-gate        [Description (
1166*0Sstevel@tonic-gate                "If set to true (default): grant read-write access to all "
1167*0Sstevel@tonic-gate                "clients.  "
1168*0Sstevel@tonic-gate                "If set to false: do not grant read-write access to all "
1169*0Sstevel@tonic-gate                "clients.") ]
1170*0Sstevel@tonic-gate        boolean ReadWrite = true;
1171*0Sstevel@tonic-gate
1172*0Sstevel@tonic-gate        [Description ("Array of clients granted read-only access.") ]
1173*0Sstevel@tonic-gate        string ROAccessList[];
1174*0Sstevel@tonic-gate
1175*0Sstevel@tonic-gate        [Description (
1176*0Sstevel@tonic-gate                "Array of hosts from which root users can gain "
1177*0Sstevel@tonic-gate                "root access.") ]
1178*0Sstevel@tonic-gate        string RootAccessList[];
1179*0Sstevel@tonic-gate
1180*0Sstevel@tonic-gate        [Description ("Array of clients granted read-write access.") ]
1181*0Sstevel@tonic-gate        string RWAccessList[];
1182*0Sstevel@tonic-gate
1183*0Sstevel@tonic-gate        [Description (
1184*0Sstevel@tonic-gate                "If set to true: the filesystem is shared at boot.  "
1185*0Sstevel@tonic-gate                "If set to false (default): the resource is not shared at "
1186*0Sstevel@tonic-gate                "boot.") ]
1187*0Sstevel@tonic-gate        boolean ShareAtBootEntry = false;
1188*0Sstevel@tonic-gate
1189*0Sstevel@tonic-gate        [Description (
1190*0Sstevel@tonic-gate                "Array of security modes to be used to NFS transactions. "
1191*0Sstevel@tonic-gate                "Available modes is listed in /etc/nfssec.conf.") ]
1192*0Sstevel@tonic-gate        string SecurityModes[];
1193*0Sstevel@tonic-gate
1194*0Sstevel@tonic-gate        [Description ("Share options.") ]
1195*0Sstevel@tonic-gate        string ShareOptions;
1196*0Sstevel@tonic-gate
1197*0Sstevel@tonic-gate        [Description (
1198*0Sstevel@tonic-gate                "Maximum lifetime of a request allowed by the NFS server "
1199*0Sstevel@tonic-gate                "(in seconds) when using Diffie-Hellman or Kerberos security.  "
1200*0Sstevel@tonic-gate                "Default value is 30000 seconds (8.3 hours).") ]
1201*0Sstevel@tonic-gate        uint32 Window = 30000;
1202*0Sstevel@tonic-gate
1203*0Sstevel@tonic-gate
1204*0Sstevel@tonic-gate	//Methods
1205*0Sstevel@tonic-gate        [Description("Method to delete a dfstab entry.")]
1206*0Sstevel@tonic-gate        sint32 deleteDfstabEntry([IN]string pathName);
1207*0Sstevel@tonic-gate
1208*0Sstevel@tonic-gate};
1209*0Sstevel@tonic-gate
1210*0Sstevel@tonic-gate#pragma namespace("__create")
1211*0Sstevel@tonic-gate
1212*0Sstevel@tonic-gate[Association,
1213*0Sstevel@tonic-gate Version("1.3.0"),
1214*0Sstevel@tonic-gate Provider(
1215*0Sstevel@tonic-gate     "jni:libWBEMnfs.so"),
1216*0Sstevel@tonic-gate Description ("Class that represents the association between the local "
1217*0Sstevel@tonic-gate              "filesystem and the Solaris_NFSShare on the server.")
1218*0Sstevel@tonic-gate]
1219*0Sstevel@tonic-gateclass Solaris_SharedFileSystem : Solaris_SharedElement
1220*0Sstevel@tonic-gate{
1221*0Sstevel@tonic-gate    [Override("SystemElement"), Key, MAX(1),
1222*0Sstevel@tonic-gate           Description ("The Directory that is Shared.") ]
1223*0Sstevel@tonic-gate    CIM_LogicalElement REF SystemElement;
1224*0Sstevel@tonic-gate
1225*0Sstevel@tonic-gate    [Override("SameElement"), Key, Description (
1226*0Sstevel@tonic-gate           "The Shared view of the Directory.") ]
1227*0Sstevel@tonic-gate    CIM_Share REF SameElement;
1228*0Sstevel@tonic-gate
1229*0Sstevel@tonic-gate};
1230