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>