github.com/dkerwin/nomad@v0.3.3-0.20160525181927-74554135514b/website/source/docs/http/job.html.md (about) 1 --- 2 layout: "http" 3 page_title: "HTTP API: /v1/job" 4 sidebar_current: "docs-http-job-" 5 description: |- 6 The '/1/job' endpoint is used for CRUD on a single job. 7 --- 8 9 # /v1/job 10 11 The `job` endpoint is used for CRUD on a single job. By default, the agent's local 12 region is used; another region can be specified using the `?region=` query parameter. 13 14 ## GET 15 16 <dl> 17 <dt>Description</dt> 18 <dd> 19 Query a single job for its specification and status. 20 </dd> 21 22 <dt>Method</dt> 23 <dd>GET</dd> 24 25 <dt>URL</dt> 26 <dd>`/v1/job/<id>`</dd> 27 28 <dt>Parameters</dt> 29 <dd> 30 None 31 </dd> 32 33 <dt>Blocking Queries</dt> 34 <dd> 35 [Supported](/docs/http/index.html#blocking-queries) 36 </dd> 37 38 <dt>Returns</dt> 39 <dd> 40 41 ```javascript 42 { 43 "Region": "global", 44 "ID": "binstore-storagelocker", 45 "Name": "binstore-storagelocker", 46 "Type": "service", 47 "Priority": 50, 48 "AllAtOnce": false, 49 "Datacenters": [ 50 "us2", 51 "eu1" 52 ], 53 "Constraints": [ 54 { 55 "LTarget": "${attr.kernel.os}", 56 "RTarget": "windows", 57 "Operand": "=" 58 } 59 ], 60 "TaskGroups": [ 61 { 62 "Name": "binsl", 63 "Count": 5, 64 "Constraints": [ 65 { 66 "LTarget": "${attr.kernel.os}", 67 "RTarget": "linux", 68 "Operand": "=" 69 } 70 ], 71 "Tasks": [ 72 { 73 "Name": "binstore", 74 "Driver": "docker", 75 "Config": { 76 "image": "hashicorp/binstore" 77 }, 78 "Constraints": null, 79 "Resources": { 80 "CPU": 500, 81 "MemoryMB": 0, 82 "DiskMB": 0, 83 "IOPS": 0, 84 "Networks": [ 85 { 86 "Device": "", 87 "CIDR": "", 88 "IP": "", 89 "MBits": 100, 90 "ReservedPorts": null, 91 "DynamicPorts": null 92 } 93 ] 94 }, 95 "Meta": null 96 }, 97 { 98 "Name": "storagelocker", 99 "Driver": "java", 100 "Config": { 101 "image": "hashicorp/storagelocker" 102 }, 103 "Constraints": [ 104 { 105 "LTarget": "${attr.kernel.arch}", 106 "RTarget": "amd64", 107 "Operand": "=" 108 } 109 ], 110 "Resources": { 111 "CPU": 500, 112 "MemoryMB": 0, 113 "DiskMB": 0, 114 "IOPS": 0, 115 "Networks": null 116 }, 117 "Meta": null 118 } 119 ], 120 "Meta": { 121 "elb_checks": "3", 122 "elb_interval": "10", 123 "elb_mode": "tcp" 124 } 125 } 126 ], 127 "Update": { 128 "Stagger": 0, 129 "MaxParallel": 0 130 }, 131 "Meta": { 132 "foo": "bar" 133 }, 134 "Status": "", 135 "StatusDescription": "", 136 "CreateIndex": 14, 137 "ModifyIndex": 14 138 } 139 ``` 140 141 </dd> 142 </dl> 143 144 <dl> 145 <dt>Description</dt> 146 <dd> 147 Query the allocations belonging to a single job. 148 </dd> 149 150 <dt>Method</dt> 151 <dd>GET</dd> 152 153 <dt>URL</dt> 154 <dd>`/v1/job/<id>/allocations`</dd> 155 156 <dt>Parameters</dt> 157 <dd> 158 None 159 </dd> 160 161 <dt>Blocking Queries</dt> 162 <dd> 163 [Supported](/docs/http/index.html#blocking-queries) 164 </dd> 165 166 <dt>Returns</dt> 167 <dd> 168 169 ```javascript 170 [ 171 { 172 "ID": "3575ba9d-7a12-0c96-7b28-add168c67984", 173 "EvalID": "151accaa-1ac6-90fe-d427-313e70ccbb88", 174 "Name": "binstore-storagelocker.binsl[0]", 175 "NodeID": "a703c3ca-5ff8-11e5-9213-970ee8879d1b", 176 "JobID": "binstore-storagelocker", 177 "TaskGroup": "binsl", 178 "DesiredStatus": "run", 179 "DesiredDescription": "", 180 "ClientStatus": "running", 181 "ClientDescription": "", 182 "CreateIndex": 16, 183 "ModifyIndex": 16 184 }, 185 ... 186 ] 187 ``` 188 189 </dd> 190 </dl> 191 192 <dl> 193 <dt>Description</dt> 194 <dd> 195 Query the evaluations belonging to a single job. 196 </dd> 197 198 <dt>Method</dt> 199 <dd>GET</dd> 200 201 <dt>URL</dt> 202 <dd>`/v1/job/<id>/evaluations`</dd> 203 204 <dt>Parameters</dt> 205 <dd> 206 None 207 </dd> 208 209 <dt>Blocking Queries</dt> 210 <dd> 211 [Supported](/docs/http/index.html#blocking-queries) 212 </dd> 213 214 <dt>Returns</dt> 215 <dd> 216 217 ```javascript 218 [ 219 { 220 "ID": "151accaa-1ac6-90fe-d427-313e70ccbb88", 221 "Priority": 50, 222 "Type": "service", 223 "TriggeredBy": "job-register", 224 "JobID": "binstore-storagelocker", 225 "JobModifyIndex": 14, 226 "NodeID": "", 227 "NodeModifyIndex": 0, 228 "Status": "complete", 229 "StatusDescription": "", 230 "Wait": 0, 231 "NextEval": "", 232 "PreviousEval": "", 233 "CreateIndex": 15, 234 "ModifyIndex": 17 235 }, 236 ... 237 ] 238 ``` 239 240 </dd> 241 </dl> 242 243 ## PUT / POST 244 245 <dl> 246 <dt>Description</dt> 247 <dd> 248 Registers a new job or updates an existing job 249 </dd> 250 251 <dt>Method</dt> 252 <dd>PUT or POST</dd> 253 254 <dt>URL</dt> 255 <dd>`/v1/job/<ID>`</dd> 256 257 <dt>Parameters</dt> 258 <dd> 259 <ul> 260 <li> 261 <span class="param">Job</span> 262 <span class="param-flags">required</span> 263 The JSON definition of the job. The general structure is given 264 by the [job specification](/docs/jobspec/index.html), and matches 265 the return response of GET. 266 </li> 267 </ul> 268 </dd> 269 270 <dt>Returns</dt> 271 <dd> 272 273 ```javascript 274 { 275 "EvalID": "d092fdc0-e1fd-2536-67d8-43af8ca798ac", 276 "EvalCreateIndex": 35, 277 "JobModifyIndex": 34, 278 } 279 ``` 280 281 </dd> 282 </dl> 283 284 <dl> 285 <dt>Description</dt> 286 <dd> 287 Creates a new evaluation for the given job. This can be used to force 288 run the scheduling logic if necessary. 289 </dd> 290 291 <dt>Method</dt> 292 <dd>PUT or POST</dd> 293 294 <dt>URL</dt> 295 <dd>`/v1/job/<ID>/evaluate`</dd> 296 297 <dt>Parameters</dt> 298 <dd> 299 None 300 </dd> 301 302 <dt>Returns</dt> 303 <dd> 304 305 ```javascript 306 { 307 "EvalID": "d092fdc0-e1fd-2536-67d8-43af8ca798ac", 308 "EvalCreateIndex": 35, 309 "JobModifyIndex": 34, 310 } 311 ``` 312 313 </dd> 314 </dl> 315 316 <dl> 317 <dt>Description</dt> 318 <dd> 319 Forces a new instance of the periodic job. A new instance will be created 320 even if it violates the job's 321 [`prohibit_overlap`](/docs/jobspec/index.html#prohibit_overlap) settings. As 322 such, this should be only used to immediately run a periodic job. 323 </dd> 324 325 <dt>Method</dt> 326 <dd>PUT or POST</dd> 327 328 <dt>URL</dt> 329 <dd>`/v1/job/<ID>/periodic/force`</dd> 330 331 <dt>Parameters</dt> 332 <dd> 333 None 334 </dd> 335 336 <dt>Returns</dt> 337 <dd> 338 339 ```javascript 340 { 341 "EvalCreateIndex": 7, 342 "EvalID": "57983ddd-7fcf-3e3a-fd24-f699ccfb36f4" 343 } 344 ``` 345 346 </dd> 347 </dl> 348 349 ## DELETE 350 351 <dl> 352 <dt>Description</dt> 353 <dd> 354 Deregisters a job, and stops all allocations part of it. 355 </dd> 356 357 <dt>Method</dt> 358 <dd>DELETE</dd> 359 360 <dt>URL</dt> 361 <dd>`/v1/job/<ID>`</dd> 362 363 <dt>Parameters</dt> 364 <dd> 365 None 366 </dd> 367 368 <dt>Returns</dt> 369 <dd> 370 371 ```javascript 372 { 373 "EvalID": "d092fdc0-e1fd-2536-67d8-43af8ca798ac", 374 "EvalCreateIndex": 35, 375 "JobModifyIndex": 34, 376 } 377 ``` 378 379 </dd> 380 </dl>