mirror of https://github.com/hashicorp/consul
72 lines
2.1 KiB
Plaintext
72 lines
2.1 KiB
Plaintext
|
---
|
||
|
layout: docs
|
||
|
page_title: Consul-Terraform-Sync Tasks API
|
||
|
description: >-
|
||
|
Consul-Terraform-Sync Tasks API
|
||
|
---
|
||
|
# Tasks
|
||
|
|
||
|
The `/tasks` endpoints modify the tasks that Consul-Terraform-Sync is responsible for running.
|
||
|
|
||
|
## Update Task
|
||
|
|
||
|
This endpoint allows patch updates to specifically supported fields for existing tasks. Currently only supports updating a task's [`enabled` value](/docs/nia/configuration#enabled-4).
|
||
|
|
||
|
| Method | Path | Produces |
|
||
|
| ------ | ------------------- | ------------------ |
|
||
|
| `PATCH` | `/tasks/:task_name` | `application/json` |
|
||
|
|
||
|
#### Request Parameters
|
||
|
|
||
|
* `run` - (string) Values can be only be "inspect" and "now".
|
||
|
* "inspect": Does not update the task but returns information on if/how resources would be changed for the proposed task update.
|
||
|
* "now": Updates the task accordingly and immediately runs the task, rather than allowing the task to run at the natural daemon cadence
|
||
|
|
||
|
#### Response Fields
|
||
|
|
||
|
* `inspect` - Information on how resources would be changed given a proposed task update, similar to [inspect-mode](/docs/nia/cli/cli-overview#inspect-mode). This is only returned when passed the `run=inspect` request parameter
|
||
|
* `changes_present` - (bool) Whether or not changes were detected for running the proposed task update
|
||
|
* `plan` - (string) The Terraform plan generated for the proposed task update . Note: a non-empty string does not necessarily indicate changes were detected.
|
||
|
|
||
|
|
||
|
#### Example: Disable a task
|
||
|
|
||
|
Request:
|
||
|
```shell-session
|
||
|
$ curl --header "Content-Type: application/json" \
|
||
|
--request PATCH \
|
||
|
--data '{"enabled":false}' \
|
||
|
localhost:8558/v1/tasks/task_a
|
||
|
```
|
||
|
|
||
|
Response:
|
||
|
```json
|
||
|
{}
|
||
|
```
|
||
|
|
||
|
#### Example: Inspect enabling a task
|
||
|
|
||
|
Request:
|
||
|
```shell-session
|
||
|
$ curl --header "Content-Type: application/json" \
|
||
|
--request PATCH \
|
||
|
--data '{"enabled":true}' \
|
||
|
localhost:8558/v1/tasks/task_a?run=inspect
|
||
|
```
|
||
|
|
||
|
Response if no changes present:
|
||
|
```json
|
||
|
{
|
||
|
"changes_present": false,
|
||
|
"plan": "No changes. Infrastructure is up-to-date. <truncated>"
|
||
|
}
|
||
|
```
|
||
|
|
||
|
Response if changes present:
|
||
|
```json
|
||
|
{
|
||
|
"changes_present": true,
|
||
|
"plan": "<terraform plan truncated> Plan: 3 to add, 0 to change, 0 to destroy."
|
||
|
}
|
||
|
```
|