Nomad
Scaling Policies HTTP API
The /scaling/policies and /scaling/policy/ endpoints are used to list and view scaling policies.
List Scaling Policies
This endpoint returns the scaling policies from all jobs.
| Method | Path | Produces | 
|---|---|---|
| GET | /v1/scaling/policies | application/json | 
The table below shows this endpoint's support for blocking queries, consistency modes and required ACLs.
| Blocking Queries | Consistency Modes | ACL Required | 
|---|---|---|
| YES | all | namespace:list-scaling-policies | 
Parameters
- job- (string: "")- Specifies the job ID to filter policies by.
- type- (string: "")- Specifies the type of scaling policy to filter by. In the open source version of Nomad,- horizontalis the only supported value. Within Nomad Enterprise,- vertical_memand- vertical_cpuare supported along with- vertical. The latter returns policies matching both- vertical_memand- vertical_cpu.
Sample Request
$ curl \
    https://localhost:4646/v1/scaling/policies
$ curl \
    https://localhost:4646/v1/scaling/policies?job=example
$ curl \
    https://localhost:4646/v1/scaling/policies?type=vertical
Sample Response
[
  {
    "ID": "b2c64295-4315-2fdc-6158-a27156808729",
    "Enabled": true,
    "Type": "vertical_cpu",
    "Target": {
      "Namespace": "default",
      "Job": "example",
      "Group": "cache",
      "Task": "redis"
    },
    "CreateIndex": 1340,
    "ModifyIndex": 1340
  },
  {
    "ID": "c355d0ec-7aa1-2604-449d-4ec79c813d2c",
    "Enabled": true,
    "Type": "vertical_mem",
    "Target": {
      "Job": "example",
      "Group": "cache",
      "Task": "redis",
      "Namespace": "default"
    },
    "CreateIndex": 1340,
    "ModifyIndex": 1340
  },
  {
    "ID": "31a53813-24df-b2ad-77dc-1b4bad4e7dca",
    "Enabled": true,
    "Type": "horizontal",
    "Target": {
      "Job": "example",
      "Group": "cache",
      "Namespace": "default"
    },
    "CreateIndex": 1358,
    "ModifyIndex": 1358
  }
]
Read Scaling Policy
This endpoint reads a specific scaling policy.
| Method | Path | Produces | 
|---|---|---|
| GET | /v1/scaling/policy/:policy_id | application/json | 
The table below shows this endpoint's support for blocking queries, consistency modes and required ACLs.
| Blocking Queries | Consistency Modes | ACL Required | 
|---|---|---|
| YES | all | namespace:read-scaling-policy | 
Parameters
- :policy_id- (string: <required>)- Specifies the ID of the scaling policy (as returned by the scaling policy list endpoint). This is specified as part of the path.
Sample Request
$ curl \
    https://localhost:4646/v1/scaling/policy/5e9f9ef2-5223-6d35-bac1-be0f3cb974ad
Sample Response
{
  "CreateIndex": 10,
  "Enabled": true,
  "ID": "5e9f9ef2-5223-6d35-bac1-be0f3cb974ad",
  "Type": "horizontal",
  "Max": 10,
  "Min": 0,
  "ModifyIndex": 10,
  "Policy": {
    "engage": true,
    "foo": "bar",
    "howdy": "doody",
    "value": 6.0
  },
  "Target": {
    "Group": "cache",
    "Job": "example",
    "Namespace": "default"
  }
}