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