summaryrefslogtreecommitdiffstats
path: root/mof/LMI_Software.mof
blob: 35f2d79d2d0695b82c507c3bfac7e317266f2521 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
/*
 * Copyright (C) 2012 Red Hat, Inc.  All rights reserved.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 *
 * Authors: Michal Minar <miminar@redhat.com>
 */

#pragma locale ("en_US")
//#pragma namespace ("root/cimv2")

class LMI_SoftwareIdentity : CIM_SoftwareIdentity {

    [Implemented(true), Override("InstanceID"), Description(
        "Unique identifier for installed or available package."
        " It's composed of OrgID and LocalID separated by ':',  where"
        " <OrgID> is LMI and LocalID is PKG:<PKG_NEVRA>. <PKG_NEVRA>"
        " is a string representing rpm package. Letters in NEVRA stand"
        " for name, epoch, version, release and architecture.")]
    string InstanceID;

    [Implemented(true), Override("Caption"), Description("Package's summary.")]
    string Caption;

    [Implemented(true), Override("Classifications")]
    uint16 Classifications[];

    [Implemented(true), Override("Description"), Description(
        "Package's description.")]
    string Description;

    [Implemented(true), Override("ElementName"), Description(
        "Package's NEVRA string. That is also part of InstanceID.")]
    string ElementName;

    [Implemented(true), Override("InstallDate")]
    datetime InstallDate;

    [Implemented(true), Override("IsEntity")]
    boolean IsEntity;

    [Implemented(true), Override("Name"), Description(
        "Name of package. This does not uniquely identify package"
        " installed on computer system.")]
    string Name;

    [Implemented(true), Override("TargetTypes")]
    string TargetTypes[];

    [Implemented(true), Override("VersionString"), Description(
        "Package's EVRA, in format: "
        "<epoch>:<version>-<release>.<architecture>")]
    string VersionString;

    [Implemented(true), Description("Package's epoch.")]
    uint32 Epoch;

    [Implemented(true), Description("Package's version.")]
    string Version;

    [Implemented(true), Description("Package's release.")]
    string Release;

    [Implemented(true), Description("Package's architecture.")]
    string Architecture;

};

class LMI_SystemSoftwareCollection : CIM_SystemSpecificCollection {

    [Implemented(true), Override("InstanceID")]
    string InstanceID;

    [Implemented(true), Override("Caption")]
    string Caption;

};

[Association]
class LMI_HostedSoftwareCollection : CIM_HostedCollection {

  [Override("Antecedent")]
  Linux_ComputerSystem REF Antecedent;

  [Override("Dependent")]
  LMI_SystemSoftwareCollection REF Dependent;

};

[Association]
class LMI_MemberOfSoftwareCollection : CIM_MemberOfCollection {

  [Override("Collection")]
  LMI_SystemSoftwareCollection REF Collection;

  [Override("Member")]
  LMI_SoftwareIdentity REF Member;

};

[Association]
class LMI_InstalledSoftwareIdentity : CIM_InstalledSoftwareIdentity {

  [Override("InstalledSoftware")]
  LMI_SoftwareIdentity REF InstalledSoftware;

  [Override("System")]
  Linux_ComputerSystem REF System;

};

class LMI_SoftwareIdentityResource : CIM_SoftwareIdentityResource {

  [Implemented(true), Override("CreationClassName")]
  string CreationClassName;

  [Implemented(true), Override("Name"), Description(
      "Repository id. A unique name representing repository of"
      " system.")]
  string Name;

  [Implemented(true), Override("SystemCreationClassName")]
  string SystemCreationClassName;

  [Implemented(true), Override("SystemName")]
  string SystemName;

  [Implemented(true), Override("AccessContext")]
  uint16 AccessContext;

  [Implemented(true), Override("AccessInfo")]
  string AccessInfo;

  [Implemented(true), Override("AvailableRequestedStates")]
  uint16 AvailableRequestedStates[];

  [Implemented(true), Override("Caption"), Description(
        "A human readable string describing the repository.")]
  string Caption;

  [Implemented(true), Description(
      "Relative cost of accessing this repository."
      " Useful for weighing one repo's packages as greater/less"
      " than any other.")]
  sint32 Cost;

  [Implemented(true), Override("Description")]
  string Description;

  [Implemented(true), Override("ElementName")]
  string ElementName;

  [Implemented(true), Override("EnabledDefault")]
  uint16 EnabledDefault;

