This repository has been archived by the owner on Oct 2, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 36
/
x-solaris-virtualizationinfo.xsd
341 lines (340 loc) · 24.3 KB
/
x-solaris-virtualizationinfo.xsd
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
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:oval="http://oval.mitre.org/XMLSchema/oval-common-5" xmlns:oval-def="http://oval.mitre.org/XMLSchema/oval-definitions-5" xmlns:oval-sc="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5" xmlns:solaris-def="http://oval.mitre.org/XMLSchema/oval-definitions-5#solaris" xmlns:solaris-sc="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5#solaris" xmlns:x-solaris-virtualizationinfo="http://oval.mitre.org/XMLSchema/x-solaris-virtualizationinfo" xmlns:sch="http://purl.oclc.org/dsdl/schematron" targetNamespace="http://oval.mitre.org/XMLSchema/x-solaris-virtualizationinfo" elementFormDefault="qualified" version="5.11">
<xsd:import namespace="http://oval.mitre.org/XMLSchema/oval-definitions-5" schemaLocation="oval-definitions-schema.xsd"/>
<xsd:import namespace="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5" schemaLocation="oval-system-characteristics-schema.xsd"/>
<xsd:annotation>
<xsd:documentation>The following is a proposal for the experimental solaris-def:x-solaris-virtualizationinfo_test and solaris-sc:x-solaris-virtualizationinfo_item that will support checking the information associated with the current virtualization environment that an instance of Solaris is running on.</xsd:documentation>
<xsd:appinfo>
<schema>Experimental Schema for the Solaris 11 Virtualization Information Test</schema>
<version>5.11</version>
<date>4/22/2013 3:00:00 PM</date>
<terms_of_use>Copyright (c) 2002-2013, The MITRE Corporation. All rights reserved. The contents of this file are subject to the terms of the OVAL License located at http://oval.mitre.org/oval/about/termsofuse.html. See the OVAL License for the specific language governing permissions and limitations for use of this schema. When distributing copies of the OVAL Schema, this license header must be included.</terms_of_use>
<sch:ns prefix="oval-def" uri="http://oval.mitre.org/XMLSchema/oval-definitions-5"/>
<sch:ns prefix="oval-sc" uri="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5"/>
<sch:ns prefix="solaris-def" uri="http://oval.mitre.org/XMLSchema/oval-definitions-5#solaris"/>
<sch:ns prefix="solaris-sc" uri="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5#solaris"/>
<sch:ns prefix="x-solaris-virtualizationinfo" uri="http://oval.mitre.org/XMLSchema/x-solaris-virtualizationinfo"/>
<sch:ns prefix="xsi" uri="http://www.w3.org/2001/XMLSchema-instance"/>
</xsd:appinfo>
</xsd:annotation>
<!-- =============================================================================== -->
<!-- ======================== VIRTUALIZATION INFO TEST =========================== -->
<!-- =============================================================================== -->
<xsd:element name="virtualizationinfo_test" substitutionGroup="oval-def:test">
<xsd:annotation>
<xsd:documentation>The virtualizationinfo_test provides support for checking the metadata associated with the current virtualization environment this instance of Solaris is running on. The test extends the standard TestType as defined in the oval-definitions-schema and one should refer to the TestType description for more information. The required object element references a virtualizationinfo_object and the optional state elements reference virtualizationinfo_states that specify the metadata to check the current virtualization environment.</xsd:documentation>
<xsd:appinfo>
<oval:element_mapping>
<oval:test>virtualizationinfo_test</oval:test>
<oval:object>virtualizationinfo_object</oval:object>
<oval:state>virtualizationinfo_state</oval:state>
<oval:item>virtualizationinfo_item</oval:item>
</oval:element_mapping>
</xsd:appinfo>
<xsd:appinfo>
<sch:pattern id="x-solaris-virtualizationinfo_virtualizationinfo_test">
<sch:rule context="x-solaris-virtualizationinfo:virtualizationinfo_test/x-solaris-virtualizationinfo:object">
<sch:assert test="@object_ref=ancestor::oval-def:oval_definitions/oval-def:objects/x-solaris-virtualizationinfo:virtualizationinfo_object/@id"><sch:value-of select="../@id"/> - the object child element of an virtualizationinfo_test must reference a virtualizationinfo_object</sch:assert>
</sch:rule>
<sch:rule context="x-solaris-virtualizationinfo:virtualizationinfo_test/x-solaris-virtualizationinfo:state">
<sch:assert test="@state_ref=ancestor::oval-def:oval_definitions/oval-def:states/x-solaris-virtualizationinfo:virtualizationinfo_state/@id"><sch:value-of select="../@id"/> - the state child element of an virtualizationinfo_test must reference a virtualizationinfo_state</sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="oval-def:TestType">
<xsd:sequence>
<xsd:element name="object" type="oval-def:ObjectRefType"/>
<xsd:element name="state" type="oval-def:StateRefType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="virtualizationinfo_object" substitutionGroup="oval-def:object">
<xsd:annotation>
<xsd:documentation>The virtualizationinfo_object element is used by a virtualizationinfo_test to identify the current virtualization environment this instance of Solaris is running on. Given that this object only retrieves the current virtualization environment for the system, there are no child entities to specify in the object.</xsd:documentation>
<xsd:appinfo>
<sch:pattern id="x-solaris-virtualizationinfo_virtualizationinfo_object_verify_filter_state">
<sch:rule context="x-solaris-virtualizationinfo:virtualizationinfo_object//oval-def:filter">
<sch:let name="parent_object" value="ancestor::x-solaris-virtualizationinfo:virtualizationinfo_object"/>
<sch:let name="parent_object_id" value="$parent_object/@id"/>
<sch:let name="state_ref" value="."/>
<sch:let name="reffed_state" value="ancestor::oval-def:oval_definitions/oval-def:states/*[@id=$state_ref]"/>
<sch:let name="state_name" value="local-name($reffed_state)"/>
<sch:let name="state_namespace" value="namespace-uri($reffed_state)"/>
<sch:assert test="(($state_namespace='http://oval.mitre.org/XMLSchema/x-solaris-virtualizationinfo') and ($state_name='virtualizationinfo_state'))">State referenced in filter for <sch:value-of select="name($parent_object)"/> '<sch:value-of select="$parent_object_id"/>' is of the wrong type. </sch:assert>
</sch:rule>
</sch:pattern>
</xsd:appinfo>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="oval-def:ObjectType"/>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="virtualizationinfo_state" substitutionGroup="oval-def:state">
<xsd:annotation>
<xsd:documentation>The virtualizationinfo_state element defines the different information that can be used to evaluate the current virtualization environment this instance of Solaris is running on.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="oval-def:StateType">
<xsd:sequence>
<xsd:element name="current" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>The name of the current environment.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="supported" type="x-solaris-virtualizationinfo:EntityStateV12NEnvType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>The list of virtualization environments that this node supports as children.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="parent" type="x-solaris-virtualizationinfo:EntityStateV12NEnvType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>The parent environment of the current environment.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="ldom-role" type="x-solaris-virtualizationinfo:EntityStateLDOMRoleType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>The logical domain roles associated with the current environment.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="properties" type="oval-def:EntityStateRecordType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>The properties associated with the current environment.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<!-- =============================================================================== -->
<!-- =============================================================================== -->
<!-- =============================================================================== -->
<xsd:complexType name="EntityStateV12NEnvType">
<xsd:annotation>
<xsd:documentation>The EntityStateV12NEnvType complex type restricts a string value to a specific set of values that describe the virtalization environment. The empty string is also allowed to support empty element associated with variable references. Note that when using pattern matches and variables care must be taken to ensure that the regular expression and variable values align with the enumerated values.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="oval-def:EntityStateStringType">
<xsd:enumeration value="unknown">
<xsd:annotation>
<xsd:documentation>The virtualization environment is unknown. This could mean it is a bare metal virtualization environment.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="kvm">
<xsd:annotation>
<xsd:documentation>The virtualization environment is a Kernel-based Virtual Machine (KVM).</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="logical-domain">
<xsd:annotation>
<xsd:documentation>The virtualization environment is a logical domain.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="non-global-zone">
<xsd:annotation>
<xsd:documentation>The virtualization environment is a non-global zone.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="kernel-zone">
<xsd:annotation>
<xsd:documentation>The virtualization environment is a kernel zone.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="vmware">
<xsd:annotation>
<xsd:documentation>The virtualization environment is VMware.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="virtualbox">
<xsd:annotation>
<xsd:documentation>The virtualization environment is Oracle VirtualBox.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="xen">
<xsd:annotation>
<xsd:documentation>The virtualization environment is Xen.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="">
<xsd:annotation>
<xsd:documentation>The empty string value is permitted here to allow for empty elements associated with variable references.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="EntityStateLDOMRoleType">
<xsd:annotation>
<xsd:documentation>The EntityStateLDOMRoleType complex type restricts a string value to a specific set of roles for the current virtualization environment. The empty string is also allowed to support empty element associated with variable references. Note that when using pattern matches and variables care must be taken to ensure that the regular expression and variable values align with the enumerated values.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="oval-def:EntityStateStringType">
<xsd:enumeration value="control-role">
<xsd:annotation>
<xsd:documentation>The current virtualization environment is a control domain.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="io-role">
<xsd:annotation>
<xsd:documentation>The current virtualization environment is an I/O domain.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="root-role">
<xsd:annotation>
<xsd:documentation>The current virtualization environment is a root I/O domain.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="service-role">
<xsd:annotation>
<xsd:documentation>The current virtualization environment is a service domain.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="">
<xsd:annotation>
<xsd:documentation>The empty string value is permitted here to allow for empty elements associated with variable references.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<!-- =============================================================================== -->
<!-- =========================== VIRTUALIZATION INFO ITEM ======================= -->
<!-- =============================================================================== -->
<xsd:element name="virtualizationinfo_item" substitutionGroup="oval-sc:item">
<xsd:annotation>
<xsd:documentation>This item stores the information associated with the current virtualization environment this instance of Solaris is running on and is capable of supporting.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="oval-sc:ItemType">
<xsd:sequence>
<xsd:element name="current" type="oval-sc:EntityItemStringType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>The name of the current environment. This information could be collected using the libv12n library or by executing the 'virtinfo -c current list -H -o name' command.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="supported" type="x-solaris-virtualizationinfo:EntityItemV12NEnvType" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>The list of virtualization environments that this node supports as children. This information could be collected using the libv12n library or by executing the 'virtinfo -c supported list -H -o name' command.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="parent" type="x-solaris-virtualizationinfo:EntityItemV12NEnvType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>The parent environment of the current environment. This information could be collected using libv12n library or by executing the 'virtinfo -c parent list -H -o name' command.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="ldom-role" type="x-solaris-virtualizationinfo:EntityItemLDOMRoleType" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>The logical domain roles associated with the current environment. This information could be collected using libv12n library.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="properties" type="oval-sc:EntityItemRecordType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>The properties associated with the current environment. This information could be collected using libv12n library.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<!-- =============================================================================== -->
<!-- =============================================================================== -->
<!-- =============================================================================== -->
<xsd:complexType name="EntityItemV12NEnvType">
<xsd:annotation>
<xsd:documentation>The EntityItemV12NEnvypeType complex type restricts a string value to a specific set of values that describe the virtalization environment. The empty string is also allowed to support empty elements associated with error conditions.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="oval-sc:EntityItemStringType">
<xsd:enumeration value="unknown">
<xsd:annotation>
<xsd:documentation>The virtualization environment is unknown. This could mean it is a bare metal virtualization environment.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="kvm">
<xsd:annotation>
<xsd:documentation>The virtualization environment is a Kernel-based Virtual Machine (KVM).</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="logical-domain">
<xsd:annotation>
<xsd:documentation>The virtualization environment is a logical domain.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="non-global-zone">
<xsd:annotation>
<xsd:documentation>The virtualization environment is a non-global zone.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="kernel-zone">
<xsd:annotation>
<xsd:documentation>The virtualization environment is a kernel zone.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="vmware">
<xsd:annotation>
<xsd:documentation>The virtualization environment is VMware.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="virtualbox">
<xsd:annotation>
<xsd:documentation>The virtualization environment is Oracle VirtualBox.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="xen">
<xsd:annotation>
<xsd:documentation>The virtualization environment is Xen.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="">
<xsd:annotation>
<xsd:documentation>The empty string value is permitted here to allow for detailed error reporting.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="EntityItemLDOMRoleType">
<xsd:annotation>
<xsd:documentation>The EntityItemLDOMRoleType complex type restricts a string value to a specific set of roles for the current virtualization environment. The empty string is also allowed to support empty elements associated with error conditions.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="oval-sc:EntityItemStringType">
<xsd:enumeration value="control-role">
<xsd:annotation>
<xsd:documentation>The current virtualization environment is a control domain.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="io-role">
<xsd:annotation>
<xsd:documentation>The current virtualization environment is an I/O domain.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="root-role">
<xsd:annotation>
<xsd:documentation>The current virtualization environment is a root I/O domain.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="service-role">
<xsd:annotation>
<xsd:documentation>The current virtualization environment is a service domain.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="">
<xsd:annotation>
<xsd:documentation>The empty string value is permitted here to allow for detailed error reporting.</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
</xsd:schema>