xref: /openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/JobService.v1_1_0.json (revision c6d7a45d427f9a6d9e761afcf305761dca60d7cf)
1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/JobService.v1_1_0.json",
3    "$ref": "#/definitions/JobService",
4    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5    "copyright": "Copyright 2014-2025 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6    "definitions": {
7        "Actions": {
8            "additionalProperties": false,
9            "description": "The available actions for this resource.",
10            "longDescription": "This type shall contain the available actions for this resource.",
11            "patternProperties": {
12                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13                    "description": "This property shall specify a valid odata or Redfish property.",
14                    "type": [
15                        "array",
16                        "boolean",
17                        "integer",
18                        "number",
19                        "null",
20                        "object",
21                        "string"
22                    ]
23                }
24            },
25            "properties": {
26                "#JobService.CancelAllJobs": {
27                    "$ref": "#/definitions/CancelAllJobs"
28                },
29                "Oem": {
30                    "$ref": "#/definitions/OemActions",
31                    "description": "The available OEM-specific actions for this resource.",
32                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
33                }
34            },
35            "type": "object"
36        },
37        "CancelAllJobs": {
38            "additionalProperties": false,
39            "description": "Cancels all jobs.",
40            "longDescription": "This action shall cancel all jobs.  The service shall transition all jobs to the `Cancelled` state.",
41            "parameters": {},
42            "patternProperties": {
43                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
44                    "description": "This property shall specify a valid odata or Redfish property.",
45                    "type": [
46                        "array",
47                        "boolean",
48                        "integer",
49                        "number",
50                        "null",
51                        "object",
52                        "string"
53                    ]
54                }
55            },
56            "properties": {
57                "target": {
58                    "description": "Link to invoke action",
59                    "format": "uri-reference",
60                    "type": "string"
61                },
62                "title": {
63                    "description": "Friendly action name",
64                    "type": "string"
65                }
66            },
67            "type": "object",
68            "versionAdded": "v1_1_0"
69        },
70        "JobService": {
71            "additionalProperties": false,
72            "description": "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.",
73            "longDescription": "This resource shall represent a job service for a Redfish implementation.",
74            "patternProperties": {
75                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
76                    "description": "This property shall specify a valid odata or Redfish property.",
77                    "type": [
78                        "array",
79                        "boolean",
80                        "integer",
81                        "number",
82                        "null",
83                        "object",
84                        "string"
85                    ]
86                }
87            },
88            "properties": {
89                "@odata.context": {
90                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
91                },
92                "@odata.etag": {
93                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
94                },
95                "@odata.id": {
96                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
97                },
98                "@odata.type": {
99                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
100                },
101                "Actions": {
102                    "$ref": "#/definitions/Actions",
103                    "description": "The available actions for this resource.",
104                    "longDescription": "This property shall contain the available actions for this resource."
105                },
106                "DateTime": {
107                    "description": "The current date and time setting for the job service.",
108                    "format": "date-time",
109                    "longDescription": "This property shall contain the current date and time setting for the job service.",
110                    "readonly": true,
111                    "type": [
112                        "string",
113                        "null"
114                    ]
115                },
116                "Description": {
117                    "anyOf": [
118                        {
119                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
120                        },
121                        {
122                            "type": "null"
123                        }
124                    ],
125                    "readonly": true
126                },
127                "Id": {
128                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
129                    "readonly": true
130                },
131                "JobDocuments": {
132                    "$ref": "http://redfish.dmtf.org/schemas/v1/JobDocumentCollection.json#/definitions/JobDocumentCollection",
133                    "description": "The links to the job document collection.",
134                    "longDescription": "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.",
135                    "readonly": true,
136                    "versionAdded": "v1_1_0"
137                },
138                "JobExecutors": {
139                    "$ref": "http://redfish.dmtf.org/schemas/v1/JobExecutorCollection.json#/definitions/JobExecutorCollection",
140                    "description": "The links to the job executor collection.",
141                    "longDescription": "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.",
142                    "readonly": true,
143                    "versionAdded": "v1_1_0"
144                },
145                "Jobs": {
146                    "$ref": "http://redfish.dmtf.org/schemas/v1/JobCollection.json#/definitions/JobCollection",
147                    "description": "The links to the jobs collection.",
148                    "longDescription": "This property shall contain a link to a resource collection of type `JobCollection`.",
149                    "readonly": true
150                },
151                "Log": {
152                    "$ref": "http://redfish.dmtf.org/schemas/v1/LogService.json#/definitions/LogService",
153                    "description": "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.",
154                    "longDescription": "This property shall contain a link to a resource of type `LogService` that this job service uses.",
155                    "readonly": true
156                },
157                "Name": {
158                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
159                    "readonly": true
160                },
161                "Oem": {
162                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
163                    "description": "The OEM extension property.",
164                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
165                },
166                "ServiceCapabilities": {
167                    "$ref": "#/definitions/JobServiceCapabilities",
168                    "description": "The supported capabilities of this job service implementation.",
169                    "longDescription": "This property shall contain properties that describe the capabilities or supported features of this implementation of a job service."
170                },
171                "ServiceEnabled": {
172                    "description": "An indication of whether this service is enabled.",
173                    "longDescription": "This property shall indicate whether this service is enabled.",
174                    "readonly": false,
175                    "type": [
176                        "boolean",
177                        "null"
178                    ]
179                },
180                "Status": {
181                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
182                    "description": "The status and health of the resource and its subordinate or dependent resources.",
183                    "longDescription": "This property shall contain any status or health properties of the resource."
184                },
185                "ValidationPolicy": {
186                    "anyOf": [
187                        {
188                            "$ref": "#/definitions/ValidationPolicy"
189                        },
190                        {
191                            "type": "null"
192                        }
193                    ],
194                    "description": "The policy for how document-based jobs are validated.",
195                    "longDescription": "This property shall contain policy for how document-based jobs are validated.",
196                    "readonly": true,
197                    "versionAdded": "v1_1_0"
198                }
199            },
200            "required": [
201                "@odata.id",
202                "@odata.type",
203                "Id",
204                "Name"
205            ],
206            "type": "object"
207        },
208        "JobServiceCapabilities": {
209            "additionalProperties": false,
210            "description": "The supported capabilities of this job service implementation.",
211            "longDescription": "This type shall contain properties that describe the capabilities or supported features of this implementation of a job service.",
212            "patternProperties": {
213                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
214                    "description": "This property shall specify a valid odata or Redfish property.",
215                    "type": [
216                        "array",
217                        "boolean",
218                        "integer",
219                        "number",
220                        "null",
221                        "object",
222                        "string"
223                    ]
224                }
225            },
226            "properties": {
227                "DocumentBasedJobs": {
228                    "description": "An indication of whether document-based jobs are supported.",
229                    "longDescription": "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.",
230                    "readonly": true,
231                    "type": [
232                        "boolean",
233                        "null"
234                    ],
235                    "versionAdded": "v1_1_0"
236                },
237                "MaxJobs": {
238                    "description": "The maximum number of jobs supported.",
239                    "longDescription": "This property shall contain the maximum number of jobs supported by the implementation.",
240                    "readonly": true,
241                    "type": [
242                        "integer",
243                        "null"
244                    ]
245                },
246                "MaxSteps": {
247                    "description": "The maximum number of job steps supported.",
248                    "longDescription": "This property shall contain the maximum number of steps supported by a single job instance.",
249                    "readonly": true,
250                    "type": [
251                        "integer",
252                        "null"
253                    ]
254                },
255                "Scheduling": {
256                    "description": "An indication of whether scheduling of jobs is supported.",
257                    "longDescription": "This property shall indicate whether the `Schedule` property within the job supports scheduling of jobs.",
258                    "readonly": true,
259                    "type": [
260                        "boolean",
261                        "null"
262                    ]
263                },
264                "UserSpecifiedJobs": {
265                    "description": "An indication of whether user-specified jobs are supported.",
266                    "longDescription": "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.",
267                    "readonly": true,
268                    "type": [
269                        "boolean",
270                        "null"
271                    ],
272                    "versionAdded": "v1_1_0"
273                }
274            },
275            "type": "object"
276        },
277        "OemActions": {
278            "additionalProperties": true,
279            "description": "The available OEM-specific actions for this resource.",
280            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
281            "patternProperties": {
282                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
283                    "description": "This property shall specify a valid odata or Redfish property.",
284                    "type": [
285                        "array",
286                        "boolean",
287                        "integer",
288                        "number",
289                        "null",
290                        "object",
291                        "string"
292                    ]
293                }
294            },
295            "properties": {},
296            "type": "object"
297        },
298        "ValidationPolicy": {
299            "enum": [
300                "Automatic",
301                "Manual",
302                "Bypass"
303            ],
304            "enumDescriptions": {
305                "Automatic": "Jobs are validated automatically.",
306                "Bypass": "Jobs are not validated.",
307                "Manual": "Jobs are validated manually."
308            },
309            "enumLongDescriptions": {
310                "Automatic": "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.",
311                "Bypass": "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.",
312                "Manual": "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."
313            },
314            "type": "string"
315        }
316    },
317    "language": "en",
318    "owningEntity": "DMTF",
319    "release": "2025.2",
320    "title": "#JobService.v1_1_0.JobService"
321}