  [Implemented(true), Override("EnabledState")]
  uint16 EnabledState;

  [Implemented(true), Override("ExtendedResourceType")]
  uint16 ExtendedResourceType;

  [Implemented(true), Override("Generation")]
  uint64 Generation;

  [Implemented(true), Override("HealthState")]
  uint16 HealthState;
      
  [Implemented(true), Description(
      "Whether or not a GPG signature check should be performed"
      " on the packages gotten from this repository.")]
  boolean GPGCheck;

  [Implemented(true), Override("InfoFormat")]
  uint16 InfoFormat;

  [Implemented(true), Override("InstanceID")]
  string InstanceID;

  [Implemented(true), Description(
      "URL to a file containing list of base URLS to mirrors"
      " of this repository. http://, ftp:// and file:// schemas"
      " are supported. This can contain special variables"
      " prefixed with $, which are substituted for system values."
      " These include $releasever - defaults to the version of"
      " \"redhat-release\" package, $arch - architecture of system,"
      " $basearch - base architecture of system ($arch == \"i686\", then"
      " $basearch == \"i386\", $uuid - unique but persisent uuid for this"
      " machine.")]
  string MirrorList;

  [Implemented(true), Override("OperationalStatus")]
  uint16 OperationalStatus[];

  [Implemented(true), Override("OtherAccessContext")]
  string OtherAccessContext;

  [Implemented(true), Override("PrimaryStatus")]
  uint16 PrimaryStatus;

  [Implemented(true), Description(
      "Whether or not a GPG signature check should be performed"
      " on the repodata from this repository.")]
  boolean RepoGPGCheck;

  [Implemented(true), Override("RequestedState")]
  uint16 RequestedState;

  [Implemented(true), Override("ResourceType")]
  uint16 ResourceType;

  [Implemented(true), Override("StatusDescriptions")]
  string StatusDescriptions[];

  [Implemented(true), Override("TimeOfLastStateChange")]
  datetime TimeOfLastStateChange;

  [Implemented(true), Description(
      "Time of the repository's last update on server.")]
  datetime TimeOfLastUpdate;

  [Implemented(true), Override("TransitioningToState")]
  uint16 TransitioningToState;

  [Implemented(true), Override("RequestStateChange")]
  uint32 RequestStateChange(
      [IN, Description (
         "The state requested for the element. This "
         "information will be placed into the RequestedState "
         "property of the instance if the return code of the "
         "RequestStateChange method is 0 (\'Completed with "
         "No Error\'), or 4096 (0x1000) (\'Job Started\'). "
         "Refer to the description of the EnabledState and "
         "RequestedState properties for the detailed "
         "explanations of the RequestedState values." ),
       ValueMap { "2", "3", "4", "6", "7", "8", "9", "10",
         "11", "..", "32768..65535" },
       Values { "Enabled", "Disabled", "Shut Down", "Offline",
         "Test", "Defer", "Quiesce", "Reboot", "Reset",
         "DMTF Reserved", "Vendor Reserved" },
       ModelCorrespondence {
         "CIM_EnabledLogicalElement.RequestedState" }]
    uint16 RequestedState,
      [IN ( false ), OUT, Description (
         "May contain a reference to the ConcreteJob created "
         "to track the state transition initiated by the "
         "method invocation." )]
    CIM_ConcreteJob REF Job,
      [IN, Description (
         "A timeout period that specifies the maximum amount "
         "of time that the client expects the transition to "
         "the new state to take. The interval format must be "
         "used to specify the TimeoutPeriod. A value of 0 or "
         "a null parameter indicates that the client has no "
         "time requirements for the transition. \n"
         "If this property does not contain 0 or null and "
         "the implementation does not support this "
         "parameter, a return code of \'Use Of Timeout "
         "Parameter Not Supported\' shall be returned." )]
    datetime TimeoutPeriod);

};

[Association]
class LMI_ResourceForSoftwareIdentity : CIM_SAPAvailableForElement {

    [Override("AvailableSAP")]
    LMI_SoftwareIdentityResource REF AvailableSAP;

    [Override("ManagedElement")]
    LMI_SoftwareIdentity REF ManagedElement;

};

[Association]
class LMI_HostedSoftwareIdentityResource : CIM_HostedAccessPoint {

  [Override("Antecedent")]
  Linux_ComputerSystem REF Antecedent;

  [Override("Dependent")]
  LMI_SoftwareIdentityResource REF Dependent;

};