The index provides the entry point into Spring Cloud Data Flow’s REST API.
A GET
request is used to access the index
HTTP/1.1 200 OK Content-Type: application/hal+json;charset=UTF-8 Content-Length: 3627 { "_links" : { "dashboard" : { "href" : "http://localhost:8080/dashboard" }, "streams/definitions" : { "href" : "http://localhost:8080/streams/definitions" }, "streams/definitions/definition" : { "href" : "http://localhost:8080/streams/definitions/{name}", "templated" : true }, "streams/deployments" : { "href" : "http://localhost:8080/streams/deployments" }, "streams/deployments/deployment" : { "href" : "http://localhost:8080/streams/deployments/{name}", "templated" : true }, "runtime/apps" : { "href" : "http://localhost:8080/runtime/apps" }, "runtime/apps/app" : { "href" : "http://localhost:8080/runtime/apps/{appId}", "templated" : true }, "runtime/apps/instances" : { "href" : "http://localhost:8080/runtime/apps/{appId}/instances", "templated" : true }, "tasks/definitions" : { "href" : "http://localhost:8080/tasks/definitions" }, "tasks/definitions/definition" : { "href" : "http://localhost:8080/tasks/definitions/{name}", "templated" : true }, "tasks/executions" : { "href" : "http://localhost:8080/tasks/executions" }, "tasks/executions/name" : { "href" : "http://localhost:8080/tasks/executions{?name}", "templated" : true }, "tasks/executions/execution" : { "href" : "http://localhost:8080/tasks/executions/{id}", "templated" : true }, "jobs/executions" : { "href" : "http://localhost:8080/jobs/executions" }, "jobs/executions/name" : { "href" : "http://localhost:8080/jobs/executions{?name}", "templated" : true }, "jobs/executions/execution" : { "href" : "http://localhost:8080/jobs/executions/{id}", "templated" : true }, "jobs/executions/execution/steps" : { "href" : "http://localhost:8080/jobs/executions/{jobExecutionId}/steps", "templated" : true }, "jobs/executions/execution/steps/step" : { "href" : "http://localhost:8080/jobs/executions/{jobExecutionId}/steps/{stepId}", "templated" : true }, "jobs/executions/execution/steps/step/progress" : { "href" : "http://localhost:8080/jobs/executions/{jobExecutionId}/steps/{stepId}/progress", "templated" : true }, "jobs/instances/name" : { "href" : "http://localhost:8080/jobs/instances{?name}", "templated" : true }, "jobs/instances/instance" : { "href" : "http://localhost:8080/jobs/instances/{id}", "templated" : true }, "counters" : { "href" : "http://localhost:8080/metrics/counters" }, "counters/counter" : { "href" : "http://localhost:8080/metrics/counters/{name}", "templated" : true }, "field-value-counters" : { "href" : "http://localhost:8080/metrics/field-value-counters" }, "field-value-counters/counter" : { "href" : "http://localhost:8080/metrics/field-value-counters/{name}", "templated" : true }, "aggregate-counters" : { "href" : "http://localhost:8080/metrics/aggregate-counters" }, "aggregate-counters/counter" : { "href" : "http://localhost:8080/metrics/aggregate-counters/{name}", "templated" : true }, "apps" : { "href" : "http://localhost:8080/apps" }, "completions/stream" : { "href" : "http://localhost:8080/completions/stream{?start,detailLevel}", "templated" : true }, "completions/task" : { "href" : "http://localhost:8080/completions/task{?start,detailLevel}", "templated" : true } } }
curl -X POST -d "name=ticktock&definition=time | log" localhost:9393/streams/definitions?deploy=false
curl -X POST http://localhost:9393/streams/deployments/ticktock
HTTP/1.1 200 OK Content-Type: application/hal+json;charset=UTF-8 Content-Length: 3627 { "_links" : { "dashboard" : { "href" : "http://localhost:8080/dashboard" }, "streams/definitions" : { "href" : "http://localhost:8080/streams/definitions" }, "streams/definitions/definition" : { "href" : "http://localhost:8080/streams/definitions/{name}", "templated" : true }, "streams/deployments" : { "href" : "http://localhost:8080/streams/deployments" }, "streams/deployments/deployment" : { "href" : "http://localhost:8080/streams/deployments/{name}", "templated" : true }, "runtime/apps" : { "href" : "http://localhost:8080/runtime/apps" }, "runtime/apps/app" : { "href" : "http://localhost:8080/runtime/apps/{appId}", "templated" : true }, "runtime/apps/instances" : { "href" : "http://localhost:8080/runtime/apps/{appId}/instances", "templated" : true }, "tasks/definitions" : { "href" : "http://localhost:8080/tasks/definitions" }, "tasks/definitions/definition" : { "href" : "http://localhost:8080/tasks/definitions/{name}", "templated" : true }, "tasks/executions" : { "href" : "http://localhost:8080/tasks/executions" }, "tasks/executions/name" : { "href" : "http://localhost:8080/tasks/executions{?name}", "templated" : true }, "tasks/executions/execution" : { "href" : "http://localhost:8080/tasks/executions/{id}", "templated" : true }, "jobs/executions" : { "href" : "http://localhost:8080/jobs/executions" }, "jobs/executions/name" : { "href" : "http://localhost:8080/jobs/executions{?name}", "templated" : true }, "jobs/executions/execution" : { "href" : "http://localhost:8080/jobs/executions/{id}", "templated" : true }, "jobs/executions/execution/steps" : { "href" : "http://localhost:8080/jobs/executions/{jobExecutionId}/steps", "templated" : true }, "jobs/executions/execution/steps/step" : { "href" : "http://localhost:8080/jobs/executions/{jobExecutionId}/steps/{stepId}", "templated" : true }, "jobs/executions/execution/steps/step/progress" : { "href" : "http://localhost:8080/jobs/executions/{jobExecutionId}/steps/{stepId}/progress", "templated" : true }, "jobs/instances/name" : { "href" : "http://localhost:8080/jobs/instances{?name}", "templated" : true }, "jobs/instances/instance" : { "href" : "http://localhost:8080/jobs/instances/{id}", "templated" : true }, "counters" : { "href" : "http://localhost:8080/metrics/counters" }, "counters/counter" : { "href" : "http://localhost:8080/metrics/counters/{name}", "templated" : true }, "field-value-counters" : { "href" : "http://localhost:8080/metrics/field-value-counters" }, "field-value-counters/counter" : { "href" : "http://localhost:8080/metrics/field-value-counters/{name}", "templated" : true }, "aggregate-counters" : { "href" : "http://localhost:8080/metrics/aggregate-counters" }, "aggregate-counters/counter" : { "href" : "http://localhost:8080/metrics/aggregate-counters/{name}", "templated" : true }, "apps" : { "href" : "http://localhost:8080/apps" }, "completions/stream" : { "href" : "http://localhost:8080/completions/stream{?start,detailLevel}", "templated" : true }, "completions/task" : { "href" : "http://localhost:8080/completions/task{?start,detailLevel}", "templated" : true } } }
The main element of the index are the links as they allow you to traverse the API and execute the desired functionality:
Relation | Description |
---|---|
| Access the dashboard UI |
| Handle registered applications |
| Exposes the DSL completion features for Stream |
| Exposes the DSL completion features for Task |
| Provides the JobExecution resource |
| Provides details for a specific JobExecution |
| Provides the steps for a JobExecution |
| Returns the details for a specific step |
| Provides progress information for a specific step |
| Retrieve Job Executions by Job name |
| Provides the job instance resource for a specific job instance |
| Provides the Job instance resource for a specific job name |
| Provides the runtime application resource |
| Exposes the runtime status for a specific app |
| Provides the status for app instances |
| Provides the task definition resource |
| Provides details for a specific task definition |
| Returns Task executions and allows lanching of tasks |
| Returns all task executions for a given Task name |
| Provides details for a specific task execution |
| Exposes the Streams resource |
| Handle a specific Stream definition |
| Provides Stream deployment operations |
| Request (un-)deployment of an existing stream definition |
| Exposes the resource for dealing with Counters |
| Handle a specific counter |
| Provides the resource for dealing with aggregate counters |
| Handle a specific aggregate counter |
| Provides the resource for dealing with field-value-counters |
| Handle a specific field-value-counter |
A GET
request will list all applications known to Spring Cloud Data Flow.
GET /apps?type=source HTTP/1.1 Accept: application/json Host: localhost:8080
$ curl 'http://localhost:8080/apps?type=source' -i -H 'Accept: application/json'