xref: /openbmc/bmcweb/features/redfish/schema/dmtf/csdl/JobService_v1.xml (revision c6d7a45d427f9a6d9e761afcf305761dca60d7cf)
1<?xml version="1.0" encoding="UTF-8"?>
2<!---->
3<!--################################################################################       -->
4<!--# Redfish Schema:  JobService v1.1.0                                                   -->
5<!--#                                                                                      -->
6<!--# For a detailed change log, see the README file contained in the DSP8010 bundle,      -->
7<!--# available at http://www.dmtf.org/standards/redfish                                   -->
8<!--# Copyright 2014-2025 DMTF.                                                            -->
9<!--# For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright -->
10<!--################################################################################       -->
11<!---->
12<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
13
14  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml">
15    <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData"/>
16  </edmx:Reference>
17  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Capabilities.V1.xml">
18    <edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities"/>
19  </edmx:Reference>
20  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
21    <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
22  </edmx:Reference>
23  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Resource_v1.xml">
24    <edmx:Include Namespace="Resource"/>
25    <edmx:Include Namespace="Resource.v1_0_0"/>
26  </edmx:Reference>
27  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/JobCollection_v1.xml">
28    <edmx:Include Namespace="JobCollection"/>
29  </edmx:Reference>
30  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/LogService_v1.xml">
31    <edmx:Include Namespace="LogService"/>
32  </edmx:Reference>
33  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/JobDocumentCollection_v1.xml">
34    <edmx:Include Namespace="JobDocumentCollection"/>
35  </edmx:Reference>
36  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/JobExecutorCollection_v1.xml">
37    <edmx:Include Namespace="JobExecutorCollection"/>
38  </edmx:Reference>
39  <edmx:DataServices>
40
41    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="JobService">
42      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
43      <Annotation Term="Redfish.Language" String="en"/>
44
45      <EntityType Name="JobService" BaseType="Resource.v1_0_0.Resource" Abstract="true">
46        <Annotation Term="OData.Description" String="The `JobService` schema contains properties for scheduling and execution of operations, represents the properties for the job service itself, and has links to jobs managed by the job service."/>
47        <Annotation Term="OData.LongDescription" String="This resource shall represent a job service for a Redfish implementation."/>
48        <Annotation Term="Capabilities.InsertRestrictions">
49          <Record>
50            <PropertyValue Property="Insertable" Bool="false"/>
51          </Record>
52        </Annotation>
53        <Annotation Term="Capabilities.UpdateRestrictions">
54          <Record>
55            <PropertyValue Property="Updatable" Bool="true"/>
56            <Annotation Term="OData.Description" String="The job service can be updated to enable or disable the service, though some implementations might fail the update operation."/>
57          </Record>
58        </Annotation>
59        <Annotation Term="Capabilities.DeleteRestrictions">
60          <Record>
61            <PropertyValue Property="Deletable" Bool="false"/>
62          </Record>
63        </Annotation>
64        <Annotation Term="Redfish.Uris">
65          <Collection>
66            <String>/redfish/v1/JobService</String>
67          </Collection>
68        </Annotation>
69      </EntityType>
70
71      <Action Name="CancelAllJobs" IsBound="true">
72        <Annotation Term="OData.Description" String="Cancels all jobs."/>
73        <Annotation Term="OData.LongDescription" String="This action shall cancel all jobs.  The service shall transition all jobs to the `Cancelled` state."/>
74        <Parameter Name="JobService" Type="JobService.v1_0_0.Actions"/>
75        <Annotation Term="Redfish.Revisions">
76          <Collection>
77            <Record>
78              <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
79              <PropertyValue Property="Version" String="v1_1_0"/>
80            </Record>
81          </Collection>
82        </Annotation>
83      </Action>
84    </Schema>
85
86    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="JobService.v1_0_0">
87      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
88      <Annotation Term="Redfish.Release" String="2018.2"/>
89
90      <EntityType Name="JobService" BaseType="JobService.JobService">
91        <Property Name="DateTime" Type="Edm.DateTimeOffset">
92          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
93          <Annotation Term="OData.Description" String="The current date and time setting for the job service."/>
94          <Annotation Term="OData.LongDescription" String="This property shall contain the current date and time setting for the job service."/>
95        </Property>
96        <Property Name="ServiceEnabled" Type="Edm.Boolean">
97          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
98          <Annotation Term="OData.Description" String="An indication of whether this service is enabled."/>
99          <Annotation Term="OData.LongDescription" String="This property shall indicate whether this service is enabled."/>
100        </Property>
101        <Property Name="ServiceCapabilities" Type="JobService.v1_0_0.JobServiceCapabilities" Nullable="false">
102          <Annotation Term="OData.Description" String="The supported capabilities of this job service implementation."/>
103          <Annotation Term="OData.LongDescription" String="This property shall contain properties that describe the capabilities or supported features of this implementation of a job service."/>
104        </Property>
105        <Property Name="Status" Type="Resource.Status" Nullable="false">
106          <Annotation Term="OData.Description" String="The status and health of the resource and its subordinate or dependent resources."/>
107          <Annotation Term="OData.LongDescription" String="This property shall contain any status or health properties of the resource."/>
108        </Property>
109        <NavigationProperty Name="Log" Type="LogService.LogService" Nullable="false">
110          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
111          <Annotation Term="OData.Description" String="The link to a log service that the job service uses.  This service can be a dedicated log service or a pointer to a log service under another resource, such as a manager."/>
112          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource of type `LogService` that this job service uses."/>
113          <Annotation Term="OData.AutoExpandReferences"/>
114        </NavigationProperty>
115        <NavigationProperty Name="Jobs" Type="JobCollection.JobCollection" ContainsTarget="true" Nullable="false">
116          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
117          <Annotation Term="OData.Description" String="The links to the jobs collection."/>
118          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource collection of type `JobCollection`."/>
119          <Annotation Term="OData.AutoExpandReferences"/>
120        </NavigationProperty>
121        <Property Name="Actions" Type="JobService.v1_0_0.Actions" Nullable="false">
122          <Annotation Term="OData.Description" String="The available actions for this resource."/>
123          <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
124        </Property>
125      </EntityType>
126
127      <ComplexType Name="JobServiceCapabilities">
128        <Annotation Term="OData.Description" String="The supported capabilities of this job service implementation."/>
129        <Annotation Term="OData.LongDescription" String="This type shall contain properties that describe the capabilities or supported features of this implementation of a job service."/>
130        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
131        <Property Name="MaxJobs" Type="Edm.Int64">
132          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
133          <Annotation Term="OData.Description" String="The maximum number of jobs supported."/>
134          <Annotation Term="OData.LongDescription" String="This property shall contain the maximum number of jobs supported by the implementation."/>
135        </Property>
136        <Property Name="MaxSteps" Type="Edm.Int64">
137          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
138          <Annotation Term="OData.Description" String="The maximum number of job steps supported."/>
139          <Annotation Term="OData.LongDescription" String="This property shall contain the maximum number of steps supported by a single job instance."/>
140        </Property>
141        <Property Name="Scheduling" Type="Edm.Boolean">
142          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
143          <Annotation Term="OData.Description" String="An indication of whether scheduling of jobs is supported."/>
144          <Annotation Term="OData.LongDescription" String="This property shall indicate whether the `Schedule` property within the job supports scheduling of jobs."/>
145        </Property>
146      </ComplexType>
147
148      <ComplexType Name="Actions">
149        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
150        <Annotation Term="OData.Description" String="The available actions for this resource."/>
151        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
152        <Property Name="Oem" Type="JobService.v1_0_0.OemActions" Nullable="false">
153          <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
154          <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this resource."/>
155        </Property>
156      </ComplexType>
157
158      <ComplexType Name="OemActions">
159        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
160        <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
161        <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this resource."/>
162      </ComplexType>
163    </Schema>
164
165    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="JobService.v1_0_1">
166      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
167      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that URI properties use the uri-reference format.  It was also created to correct the resource description."/>
168      <EntityType Name="JobService" BaseType="JobService.v1_0_0.JobService"/>
169    </Schema>
170
171    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="JobService.v1_0_2">
172      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
173      <Annotation Term="OData.Description" String="This version was created to update the description of the `Log` property.  It was also created to update descriptions that this schema defines."/>
174      <EntityType Name="JobService" BaseType="JobService.v1_0_1.JobService"/>
175    </Schema>
176
177    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="JobService.v1_0_3">
178      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
179      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
180      <EntityType Name="JobService" BaseType="JobService.v1_0_2.JobService"/>
181    </Schema>
182
183    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="JobService.v1_0_4">
184      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
185      <Annotation Term="OData.Description" String="This version was created to specify 64-bit integers in OpenAPI."/>
186      <EntityType Name="JobService" BaseType="JobService.v1_0_3.JobService"/>
187    </Schema>
188
189    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="JobService.v1_0_5">
190      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
191      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
192      <EntityType Name="JobService" BaseType="JobService.v1_0_4.JobService"/>
193    </Schema>
194
195    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="JobService.v1_0_6">
196      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
197      <Annotation Term="OData.Description" String="This version was created to force the regeneration of OpenAPI schemas to properly express nullable properties with external references.  It was also created to correct various typographical errors."/>
198      <EntityType Name="JobService" BaseType="JobService.v1_0_5.JobService"/>
199    </Schema>
200
201    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="JobService.v1_1_0">
202      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
203      <Annotation Term="Redfish.Release" String="2025.2"/>
204
205      <EntityType Name="JobService" BaseType="JobService.v1_0_6.JobService">
206        <Property Name="ValidationPolicy" Type="JobService.v1_1_0.ValidationPolicy">
207          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
208          <Annotation Term="OData.Description" String="The policy for how document-based jobs are validated."/>
209          <Annotation Term="OData.LongDescription" String="This property shall contain policy for how document-based jobs are validated."/>
210        </Property>
211        <NavigationProperty Name="JobDocuments" Type="JobDocumentCollection.JobDocumentCollection" ContainsTarget="true" Nullable="false">
212          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
213          <Annotation Term="OData.Description" String="The links to the job document collection."/>
214          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource collection of type `JobDocumentCollection`.  This property shall only be present if the service supports document-based jobs."/>
215          <Annotation Term="OData.AutoExpandReferences"/>
216        </NavigationProperty>
217        <NavigationProperty Name="JobExecutors" Type="JobExecutorCollection.JobExecutorCollection" ContainsTarget="true" Nullable="false">
218          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
219          <Annotation Term="OData.Description" String="The links to the job executor collection."/>
220          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource collection of type `JobExecutorCollection`.  This property shall only be present if the service supports document-based jobs."/>
221          <Annotation Term="OData.AutoExpandReferences"/>
222        </NavigationProperty>
223      </EntityType>
224
225      <ComplexType Name="JobServiceCapabilities" BaseType="JobService.v1_0_0.JobServiceCapabilities">
226        <Property Name="UserSpecifiedJobs" Type="Edm.Boolean">
227          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
228          <Annotation Term="OData.Description" String="An indication of whether user-specified jobs are supported."/>
229          <Annotation Term="OData.LongDescription" String="This property shall indicate whether user-specified jobs are supported.  User-specified jobs are jobs that are created by performing an HTTP `POST` operation on the `JobCollection` resource referenced by the `Jobs` property."/>
230        </Property>
231        <Property Name="DocumentBasedJobs" Type="Edm.Boolean">
232          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
233          <Annotation Term="OData.Description" String="An indication of whether document-based jobs are supported."/>
234          <Annotation Term="OData.LongDescription" String="This property shall indicate whether document-based jobs are supported.  Document-based jobs are jobs that are created by performing the `SubmitJob` action on a `JobDocument` resource in the `JobDocumentCollection` resource referenced by the `JobDocuments` property."/>
235        </Property>
236      </ComplexType>
237
238      <EnumType Name="ValidationPolicy">
239        <Member Name="Automatic">
240          <Annotation Term="OData.Description" String="Jobs are validated automatically."/>
241          <Annotation Term="OData.LongDescription" String="This value shall indicate that jobs are validated automatically.  The `JobState` property of a new job shall contain `Validating` when created with the `SubmitJob` action from the `JobDocument` resource."/>
242        </Member>
243        <Member Name="Manual">
244          <Annotation Term="OData.Description" String="Jobs are validated manually."/>
245          <Annotation Term="OData.LongDescription" String="This value shall indicate jobs are validated manually.  The `JobState` property of a new job shall contain `New` when created with the `SubmitJob` action from the `JobDocument` resource and wait for a user to perform the `Validate` action in the `Job` resource."/>
246        </Member>
247        <Member Name="Bypass">
248          <Annotation Term="OData.Description" String="Jobs are not validated."/>
249          <Annotation Term="OData.LongDescription" String="This value shall indicate jobs are not validated.  The `JobState` property of a new job shall contain `Pending` when created with the `SubmitJob` action from the `JobDocument` resource."/>
250        </Member>
251      </EnumType>
252    </Schema>
253
254  </edmx:DataServices>
255</edmx:Edmx>
256