summaryrefslogtreecommitdiff
path: root/static/redfish/v1/JsonSchemas/Job/Job.json
blob: 9e5ddbf6bb6f7e250ea0833291e6c61a9589373a (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
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
{
    "$id": "http://redfish.dmtf.org/schemas/v1/Job.v1_0_3.json",
    "$ref": "#/definitions/Job",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
    "definitions": {
        "Actions": {
            "additionalProperties": false,
            "description": "The available actions for this Resource.",
            "longDescription": "This type shall contain the available actions for this Resource.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "Oem": {
                    "$ref": "#/definitions/OemActions",
                    "description": "The available OEM-specific actions for this Resource.",
                    "longDescription": "This property shall contain the available OEM-specific actions for this Resource."
                }
            },
            "type": "object"
        },
        "Job": {
            "additionalProperties": false,
            "description": "The Job schema contains information about a job that a a Redfish Job Service schedules or executes.  Clients create jobs to describe a series of operations that occur at periodic intervals.",
            "longDescription": "This Resource shall contain a job in a Redfish implementation.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "@odata.context": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
                },
                "@odata.etag": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
                },
                "@odata.id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
                },
                "@odata.type": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
                },
                "Actions": {
                    "$ref": "#/definitions/Actions",
                    "description": "The available actions for this Resource.",
                    "longDescription": "This property shall contain the available actions for this Resource."
                },
                "CreatedBy": {
                    "description": "The person or program that created this job entry.",
                    "longDescription": "This property shall contain the user name, software program name, or other identifier indicating the creator of this job.",
                    "readonly": true,
                    "type": "string"
                },
                "Description": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "readonly": true
                },
                "EndTime": {
                    "description": "The date and time when the job was completed.",
                    "format": "date-time",
                    "longDescription": "This property shall indicate the date and time when the job was completed.  This property shall not appear if the job is running or was not completed.  This property shall appear only if the JobState is Completed, Cancelled, or Exception.",
                    "readonly": true,
                    "type": "string"
                },
                "HidePayload": {
                    "description": "An indication of whether the contents of the payload should be hidden from view after the job has been created.  If `true`, responses do not return the payload.  If `false`, responses return the payload.  If this property is not present when the job is created, the default is `false`.",
                    "longDescription": "This property shall indicate whether the contents of the payload should be hidden from view after the job has been created.  If `true`, responses shall not return the Payload property.  If `false`, responses shall return the Payload property.  If this property is not present when the job is created, the default is `false`.",
                    "readonly": true,
                    "type": "boolean"
                },
                "Id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                    "readonly": true
                },
                "JobState": {
                    "$ref": "#/definitions/JobState",
                    "description": "The state of the job.",
                    "longDescription": "This property shall indicate the state of the job.",
                    "readonly": false
                },
                "JobStatus": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Health",
                    "description": "The status of the job.",
                    "longDescription": "This property shall indicate the health status of the job.",
                    "readonly": true
                },
                "MaxExecutionTime": {
                    "description": "The maximum amount of time the job is allowed to execute.",
                    "longDescription": "The value shall be an ISO 8601 conformant duration describing the maximum duration the job is allowed to execute before being stopped by the service.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "Messages": {
                    "description": "An array of messages associated with the job.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Message.json#/definitions/Message"
                    },
                    "longDescription": "This property shall contain an array of messages associated with the job.",
                    "type": "array"
                },
                "Name": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
                    "readonly": true
                },
                "Oem": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
                    "description": "The OEM extension property.",
                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
                },
                "Payload": {
                    "$ref": "#/definitions/Payload",
                    "description": "The HTTP and JSON payload details for this job.",
                    "longDescription": "This property shall contain the HTTP and JSON payload information for executing this job.  This property shall not be included in the response if the HidePayload property is `true`."
                },
                "PercentComplete": {
                    "description": "The completion percentage of this job.",
                    "longDescription": "This property shall indicate the completion progress of the job, reported in percent of completion.  If the job has not been started, the value shall be zero.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "units": "%"
                },
                "Schedule": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Schedule.json#/definitions/Schedule",
                    "description": "The schedule settings for this job.",
                    "longDescription": "This object shall contain the scheduling details for this job and the recurrence frequency for future instances of this job."
                },
                "StartTime": {
                    "description": "The date and time when the job was started or is scheduled to start.",
                    "format": "date-time",
                    "longDescription": "This property shall indicate the date and time when the job was last started or is scheduled to start.",
                    "readonly": true,
                    "type": "string"
                },
                "StepOrder": {
                    "description": "The serialized execution order of the job Steps.",
                    "items": {
                        "type": "string"
                    },
                    "longDescription": "This property shall contain an array of IDs for the job steps in the order that they shall be executed.  Each step shall be completed prior to the execution of the next step in array order.  An incomplete list of steps shall be considered an invalid configuration.  If this property is not present or contains an empty array it shall indicate that the step execution order is omitted and may occur in parallel or in series as determined by the service.",
                    "readonly": true,
                    "type": "array"
                },
                "Steps": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/JobCollection.json#/definitions/JobCollection",
                    "description": "The link to a collection of steps for this job.",
                    "longDescription": "This property shall contain the link to a Resource Collection of type JobCollection.",
                    "readonly": true
                }
            },
            "required": [
                "@odata.id",
                "@odata.type",
                "Id",
                "Name"
            ],
            "type": "object"
        },
        "JobState": {
            "enum": [
                "New",
                "Starting",
                "Running",
                "Suspended",
                "Interrupted",
                "Pending",
                "Stopping",
                "Completed",
                "Cancelled",
                "Exception",
                "Service",
                "UserIntervention",
                "Continue"
            ],
            "enumDescriptions": {
                "Cancelled": "Job was cancelled.",
                "Completed": "Job was completed.",
                "Continue": "Job is to resume operation.",
                "Exception": "Job has stopped due to an exception condition.",
                "Interrupted": "Job has been interrupted.",
                "New": "A new job.",
                "Pending": "Job is pending and has not started.",
                "Running": "Job is running normally.",
                "Service": "Job is running as a service.",
                "Starting": "Job is starting.",
                "Stopping": "Job is in the process of stopping.",
                "Suspended": "Job has been suspended.",
                "UserIntervention": "Job is waiting for user intervention."
            },
            "enumLongDescriptions": {
                "Cancelled": "This value shall represent that the operation completed because the job was cancelled by an operator.",
                "Completed": "This value shall represent that the operation completed successfully or with warnings.",
                "Continue": "This value shall represent that the operation has been resumed from a paused condition and should return to a Running state.",
                "Exception": "This value shall represent that the operation completed with errors.",
                "Interrupted": "This value shall represent that the operation has been interrupted but is expected to restart and is therefore not complete.",
                "New": "This value shall represent that this job is newly created but the operation has not yet started.",
                "Pending": "This value shall represent that the operation is pending some condition and has not yet begun to execute.",
                "Running": "This value shall represent that the operation is executing.",
                "Service": "This value shall represent that the operation is now running as a service and expected to continue operation until stopped or killed.",
                "Starting": "This value shall represent that the operation is starting.",
                "Stopping": "This value shall represent that the operation is stopping but is not yet complete.",
                "Suspended": "This value shall represent that the operation has been suspended but is expected to restart and is therefore not complete.",
                "UserIntervention": "This value shall represent that the operation is waiting for a user to intervene and must be manually continued, stopped, or cancelled."
            },
            "type": "string"
        },
        "OemActions": {
            "additionalProperties": true,
            "description": "The available OEM-specific actions for this Resource.",
            "longDescription": "This type shall contain the available OEM-specific actions for this Resource.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {},
            "type": "object"
        },
        "Payload": {
            "additionalProperties": false,
            "description": "The HTTP and JSON payload details for this job.",
            "longDescription": "This object shall contain information detailing the HTTP and JSON payload information for executing this job.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "HttpHeaders": {
                    "description": "An array of HTTP headers in this job.",
                    "items": {
                        "type": "string"
                    },
                    "longDescription": "This property shall contain an array of HTTP headers in this job.",
                    "readonly": true,
                    "type": "array"
                },
                "HttpOperation": {
                    "description": "The HTTP operation that executes this job.",
                    "longDescription": "This property shall contain the HTTP operation that executes this job.",
                    "readonly": true,
                    "type": "string"
                },
                "JsonBody": {
                    "description": "The JSON payload to use in the execution of this job.",
                    "longDescription": "This property shall contain JSON-formatted payload for this job.",
                    "readonly": true,
                    "type": "string"
                },
                "TargetUri": {
                    "description": "The link to the target for this job.",
                    "format": "uri-reference",
                    "longDescription": "This property shall contain link to a target location for an HTTP operation.",
                    "readonly": true,
                    "type": "string"
                }
            },
            "type": "object"
        }
    },
    "owningEntity": "DMTF",
    "release": "2018.2",
    "title": "#Job.v1_0_3.Job"
}