blob: 00b85b171d8eb3743a1ca8e680e23b66ff99a738 [file] [log] [blame]
openapi: 3.0.1
info:
title: Flink JobManager REST API
contact:
email: user@flink.apache.org
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
version: v1/2.1-SNAPSHOT
paths:
/cluster:
delete:
description: Shuts down the cluster
operationId: shutdownCluster
responses:
"200":
description: The request was successful.
/config:
get:
description: Returns the configuration of the WebUI.
operationId: getDashboardConfiguration
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/DashboardConfiguration'
/datasets:
get:
description: Returns all cluster data sets.
operationId: getClusterDataSetList
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/ClusterDataSetListResponseBody'
/datasets/delete/{triggerid}:
get:
description: Returns the status for the delete operation of a cluster data set.
operationId: getClusterDataSetDeleteStatus
parameters:
- name: triggerid
in: path
description: 32-character hexadecimal string that identifies an asynchronous
operation trigger ID. The ID was returned then the operation was triggered.
required: true
schema:
$ref: '#/components/schemas/TriggerId'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/AsynchronousOperationResult'
/datasets/{datasetid}:
delete:
description: Triggers the deletion of a cluster data set. This async operation
would return a 'triggerid' for further query identifier.
operationId: deleteClusterDataSet
parameters:
- name: datasetid
in: path
description: 32-character hexadecimal string value that identifies a cluster
data set.
required: true
schema:
$ref: '#/components/schemas/IntermediateDataSetID'
responses:
"202":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/TriggerResponse'
/jars:
get:
description: Returns a list of all jars previously uploaded via '/jars/upload'.
operationId: getJarList
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/JarListInfo'
/jars/upload:
post:
description: |-
Uploads a jar to the cluster. The jar must be sent as multi-part data. Make sure that the "Content-Type" header is set to "application/x-java-archive", as some http libraries do not add the header by default.
Using 'curl' you can upload a jar via 'curl -X POST -H "Expect:" -F "jarfile=@path/to/flink-job.jar" http://hostname:port/jars/upload'.
operationId: uploadJar
requestBody:
content:
application/x-java-archive:
schema:
type: string
format: binary
required: true
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/JarUploadResponseBody'
/jars/{jarid}:
delete:
description: Deletes a jar previously uploaded via '/jars/upload'.
operationId: deleteJar
parameters:
- name: jarid
in: path
description: "String value that identifies a jar. When uploading the jar a\
\ path is returned, where the filename is the ID. This value is equivalent\
\ to the `id` field in the list of uploaded jars (/jars)."
required: true
schema:
type: string
responses:
"200":
description: The request was successful.
/jars/{jarid}/plan:
post:
description: Returns the dataflow plan of a job contained in a jar previously
uploaded via '/jars/upload'. Program arguments can be passed both via the
JSON request (recommended) or query parameters.
operationId: generatePlanFromJar
parameters:
- name: jarid
in: path
description: "String value that identifies a jar. When uploading the jar a\
\ path is returned, where the filename is the ID. This value is equivalent\
\ to the `id` field in the list of uploaded jars (/jars)."
required: true
schema:
type: string
- name: programArg
in: query
description: Comma-separated list of program arguments.
required: false
style: form
schema:
type: string
- name: entry-class
in: query
description: String value that specifies the fully qualified name of the entry
point class. Overrides the class defined in the jar file manifest.
required: false
style: form
schema:
type: string
- name: parallelism
in: query
description: Positive integer value that specifies the desired parallelism
for the job.
required: false
style: form
schema:
type: integer
format: int32
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/JarPlanRequestBody'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/JobPlanInfo'
/jars/{jarid}/run:
post:
description: Submits a job by running a jar previously uploaded via '/jars/upload'.
Program arguments can be passed both via the JSON request (recommended) or
query parameters.
operationId: submitJobFromJar
parameters:
- name: jarid
in: path
description: "String value that identifies a jar. When uploading the jar a\
\ path is returned, where the filename is the ID. This value is equivalent\
\ to the `id` field in the list of uploaded jars (/jars)."
required: true
schema:
type: string
- name: allowNonRestoredState
in: query
description: Boolean value that specifies whether the job submission should
be rejected if the savepoint contains state that cannot be mapped back to
the job.
required: false
style: form
schema:
type: boolean
- name: savepointPath
in: query
description: String value that specifies the path of the savepoint to restore
the job from.
required: false
style: form
schema:
type: string
- name: programArg
in: query
description: Comma-separated list of program arguments.
required: false
style: form
schema:
type: string
- name: entry-class
in: query
description: String value that specifies the fully qualified name of the entry
point class. Overrides the class defined in the jar file manifest.
required: false
style: form
schema:
type: string
- name: parallelism
in: query
description: Positive integer value that specifies the desired parallelism
for the job.
required: false
style: form
schema:
type: integer
format: int32
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/JarRunRequestBody'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/JarRunResponseBody'
/jobmanager/config:
get:
description: Returns the cluster configuration.
operationId: getClusterConfigurationInfo
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ConfigurationInfoEntry'
/jobmanager/environment:
get:
description: Returns the jobmanager environment.
operationId: getJobManagerEnvironment
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/EnvironmentInfo'
/jobmanager/logs:
get:
description: Returns the list of log files on the JobManager.
operationId: getJobManagerLogList
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/LogListInfo'
/jobmanager/metrics:
get:
description: Provides access to job manager metrics.
operationId: getJobManagerMetrics
parameters:
- name: get
in: query
description: Comma-separated list of string values to select specific metrics.
required: false
style: form
schema:
type: string
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/MetricCollectionResponseBody'
/jobmanager/thread-dump:
get:
description: Returns the thread dump of the JobManager.
operationId: getJobManagerThreadDump
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/ThreadDumpInfo'
/jobs:
get:
description: Returns an overview over all jobs and their current state.
operationId: getJobIdsWithStatusesOverview
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/JobIdsWithStatusOverview'
/jobs/metrics:
get:
description: Provides access to aggregated job metrics.
operationId: getAggregatedJobMetrics
parameters:
- name: get
in: query
description: Comma-separated list of string values to select specific metrics.
required: false
style: form
schema:
type: string
- name: agg
in: query
description: "Comma-separated list of aggregation modes which should be calculated.\
\ Available aggregations are: \"min, max, sum, avg, skew\"."
required: false
style: form
schema:
$ref: '#/components/schemas/AggregationMode'
- name: jobs
in: query
description: Comma-separated list of 32-character hexadecimal strings to select
specific jobs.
required: false
style: form
schema:
$ref: '#/components/schemas/JobID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/AggregatedMetricsResponseBody'
/jobs/overview:
get:
description: Returns an overview over all jobs.
operationId: getJobsOverview
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/MultipleJobsDetails'
/jobs/{jobid}:
get:
description: Returns details of a job.
operationId: getJobDetails
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/JobDetailsInfo'
patch:
description: Terminates a job.
operationId: cancelJob
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: mode
in: query
description: "String value that specifies the termination mode. The only supported\
\ value is: \"cancel\"."
required: false
style: form
schema:
$ref: '#/components/schemas/TerminationMode'
responses:
"202":
description: The request was successful.
/jobs/{jobid}/accumulators:
get:
description: "Returns the accumulators for all tasks of a job, aggregated across\
\ the respective subtasks."
operationId: getJobAccumulators
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: includeSerializedValue
in: query
description: Boolean value that specifies whether serialized user task accumulators
should be included in the response.
required: false
style: form
schema:
type: boolean
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/JobAccumulatorsInfo'
/jobs/{jobid}/checkpoints:
get:
description: Returns checkpointing statistics for a job.
operationId: getCheckpointingStatistics
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/CheckpointingStatistics'
post:
description: Triggers a checkpoint. The 'checkpointType' parameter does not
support 'INCREMENTAL' option for now. See FLINK-33723. This async operation
would return a 'triggerid' for further query identifier.
operationId: triggerCheckpoint
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CheckpointTriggerRequestBody'
responses:
"202":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/TriggerResponse'
/jobs/{jobid}/checkpoints/config:
get:
description: Returns the checkpointing configuration.
operationId: getCheckpointConfig
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/CheckpointConfigInfo'
/jobs/{jobid}/checkpoints/details/{checkpointid}:
get:
description: Returns details for a checkpoint.
operationId: getCheckpointStatisticDetails
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: checkpointid
in: path
description: Long value that identifies a checkpoint.
required: true
schema:
type: integer
format: int64
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/CheckpointStatistics'
/jobs/{jobid}/checkpoints/details/{checkpointid}/subtasks/{vertexid}:
get:
description: Returns checkpoint statistics for a task and its subtasks.
operationId: getTaskCheckpointStatistics
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: checkpointid
in: path
description: Long value that identifies a checkpoint.
required: true
schema:
type: integer
format: int64
- name: vertexid
in: path
description: 32-character hexadecimal string value that identifies a job vertex.
required: true
schema:
$ref: '#/components/schemas/JobVertexID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/TaskCheckpointStatisticsWithSubtaskDetails'
/jobs/{jobid}/checkpoints/{triggerid}:
get:
description: Returns the status of a checkpoint trigger operation.
operationId: getCheckpointStatus
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: triggerid
in: path
description: 32-character hexadecimal string that identifies an asynchronous
operation trigger ID. The ID was returned then the operation was triggered.
required: true
schema:
$ref: '#/components/schemas/TriggerId'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/AsynchronousOperationResult'
/jobs/{jobid}/clientHeartbeat:
patch:
description: Report the jobClient's aliveness.
operationId: triggerHeartbeat
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/JobClientHeartbeatRequestBody'
responses:
"202":
description: The request was successful.
/jobs/{jobid}/config:
get:
description: Returns the configuration of a job.
operationId: getJobConfig
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/JobConfigInfo'
/jobs/{jobid}/exceptions:
get:
description: "Returns the most recent exceptions that have been handled by Flink\
\ for this job. The 'exceptionHistory.truncated' flag defines whether exceptions\
\ were filtered out through the GET parameter. The backend collects only a\
\ specific amount of most recent exceptions per job. This can be configured\
\ through web.exception-history-size in the Flink configuration. The following\
\ first-level members are deprecated: 'root-exception', 'timestamp', 'all-exceptions',\
\ and 'truncated'. Use the data provided through 'exceptionHistory', instead."
operationId: getJobExceptions
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: maxExceptions
in: query
description: Comma-separated list of integer values that specifies the upper
limit of exceptions to return.
required: false
style: form
schema:
type: integer
format: int32
- name: failureLabelFilter
in: query
description: Collection of string values working as a filter in the form of
`key:value` pairs allowing only exceptions with ALL of the specified failure
labels to be returned.
required: false
style: form
schema:
$ref: '#/components/schemas/FailureLabel'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/JobExceptionsInfoWithHistory'
/jobs/{jobid}/execution-result:
get:
description: Returns the result of a job execution. Gives access to the execution
time of the job and to all accumulators created by this job.
operationId: getJobExecutionResult
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/JobExecutionResultResponseBody'
/jobs/{jobid}/jobmanager/config:
get:
description: Returns the jobmanager's configuration of a specific job.
operationId: getJobManagerJobConfiguration
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ConfigurationInfoEntry'
/jobs/{jobid}/jobmanager/environment:
get:
description: Returns the jobmanager's environment of a specific job.
operationId: getJobManagerJobEnvironment
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/EnvironmentInfo'
/jobs/{jobid}/jobmanager/log-url:
get:
description: Returns the log url of jobmanager of a specific job.
operationId: getJobManagerLogUrl
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/LogUrlResponse'
/jobs/{jobid}/metrics:
get:
description: Provides access to job metrics.
operationId: getJobMetrics
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: get
in: query
description: Comma-separated list of string values to select specific metrics.
required: false
style: form
schema:
type: string
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/MetricCollectionResponseBody'
/jobs/{jobid}/plan:
get:
description: Returns the dataflow plan of a job.
operationId: getJobPlan
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/JobPlanInfo'
/jobs/{jobid}/rescaling:
patch:
description: Triggers the rescaling of a job. This async operation would return
a 'triggerid' for further query identifier.
operationId: rescaleJob
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: parallelism
in: query
description: Positive integer value that specifies the desired parallelism.
required: true
style: form
schema:
type: integer
format: int32
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/TriggerResponse'
/jobs/{jobid}/rescaling/{triggerid}:
get:
description: Returns the status of a rescaling operation.
operationId: getRescalingStatus
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: triggerid
in: path
description: 32-character hexadecimal string that identifies an asynchronous
operation trigger ID. The ID was returned then the operation was triggered.
required: true
schema:
$ref: '#/components/schemas/TriggerId'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/AsynchronousOperationResult'
/jobs/{jobid}/resource-requirements:
get:
description: Request details on the job's resource requirements.
operationId: getJobResourceRequirements
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/JobResourceRequirementsBody'
put:
description: Request to update job's resource requirements.
operationId: updateJobResourceRequirements
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/JobResourceRequirementsBody'
responses:
"200":
description: The request was successful.
/jobs/{jobid}/savepoints:
post:
description: "Triggers a savepoint, and optionally cancels the job afterwards.\
\ This async operation would return a 'triggerid' for further query identifier."
operationId: triggerSavepoint
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SavepointTriggerRequestBody'
responses:
"202":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/TriggerResponse'
/jobs/{jobid}/savepoints/{triggerid}:
get:
description: Returns the status of a savepoint operation.
operationId: getSavepointStatus
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: triggerid
in: path
description: 32-character hexadecimal string that identifies an asynchronous
operation trigger ID. The ID was returned then the operation was triggered.
required: true
schema:
$ref: '#/components/schemas/TriggerId'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/AsynchronousOperationResult'
/jobs/{jobid}/status:
get:
description: Returns the current status of a job execution.
operationId: getJobStatusInfo
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/JobStatusInfo'
/jobs/{jobid}/stop:
post:
description: "Stops a job with a savepoint. Optionally, it can also emit a MAX_WATERMARK\
\ before taking the savepoint to flush out any state waiting for timers to\
\ fire. This async operation would return a 'triggerid' for further query\
\ identifier."
operationId: triggerStopWithSavepoint
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StopWithSavepointRequestBody'
responses:
"202":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/TriggerResponse'
/jobs/{jobid}/taskmanagers/{taskmanagerid}/log-url:
get:
description: Returns the log url of jobmanager of a specific job.
operationId: getTaskManagerLogUrl
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: taskmanagerid
in: path
description: 32-character hexadecimal string that identifies a task manager.
required: true
schema:
$ref: '#/components/schemas/ResourceID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/LogUrlResponse'
/jobs/{jobid}/vertices/{vertexid}:
get:
description: "Returns details for a task, with a summary for each of its subtasks."
operationId: getJobVertexDetails
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: vertexid
in: path
description: 32-character hexadecimal string value that identifies a job vertex.
required: true
schema:
$ref: '#/components/schemas/JobVertexID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/JobVertexDetailsInfo'
/jobs/{jobid}/vertices/{vertexid}/accumulators:
get:
description: "Returns user-defined accumulators of a task, aggregated across\
\ all subtasks."
operationId: getJobVertexAccumulators
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: vertexid
in: path
description: 32-character hexadecimal string value that identifies a job vertex.
required: true
schema:
$ref: '#/components/schemas/JobVertexID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/JobVertexAccumulatorsInfo'
/jobs/{jobid}/vertices/{vertexid}/backpressure:
get:
description: "Returns back-pressure information for a job, and may initiate\
\ back-pressure sampling if necessary."
operationId: getJobVertexBackPressure
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: vertexid
in: path
description: 32-character hexadecimal string value that identifies a job vertex.
required: true
schema:
$ref: '#/components/schemas/JobVertexID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/JobVertexBackPressureInfo'
/jobs/{jobid}/vertices/{vertexid}/flamegraph:
get:
description: "Returns flame graph information for a vertex, and may initiate\
\ flame graph sampling if necessary."
operationId: getJobVertexFlameGraph
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: vertexid
in: path
description: 32-character hexadecimal string value that identifies a job vertex.
required: true
schema:
$ref: '#/components/schemas/JobVertexID'
- name: type
in: query
description: "String value that specifies the Flame Graph type. Supported\
\ options are: \"[FULL, ON_CPU, OFF_CPU]\"."
required: false
style: form
schema:
$ref: '#/components/schemas/ThreadStates'
- name: subtaskindex
in: query
description: Positive integer value that identifies a subtask.
required: false
style: form
schema:
type: integer
format: int32
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/VertexFlameGraph'
/jobs/{jobid}/vertices/{vertexid}/jm-operator-metrics:
get:
description: Provides access to jobmanager operator metrics. This is an operator
that executes on the jobmanager and the coordinator for FLIP 27 sources is
one example of such an operator.
operationId: getJobManagerOperatorMetrics
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: vertexid
in: path
description: 32-character hexadecimal string value that identifies a job vertex.
required: true
schema:
$ref: '#/components/schemas/JobVertexID'
- name: get
in: query
description: Comma-separated list of string values to select specific metrics.
required: false
style: form
schema:
type: string
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/MetricCollectionResponseBody'
/jobs/{jobid}/vertices/{vertexid}/metrics:
get:
description: Provides access to task metrics.
operationId: getJobVertexMetrics
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: vertexid
in: path
description: 32-character hexadecimal string value that identifies a job vertex.
required: true
schema:
$ref: '#/components/schemas/JobVertexID'
- name: get
in: query
description: Comma-separated list of string values to select specific metrics.
required: false
style: form
schema:
type: string
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/MetricCollectionResponseBody'
/jobs/{jobid}/vertices/{vertexid}/subtasks/accumulators:
get:
description: Returns all user-defined accumulators for all subtasks of a task.
operationId: getSubtasksAllAccumulators
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: vertexid
in: path
description: 32-character hexadecimal string value that identifies a job vertex.
required: true
schema:
$ref: '#/components/schemas/JobVertexID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/SubtasksAllAccumulatorsInfo'
/jobs/{jobid}/vertices/{vertexid}/subtasks/metrics:
get:
description: Provides access to aggregated subtask metrics.
operationId: getAggregatedSubtaskMetrics
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: vertexid
in: path
description: 32-character hexadecimal string value that identifies a job vertex.
required: true
schema:
$ref: '#/components/schemas/JobVertexID'
- name: get
in: query
description: Comma-separated list of string values to select specific metrics.
required: false
style: form
schema:
type: string
- name: agg
in: query
description: "Comma-separated list of aggregation modes which should be calculated.\
\ Available aggregations are: \"min, max, sum, avg, skew\"."
required: false
style: form
schema:
$ref: '#/components/schemas/AggregationMode'
- name: subtasks
in: query
description: "Comma-separated list of integer ranges (e.g. \"1,3,5-9\") to\
\ select specific subtasks."
required: false
style: form
schema:
type: string
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/AggregatedMetricsResponseBody'
/jobs/{jobid}/vertices/{vertexid}/subtasks/{subtaskindex}:
get:
description: Returns details of the current or latest execution attempt of a
subtask.
operationId: getSubtaskCurrentAttemptDetails
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: vertexid
in: path
description: 32-character hexadecimal string value that identifies a job vertex.
required: true
schema:
$ref: '#/components/schemas/JobVertexID'
- name: subtaskindex
in: path
description: Positive integer value that identifies a subtask.
required: true
schema:
type: integer
format: int32
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/SubtaskExecutionAttemptDetailsInfo'
/jobs/{jobid}/vertices/{vertexid}/subtasks/{subtaskindex}/attempts/{attempt}:
get:
description: Returns details of an execution attempt of a subtask. Multiple
execution attempts happen in case of failure/recovery.
operationId: getSubtaskExecutionAttemptDetails
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: vertexid
in: path
description: 32-character hexadecimal string value that identifies a job vertex.
required: true
schema:
$ref: '#/components/schemas/JobVertexID'
- name: subtaskindex
in: path
description: Positive integer value that identifies a subtask.
required: true
schema:
type: integer
format: int32
- name: attempt
in: path
description: Positive integer value that identifies an execution attempt.
required: true
schema:
type: integer
format: int32
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/SubtaskExecutionAttemptDetailsInfo'
/jobs/{jobid}/vertices/{vertexid}/subtasks/{subtaskindex}/attempts/{attempt}/accumulators:
get:
description: Returns the accumulators of an execution attempt of a subtask.
Multiple execution attempts happen in case of failure/recovery.
operationId: getSubtaskExecutionAttemptAccumulators
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: vertexid
in: path
description: 32-character hexadecimal string value that identifies a job vertex.
required: true
schema:
$ref: '#/components/schemas/JobVertexID'
- name: subtaskindex
in: path
description: Positive integer value that identifies a subtask.
required: true
schema:
type: integer
format: int32
- name: attempt
in: path
description: Positive integer value that identifies an execution attempt.
required: true
schema:
type: integer
format: int32
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/SubtaskExecutionAttemptAccumulatorsInfo'
/jobs/{jobid}/vertices/{vertexid}/subtasks/{subtaskindex}/metrics:
get:
description: Provides access to subtask metrics.
operationId: getSubtaskMetrics
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: vertexid
in: path
description: 32-character hexadecimal string value that identifies a job vertex.
required: true
schema:
$ref: '#/components/schemas/JobVertexID'
- name: subtaskindex
in: path
description: Positive integer value that identifies a subtask.
required: true
schema:
type: integer
format: int32
- name: get
in: query
description: Comma-separated list of string values to select specific metrics.
required: false
style: form
schema:
type: string
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/MetricCollectionResponseBody'
/jobs/{jobid}/vertices/{vertexid}/subtasktimes:
get:
description: Returns time-related information for all subtasks of a task.
operationId: getSubtasksTimes
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: vertexid
in: path
description: 32-character hexadecimal string value that identifies a job vertex.
required: true
schema:
$ref: '#/components/schemas/JobVertexID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/SubtasksTimesInfo'
/jobs/{jobid}/vertices/{vertexid}/taskmanagers:
get:
description: Returns task information aggregated by task manager.
operationId: getJobVertexTaskManagers
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: vertexid
in: path
description: 32-character hexadecimal string value that identifies a job vertex.
required: true
schema:
$ref: '#/components/schemas/JobVertexID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/JobVertexTaskManagersInfo'
/jobs/{jobid}/vertices/{vertexid}/watermarks:
get:
description: Returns the watermarks for all subtasks of a task.
operationId: getJobVertexWatermarks
parameters:
- name: jobid
in: path
description: 32-character hexadecimal string value that identifies a job.
required: true
schema:
$ref: '#/components/schemas/JobID'
- name: vertexid
in: path
description: 32-character hexadecimal string value that identifies a job vertex.
required: true
schema:
$ref: '#/components/schemas/JobVertexID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/MetricCollectionResponseBody'
/overview:
get:
description: Returns an overview over the Flink cluster.
operationId: getClusterOverview
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/ClusterOverviewWithVersion'
/savepoint-disposal:
post:
description: Triggers the desposal of a savepoint. This async operation would
return a 'triggerid' for further query identifier.
operationId: triggerSavepointDisposal
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SavepointDisposalRequest'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/TriggerResponse'
/savepoint-disposal/{triggerid}:
get:
description: Returns the status of a savepoint disposal operation.
operationId: getSavepointDisposalStatus
parameters:
- name: triggerid
in: path
description: 32-character hexadecimal string that identifies an asynchronous
operation trigger ID. The ID was returned then the operation was triggered.
required: true
schema:
$ref: '#/components/schemas/TriggerId'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/AsynchronousOperationResult'
/taskmanagers:
get:
description: Returns an overview over all task managers.
operationId: getTaskManagers
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/TaskManagersInfo'
/taskmanagers/metrics:
get:
description: Provides access to aggregated task manager metrics.
operationId: getAggregatedTaskManagerMetrics
parameters:
- name: get
in: query
description: Comma-separated list of string values to select specific metrics.
required: false
style: form
schema:
type: string
- name: agg
in: query
description: "Comma-separated list of aggregation modes which should be calculated.\
\ Available aggregations are: \"min, max, sum, avg, skew\"."
required: false
style: form
schema:
$ref: '#/components/schemas/AggregationMode'
- name: taskmanagers
in: query
description: Comma-separated list of 32-character hexadecimal strings to select
specific task managers.
required: false
style: form
schema:
$ref: '#/components/schemas/ResourceID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/AggregatedMetricsResponseBody'
/taskmanagers/{taskmanagerid}:
get:
description: Returns details for a task manager.
operationId: getTaskManagerDetails
parameters:
- name: taskmanagerid
in: path
description: 32-character hexadecimal string that identifies a task manager.
required: true
schema:
$ref: '#/components/schemas/ResourceID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/TaskManagerDetailsInfo'
/taskmanagers/{taskmanagerid}/logs:
get:
description: Returns the list of log files on a TaskManager.
operationId: getTaskManagerLogs
parameters:
- name: taskmanagerid
in: path
description: 32-character hexadecimal string that identifies a task manager.
required: true
schema:
$ref: '#/components/schemas/ResourceID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/LogListInfo'
/taskmanagers/{taskmanagerid}/metrics:
get:
description: Provides access to task manager metrics.
operationId: getTaskManagerMetrics
parameters:
- name: taskmanagerid
in: path
description: 32-character hexadecimal string that identifies a task manager.
required: true
schema:
$ref: '#/components/schemas/ResourceID'
- name: get
in: query
description: Comma-separated list of string values to select specific metrics.
required: false
style: form
schema:
type: string
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/MetricCollectionResponseBody'
/taskmanagers/{taskmanagerid}/thread-dump:
get:
description: Returns the thread dump of the requested TaskManager.
operationId: getTaskManagerThreadDump
parameters:
- name: taskmanagerid
in: path
description: 32-character hexadecimal string that identifies a task manager.
required: true
schema:
$ref: '#/components/schemas/ResourceID'
responses:
"200":
description: The request was successful.
content:
application/json:
schema:
$ref: '#/components/schemas/ThreadDumpInfo'
components:
schemas:
AggregatedMetricsResponseBody:
type: object
AggregatedTaskDetailsInfo:
type: object
properties:
metrics:
type: object
additionalProperties:
type: object
additionalProperties:
type: integer
format: int64
status-duration:
type: object
additionalProperties:
type: object
additionalProperties:
type: integer
format: int64
AggregationMode:
type: string
enum:
- MIN
- MAX
- SUM
- AVG
- SKEW
ApplicationStatus:
type: string
enum:
- SUCCEEDED
- FAILED
- CANCELED
- UNKNOWN
AsynchronousOperationInfo:
type: object
properties:
failure-cause:
$ref: '#/components/schemas/SerializedThrowable'
AsynchronousOperationResult:
type: object
properties:
operation:
oneOf:
- $ref: '#/components/schemas/AsynchronousOperationInfo'
- $ref: '#/components/schemas/CheckpointInfo'
- $ref: '#/components/schemas/SavepointInfo'
status:
$ref: '#/components/schemas/QueueStatus'
CheckpointAlignment:
type: object
properties:
buffered:
type: integer
format: int64
duration:
type: integer
format: int64
persisted:
type: integer
format: int64
processed:
type: integer
format: int64
CheckpointAlignmentSummary:
type: object
properties:
buffered:
$ref: '#/components/schemas/StatsSummaryDto'
duration:
$ref: '#/components/schemas/StatsSummaryDto'
persisted:
$ref: '#/components/schemas/StatsSummaryDto'
processed:
$ref: '#/components/schemas/StatsSummaryDto'
CheckpointConfigInfo:
type: object
properties:
aligned_checkpoint_timeout:
type: integer
format: int64
changelog_periodic_materialization_interval:
type: integer
format: int64
changelog_storage:
type: string
checkpoint_storage:
type: string
checkpoints_after_tasks_finish:
type: boolean
externalization:
$ref: '#/components/schemas/ExternalizedCheckpointInfo'
interval:
type: integer
format: int64
max_concurrent:
type: integer
format: int64
min_pause:
type: integer
format: int64
mode:
$ref: '#/components/schemas/ProcessingMode'
state_backend:
type: string
state_changelog_enabled:
type: boolean
timeout:
type: integer
format: int64
tolerable_failed_checkpoints:
type: integer
format: int32
unaligned_checkpoints:
type: boolean
CheckpointDuration:
type: object
properties:
async:
type: integer
format: int64
sync:
type: integer
format: int64
CheckpointDurationSummary:
type: object
properties:
async:
$ref: '#/components/schemas/StatsSummaryDto'
sync:
$ref: '#/components/schemas/StatsSummaryDto'
CheckpointInfo:
type: object
properties:
checkpointId:
type: integer
format: int64
failureCause:
$ref: '#/components/schemas/SerializedThrowable'
CheckpointStatistics:
required:
- className
type: object
properties:
alignment_buffered:
type: integer
format: int64
checkpoint_type:
$ref: '#/components/schemas/RestAPICheckpointType'
checkpointed_size:
type: integer
format: int64
className:
type: string
end_to_end_duration:
type: integer
format: int64
id:
type: integer
format: int64
is_savepoint:
type: boolean
latest_ack_timestamp:
type: integer
format: int64
num_acknowledged_subtasks:
type: integer
format: int32
num_subtasks:
type: integer
format: int32
persisted_data:
type: integer
format: int64
processed_data:
type: integer
format: int64
savepointFormat:
type: string
state_size:
type: integer
format: int64
status:
$ref: '#/components/schemas/CheckpointStatsStatus'
tasks:
type: object
additionalProperties:
$ref: '#/components/schemas/TaskCheckpointStatistics'
trigger_timestamp:
type: integer
format: int64
discriminator:
propertyName: className
mapping:
completed: '#/components/schemas/CompletedCheckpointStatistics'
failed: '#/components/schemas/FailedCheckpointStatistics'
in_progress: '#/components/schemas/PendingCheckpointStatistics'
CheckpointStatisticsSummary:
type: object
properties:
alignment_buffered:
$ref: '#/components/schemas/StatsSummaryDto'
checkpointed_size:
$ref: '#/components/schemas/StatsSummaryDto'
end_to_end_duration:
$ref: '#/components/schemas/StatsSummaryDto'
persisted_data:
$ref: '#/components/schemas/StatsSummaryDto'
processed_data:
$ref: '#/components/schemas/StatsSummaryDto'
state_size:
$ref: '#/components/schemas/StatsSummaryDto'
CheckpointStatsStatus:
type: string
enum:
- IN_PROGRESS
- COMPLETED
- FAILED
CheckpointTriggerRequestBody:
type: object
properties:
checkpointType:
$ref: '#/components/schemas/CheckpointType'
triggerId:
$ref: '#/components/schemas/TriggerId'
CheckpointType:
type: string
enum:
- CONFIGURED
- FULL
- INCREMENTAL
CheckpointingStatistics:
type: object
properties:
counts:
$ref: '#/components/schemas/Counts'
history:
type: array
items:
$ref: '#/components/schemas/CheckpointStatistics'
latest:
$ref: '#/components/schemas/LatestCheckpoints'
summary:
$ref: '#/components/schemas/CheckpointStatisticsSummary'
ClusterDataSetEntry:
type: object
properties:
id:
type: string
isComplete:
type: boolean
ClusterDataSetListResponseBody:
type: object
properties:
dataSets:
type: array
items:
$ref: '#/components/schemas/ClusterDataSetEntry'
ClusterOverviewWithVersion:
type: object
properties:
flink-commit:
type: string
flink-version:
type: string
jobs-cancelled:
type: integer
format: int32
jobs-failed:
type: integer
format: int32
jobs-finished:
type: integer
format: int32
jobs-running:
type: integer
format: int32
slots-available:
type: integer
format: int32
slots-free-and-blocked:
type: integer
format: int32
slots-total:
type: integer
format: int32
taskmanagers:
type: integer
format: int32
taskmanagers-blocked:
type: integer
format: int32
CompletedCheckpointStatistics:
type: object
allOf:
- $ref: '#/components/schemas/CheckpointStatistics'
- type: object
properties:
external_path:
type: string
discarded:
type: boolean
CompletedSubtaskCheckpointStatistics:
type: object
allOf:
- $ref: '#/components/schemas/SubtaskCheckpointStatistics'
- type: object
properties:
ack_timestamp:
type: integer
format: int64
end_to_end_duration:
type: integer
format: int64
checkpointed_size:
type: integer
format: int64
state_size:
type: integer
format: int64
checkpoint:
$ref: '#/components/schemas/CheckpointDuration'
alignment:
$ref: '#/components/schemas/CheckpointAlignment'
start_delay:
type: integer
format: int64
unaligned_checkpoint:
type: boolean
aborted:
type: boolean
ConfigurationInfo:
type: array
items:
$ref: '#/components/schemas/ConfigurationInfoEntry'
ConfigurationInfoEntry:
type: object
properties:
key:
type: string
value:
type: string
Counts:
type: object
properties:
completed:
type: integer
format: int64
failed:
type: integer
format: int64
in_progress:
type: integer
format: int32
restored:
type: integer
format: int64
total:
type: integer
format: int64
DashboardConfiguration:
type: object
properties:
features:
$ref: '#/components/schemas/Features'
flink-revision:
type: string
flink-version:
type: string
refresh-interval:
type: integer
format: int64
timezone-name:
type: string
timezone-offset:
type: integer
format: int32
EnvironmentInfo:
type: object
properties:
classpath:
type: array
items:
type: string
jvm:
$ref: '#/components/schemas/JVMInfo'
ExceptionInfo:
type: object
properties:
endpoint:
type: string
exceptionName:
type: string
failureLabels:
type: object
additionalProperties:
type: string
stacktrace:
type: string
taskManagerId:
type: string
taskName:
type: string
timestamp:
type: integer
format: int64
ExecutionConfigInfo:
type: object
properties:
job-parallelism:
type: integer
format: int32
object-reuse-mode:
type: boolean
restart-strategy:
type: string
user-config:
type: object
additionalProperties:
type: string
ExecutionState:
type: string
enum:
- CREATED
- SCHEDULED
- DEPLOYING
- RUNNING
- FINISHED
- CANCELING
- CANCELED
- FAILED
- RECONCILING
- INITIALIZING
ExternalizedCheckpointInfo:
type: object
properties:
delete_on_cancellation:
type: boolean
enabled:
type: boolean
FailedCheckpointStatistics:
type: object
allOf:
- $ref: '#/components/schemas/CheckpointStatistics'
- type: object
properties:
failure_timestamp:
type: integer
format: int64
failure_message:
type: string
FailureLabel:
type: object
properties:
key:
type: string
value:
type: string
Features:
type: object
properties:
web-cancel:
type: boolean
web-history:
type: boolean
web-rescale:
type: boolean
web-submit:
type: boolean
GarbageCollectorInfo:
type: object
properties:
count:
type: integer
format: int64
name:
type: string
time:
type: integer
format: int64
HardwareDescription:
type: object
properties:
cpuCores:
type: integer
format: int32
freeMemory:
type: integer
format: int64
managedMemory:
type: integer
format: int64
physicalMemory:
type: integer
format: int64
IOMetricsInfo:
type: object
properties:
accumulated-backpressured-time:
type: integer
format: int64
accumulated-busy-time:
type: number
format: double
accumulated-idle-time:
type: integer
format: int64
read-bytes:
type: integer
format: int64
read-bytes-complete:
type: boolean
read-records:
type: integer
format: int64
read-records-complete:
type: boolean
write-bytes:
type: integer
format: int64
write-bytes-complete:
type: boolean
write-records:
type: integer
format: int64
write-records-complete:
type: boolean
Id:
type: string
enum:
- IN_PROGRESS
- COMPLETED
Input:
type: object
properties:
caching:
type: string
exchange:
type: string
id:
type: string
local_strategy:
type: string
num:
type: integer
format: int64
ship_strategy:
type: string
IntermediateDataSetID:
pattern: "[0-9a-f]{32}"
type: string
JVMInfo:
type: object
properties:
arch:
type: string
options:
type: array
items:
type: string
version:
type: string
JarEntryInfo:
type: object
properties:
description:
type: string
name:
type: string
JarFileInfo:
type: object
properties:
entry:
type: array
items:
$ref: '#/components/schemas/JarEntryInfo'
id:
type: string
name:
type: string
uploaded:
type: integer
format: int64
JarListInfo:
type: object
properties:
address:
type: string
files:
type: array
items:
$ref: '#/components/schemas/JarFileInfo'
JarPlanRequestBody:
type: object
properties:
entryClass:
type: string
flinkConfiguration:
type: object
additionalProperties:
type: string
jobId:
$ref: '#/components/schemas/JobID'
parallelism:
type: integer
format: int32
programArgsList:
type: array
items:
type: string
JarRunRequestBody:
type: object
properties:
allowNonRestoredState:
type: boolean
claimMode:
$ref: '#/components/schemas/RecoveryClaimMode'
entryClass:
type: string
flinkConfiguration:
type: object
additionalProperties:
type: string
jobId:
$ref: '#/components/schemas/JobID'
parallelism:
type: integer
format: int32
programArgsList:
type: array
items:
type: string
restoreMode:
$ref: '#/components/schemas/RecoveryClaimMode'
savepointPath:
type: string
JarRunResponseBody:
type: object
properties:
jobid:
$ref: '#/components/schemas/JobID'
JarUploadResponseBody:
type: object
properties:
filename:
type: string
status:
$ref: '#/components/schemas/UploadStatus'
JobAccumulator:
type: object
JobAccumulatorsInfo:
type: object
properties:
job-accumulators:
type: array
items:
$ref: '#/components/schemas/JobAccumulator'
serialized-user-task-accumulators:
type: object
additionalProperties:
$ref: '#/components/schemas/SerializedValueOptionalFailureObject'
user-task-accumulators:
type: array
items:
$ref: '#/components/schemas/UserTaskAccumulator'
JobClientHeartbeatRequestBody:
type: object
properties:
expiredTimestamp:
type: integer
format: int64
JobConfigInfo:
type: object
properties:
executionConfigInfo:
$ref: '#/components/schemas/ExecutionConfigInfo'
jobId:
$ref: '#/components/schemas/JobID'
jobName:
type: string
JobDetails:
type: object
properties:
duration:
type: integer
format: int64
end-time:
type: integer
format: int64
jid:
$ref: '#/components/schemas/JobID'
last-modification:
type: integer
format: int64
name:
type: string
pending-operators:
type: integer
format: int32
start-time:
type: integer
format: int64
state:
$ref: '#/components/schemas/JobStatus'
tasks:
type: object
additionalProperties:
type: integer
format: int32
JobDetailsInfo:
type: object
properties:
duration:
type: integer
format: int64
end-time:
type: integer
format: int64
isStoppable:
type: boolean
jid:
$ref: '#/components/schemas/JobID'
job-type:
$ref: '#/components/schemas/JobType'
maxParallelism:
type: integer
format: int64
name:
type: string
now:
type: integer
format: int64
pending-operators:
type: integer
format: int32
plan:
$ref: '#/components/schemas/Plan'
start-time:
type: integer
format: int64
state:
$ref: '#/components/schemas/JobStatus'
status-counts:
type: object
additionalProperties:
type: integer
format: int32
stream-graph:
$ref: '#/components/schemas/RawJson'
timestamps:
type: object
additionalProperties:
type: integer
format: int64
vertices:
type: array
items:
$ref: '#/components/schemas/JobDetailsVertexInfo'
JobDetailsVertexInfo:
type: object
properties:
duration:
type: integer
format: int64
end-time:
type: integer
format: int64
id:
$ref: '#/components/schemas/JobVertexID'
maxParallelism:
type: integer
format: int32
metrics:
$ref: '#/components/schemas/IOMetricsInfo'
name:
type: string
parallelism:
type: integer
format: int32
slotSharingGroupId:
$ref: '#/components/schemas/SlotSharingGroupId'
start-time:
type: integer
format: int64
status:
$ref: '#/components/schemas/ExecutionState'
tasks:
type: object
additionalProperties:
type: integer
format: int32
JobExceptionHistory:
type: object
properties:
entries:
type: array
items:
$ref: '#/components/schemas/RootExceptionInfo'
truncated:
type: boolean
JobExceptionsInfoWithHistory:
type: object
properties:
exceptionHistory:
$ref: '#/components/schemas/JobExceptionHistory'
JobExecutionResultResponseBody:
required:
- status
type: object
properties:
job-execution-result:
$ref: '#/components/schemas/JobResult'
status:
$ref: '#/components/schemas/QueueStatus'
JobID:
pattern: "[0-9a-f]{32}"
type: string
JobIdWithStatus:
type: object
properties:
id:
$ref: '#/components/schemas/JobID'
status:
$ref: '#/components/schemas/JobStatus'
JobIdsWithStatusOverview:
type: object
properties:
jobs:
type: array
items:
$ref: '#/components/schemas/JobIdWithStatus'
JobPlanInfo:
type: object
properties:
plan:
$ref: '#/components/schemas/Plan'
JobResourceRequirementsBody:
type: object
additionalProperties:
$ref: '#/components/schemas/JobVertexResourceRequirements'
JobResult:
type: object
properties:
accumulatorResults:
type: object
additionalProperties:
$ref: '#/components/schemas/SerializedValueOptionalFailureObject'
applicationStatus:
$ref: '#/components/schemas/ApplicationStatus'
jobId:
$ref: '#/components/schemas/JobID'
netRuntime:
type: integer
format: int64
serializedThrowable:
$ref: '#/components/schemas/SerializedThrowable'
success:
type: boolean
JobStatus:
type: string
enum:
- INITIALIZING
- CREATED
- RUNNING
- FAILING
- FAILED
- CANCELLING
- CANCELED
- FINISHED
- RESTARTING
- SUSPENDED
- RECONCILING
JobStatusInfo:
type: object
properties:
status:
$ref: '#/components/schemas/JobStatus'
JobType:
type: string
enum:
- BATCH
- STREAMING
JobVertexAccumulatorsInfo:
type: object
properties:
id:
type: string
user-accumulators:
type: array
items:
$ref: '#/components/schemas/UserAccumulator'
JobVertexBackPressureInfo:
type: object
properties:
backpressureLevel:
$ref: '#/components/schemas/VertexBackPressureLevel'
end-timestamp:
type: integer
format: int64
status:
$ref: '#/components/schemas/VertexBackPressureStatus'
subtasks:
type: array
items:
$ref: '#/components/schemas/SubtaskBackPressureInfo'
JobVertexDetailsInfo:
type: object
properties:
aggregated:
$ref: '#/components/schemas/AggregatedTaskDetailsInfo'
id:
$ref: '#/components/schemas/JobVertexID'
maxParallelism:
type: integer
format: int32
name:
type: string
now:
type: integer
format: int64
parallelism:
type: integer
format: int32
subtasks:
type: array
items:
$ref: '#/components/schemas/SubtaskExecutionAttemptDetailsInfo'
JobVertexID:
pattern: "[0-9a-f]{32}"
type: string
JobVertexResourceRequirements:
type: object
properties:
parallelism:
$ref: '#/components/schemas/Parallelism'
JobVertexTaskManagerInfo:
type: object
properties:
aggregated:
$ref: '#/components/schemas/AggregatedTaskDetailsInfo'
duration:
type: integer
format: int64
end-time:
type: integer
format: int64
endpoint:
type: string
metrics:
$ref: '#/components/schemas/IOMetricsInfo'
start-time:
type: integer
format: int64
status:
$ref: '#/components/schemas/ExecutionState'
status-counts:
type: object
additionalProperties:
type: integer
format: int32
taskmanager-id:
type: string
JobVertexTaskManagersInfo:
type: object
properties:
id:
$ref: '#/components/schemas/JobVertexID'
name:
type: string
now:
type: integer
format: int64
taskmanagers:
type: array
items:
$ref: '#/components/schemas/JobVertexTaskManagerInfo'
LatestCheckpoints:
type: object
properties:
completed:
$ref: '#/components/schemas/CompletedCheckpointStatistics'
failed:
$ref: '#/components/schemas/FailedCheckpointStatistics'
restored:
$ref: '#/components/schemas/RestoredCheckpointStatistics'
savepoint:
$ref: '#/components/schemas/CompletedCheckpointStatistics'
LogInfo:
type: object
properties:
mtime:
type: integer
format: int64
name:
type: string
size:
type: integer
format: int64
LogListInfo:
type: object
properties:
logs:
type: array
items:
$ref: '#/components/schemas/LogInfo'
LogUrlResponse:
type: object
properties:
url:
type: string
Metric:
required:
- id
type: object
properties:
id:
type: string
value:
type: string
MetricCollectionResponseBody:
type: object
properties:
metrics:
type: array
items:
$ref: '#/components/schemas/Metric'
MultipleJobsDetails:
type: object
properties:
jobs:
type: array
items:
$ref: '#/components/schemas/JobDetails'
Node:
type: object
properties:
children:
type: array
items:
$ref: '#/components/schemas/Node'
name:
type: string
value:
type: integer
format: int32
Parallelism:
type: object
properties:
lowerBound:
type: integer
format: int32
upperBound:
type: integer
format: int32
PendingCheckpointStatistics:
type: object
allOf:
- $ref: '#/components/schemas/CheckpointStatistics'
PendingSubtaskCheckpointStatistics:
type: object
allOf:
- $ref: '#/components/schemas/SubtaskCheckpointStatistics'
Plan:
type: object
properties:
jid:
type: string
name:
type: string
nodes:
type: array
items:
$ref: '#/components/schemas/PlanNode'
type:
type: string
PlanNode:
type: object
properties:
description:
type: string
id:
type: string
inputs:
type: array
items:
$ref: '#/components/schemas/Input'
operator:
type: string
operator_strategy:
type: string
optimizer_properties:
$ref: '#/components/schemas/RawJson'
parallelism:
type: integer
format: int64
ProcessingMode:
type: string
enum:
- AT_LEAST_ONCE
- EXACTLY_ONCE
QueueStatus:
required:
- id
type: object
properties:
id:
$ref: '#/components/schemas/Id'
RawJson:
type: object
RecoveryClaimMode:
type: string
enum:
- CLAIM
- NO_CLAIM
- LEGACY
ResourceID:
pattern: "[0-9a-f]{32}"
type: string
ResourceProfileInfo:
type: object
properties:
cpuCores:
type: number
format: double
extendedResources:
type: object
additionalProperties:
type: number
format: double
managedMemory:
type: integer
format: int32
networkMemory:
type: integer
format: int32
taskHeapMemory:
type: integer
format: int32
taskOffHeapMemory:
type: integer
format: int32
RestAPICheckpointType:
type: string
enum:
- CHECKPOINT
- UNALIGNED_CHECKPOINT
- SAVEPOINT
- SYNC_SAVEPOINT
RestoredCheckpointStatistics:
type: object
properties:
external_path:
type: string
id:
type: integer
format: int64
is_savepoint:
type: boolean
restore_timestamp:
type: integer
format: int64
RootExceptionInfo:
type: object
properties:
concurrentExceptions:
type: array
items:
$ref: '#/components/schemas/ExceptionInfo'
endpoint:
type: string
exceptionName:
type: string
failureLabels:
type: object
additionalProperties:
type: string
stacktrace:
type: string
taskManagerId:
type: string
taskName:
type: string
timestamp:
type: integer
format: int64
SavepointDisposalRequest:
type: object
properties:
savepoint-path:
type: string
SavepointFormatType:
type: string
enum:
- CANONICAL
- NATIVE
SavepointInfo:
type: object
properties:
failure-cause:
$ref: '#/components/schemas/SerializedThrowable'
location:
type: string
SavepointTriggerRequestBody:
type: object
properties:
cancel-job:
type: boolean
formatType:
$ref: '#/components/schemas/SavepointFormatType'
target-directory:
type: string
triggerId:
$ref: '#/components/schemas/TriggerId'
SerializedThrowable:
type: object
properties:
serialized-throwable:
type: string
format: binary
SerializedValueOptionalFailureObject:
type: object
properties:
byteArray:
type: array
items:
type: string
format: byte
SlotInfo:
type: object
properties:
jobId:
$ref: '#/components/schemas/JobID'
resource:
$ref: '#/components/schemas/ResourceProfileInfo'
SlotSharingGroupId:
type: object
properties:
bytes:
type: array
items:
type: string
format: byte
lowerPart:
type: integer
format: int64
upperPart:
type: integer
format: int64
StatsSummaryDto:
type: object
properties:
avg:
type: integer
format: int64
max:
type: integer
format: int64
min:
type: integer
format: int64
p50:
type: number
format: double
p90:
type: number
format: double
p95:
type: number
format: double
p99:
type: number
format: double
p999:
type: number
format: double
StopWithSavepointRequestBody:
type: object
properties:
drain:
type: boolean
formatType:
$ref: '#/components/schemas/SavepointFormatType'
targetDirectory:
type: string
triggerId:
$ref: '#/components/schemas/TriggerId'
SubtaskAccumulatorsInfo:
type: object
properties:
attempt:
type: integer
format: int32
endpoint:
type: string
subtask:
type: integer
format: int32
user-accumulators:
type: array
items:
$ref: '#/components/schemas/UserAccumulator'
SubtaskBackPressureInfo:
type: object
properties:
attempt-number:
type: integer
format: int32
backpressureLevel:
$ref: '#/components/schemas/VertexBackPressureLevel'
busyRatio:
type: number
format: double
idleRatio:
type: number
format: double
other-concurrent-attempts:
type: array
items:
$ref: '#/components/schemas/SubtaskBackPressureInfo'
ratio:
type: number
format: double
subtask:
type: integer
format: int32
SubtaskCheckpointStatistics:
required:
- className
type: object
properties:
className:
type: string
index:
type: integer
format: int32
status:
type: string
discriminator:
propertyName: className
mapping:
completed: '#/components/schemas/CompletedSubtaskCheckpointStatistics'
pending: '#/components/schemas/PendingSubtaskCheckpointStatistics'
SubtaskExecutionAttemptAccumulatorsInfo:
type: object
properties:
attempt:
type: integer
format: int32
id:
type: string
subtask:
type: integer
format: int32
user-accumulators:
type: array
items:
$ref: '#/components/schemas/UserAccumulator'
SubtaskExecutionAttemptDetailsInfo:
type: object
properties:
attempt:
type: integer
format: int32
duration:
type: integer
format: int64
end-time:
type: integer
format: int64
endpoint:
type: string
metrics:
$ref: '#/components/schemas/IOMetricsInfo'
other-concurrent-attempts:
type: array
items:
$ref: '#/components/schemas/SubtaskExecutionAttemptDetailsInfo'
start-time:
type: integer
format: int64
status:
$ref: '#/components/schemas/ExecutionState'
status-duration:
type: object
additionalProperties:
type: integer
format: int64
subtask:
type: integer
format: int32
taskmanager-id:
type: string
SubtaskTimeInfo:
type: object
properties:
duration:
type: integer
format: int64
endpoint:
type: string
subtask:
type: integer
format: int32
timestamps:
type: object
additionalProperties:
type: integer
format: int64
SubtasksAllAccumulatorsInfo:
type: object
properties:
id:
$ref: '#/components/schemas/JobVertexID'
parallelism:
type: integer
format: int32
subtasks:
type: array
items:
$ref: '#/components/schemas/SubtaskAccumulatorsInfo'
SubtasksTimesInfo:
type: object
properties:
id:
type: string
name:
type: string
now:
type: integer
format: int64
subtasks:
type: array
items:
$ref: '#/components/schemas/SubtaskTimeInfo'
TaskCheckpointStatistics:
type: object
properties:
alignment_buffered:
type: integer
format: int64
checkpointed_size:
type: integer
format: int64
end_to_end_duration:
type: integer
format: int64
id:
type: integer
format: int64
latest_ack_timestamp:
type: integer
format: int64
num_acknowledged_subtasks:
type: integer
format: int32
num_subtasks:
type: integer
format: int32
persisted_data:
type: integer
format: int64
processed_data:
type: integer
format: int64
state_size:
type: integer
format: int64
status:
$ref: '#/components/schemas/CheckpointStatsStatus'
TaskCheckpointStatisticsWithSubtaskDetails:
type: object
properties:
alignment_buffered:
type: integer
format: int64
checkpointed_size:
type: integer
format: int64
end_to_end_duration:
type: integer
format: int64
id:
type: integer
format: int64
latest_ack_timestamp:
type: integer
format: int64
num_acknowledged_subtasks:
type: integer
format: int32
num_subtasks:
type: integer
format: int32
persisted_data:
type: integer
format: int64
processed_data:
type: integer
format: int64
state_size:
type: integer
format: int64
status:
$ref: '#/components/schemas/CheckpointStatsStatus'
subtasks:
type: array
items:
$ref: '#/components/schemas/SubtaskCheckpointStatistics'
summary:
$ref: '#/components/schemas/TaskCheckpointStatisticsWithSubtaskDetailsSummary'
TaskCheckpointStatisticsWithSubtaskDetailsSummary:
type: object
properties:
alignment:
$ref: '#/components/schemas/CheckpointAlignmentSummary'
checkpoint_duration:
$ref: '#/components/schemas/CheckpointDurationSummary'
checkpointed_size:
$ref: '#/components/schemas/StatsSummaryDto'
end_to_end_duration:
$ref: '#/components/schemas/StatsSummaryDto'
start_delay:
$ref: '#/components/schemas/StatsSummaryDto'
state_size:
$ref: '#/components/schemas/StatsSummaryDto'
TaskExecutorMemoryConfiguration:
type: object
properties:
frameworkHeap:
type: integer
format: int64
frameworkOffHeap:
type: integer
format: int64
jvmMetaspace:
type: integer
format: int64
jvmOverhead:
type: integer
format: int64
managedMemory:
type: integer
format: int64
networkMemory:
type: integer
format: int64
taskHeap:
type: integer
format: int64
taskOffHeap:
type: integer
format: int64
totalFlinkMemory:
type: integer
format: int64
totalProcessMemory:
type: integer
format: int64
TaskManagerDetailsInfo:
type: object
properties:
allocatedSlots:
type: array
items:
$ref: '#/components/schemas/SlotInfo'
blocked:
type: boolean
dataPort:
type: integer
format: int32
freeResource:
$ref: '#/components/schemas/ResourceProfileInfo'
freeSlots:
type: integer
format: int32
hardware:
$ref: '#/components/schemas/HardwareDescription'
id:
$ref: '#/components/schemas/ResourceID'
jmxPort:
type: integer
format: int32
memoryConfiguration:
$ref: '#/components/schemas/TaskExecutorMemoryConfiguration'
metrics:
$ref: '#/components/schemas/TaskManagerMetricsInfo'
path:
type: string
slotsNumber:
type: integer
format: int32
timeSinceLastHeartbeat:
type: integer
format: int64
totalResource:
$ref: '#/components/schemas/ResourceProfileInfo'
TaskManagerInfo:
type: object
properties:
blocked:
type: boolean
dataPort:
type: integer
format: int32
freeResource:
$ref: '#/components/schemas/ResourceProfileInfo'
freeSlots:
type: integer
format: int32
hardware:
$ref: '#/components/schemas/HardwareDescription'
id:
$ref: '#/components/schemas/ResourceID'
jmxPort:
type: integer
format: int32
memoryConfiguration:
$ref: '#/components/schemas/TaskExecutorMemoryConfiguration'
path:
type: string
slotsNumber:
type: integer
format: int32
timeSinceLastHeartbeat:
type: integer
format: int64
totalResource:
$ref: '#/components/schemas/ResourceProfileInfo'
TaskManagerMetricsInfo:
type: object
properties:
directCount:
type: integer
format: int64
directMax:
type: integer
format: int64
directUsed:
type: integer
format: int64
garbageCollectors:
type: array
items:
$ref: '#/components/schemas/GarbageCollectorInfo'
heapCommitted:
type: integer
format: int64
heapMax:
type: integer
format: int64
heapUsed:
type: integer
format: int64
mappedCount:
type: integer
format: int64
mappedMax:
type: integer
format: int64
mappedUsed:
type: integer
format: int64
nettyShuffleMemoryAvailable:
type: integer
format: int64
nettyShuffleMemorySegmentsAvailable:
type: integer
format: int64
nettyShuffleMemorySegmentsTotal:
type: integer
format: int64
nettyShuffleMemorySegmentsUsed:
type: integer
format: int64
nettyShuffleMemoryTotal:
type: integer
format: int64
nettyShuffleMemoryUsed:
type: integer
format: int64
nonHeapCommitted:
type: integer
format: int64
nonHeapMax:
type: integer
format: int64
nonHeapUsed:
type: integer
format: int64
TaskManagersInfo:
type: object
properties:
taskmanagers:
type: array
items:
$ref: '#/components/schemas/TaskManagerInfo'
TerminationMode:
type: string
enum:
- CANCEL
- STOP
ThreadDumpInfo:
type: object
properties:
threadInfos:
type: array
items:
$ref: '#/components/schemas/ThreadInfo'
ThreadInfo:
type: object
properties:
stringifiedThreadInfo:
type: string
threadName:
type: string
ThreadStates:
type: string
enum:
- FULL
- ON_CPU
- OFF_CPU
TriggerId:
pattern: "[0-9a-f]{32}"
type: string
TriggerResponse:
type: object
properties:
request-id:
$ref: '#/components/schemas/TriggerId'
UploadStatus:
type: string
enum:
- success
UserAccumulator:
type: object
properties:
name:
type: string
type:
type: string
value:
type: string
UserTaskAccumulator:
type: object
properties:
name:
type: string
type:
type: string
value:
type: string
VertexBackPressureLevel:
type: string
enum:
- ok
- low
- high
VertexBackPressureStatus:
type: string
enum:
- deprecated
- ok
VertexFlameGraph:
type: object
properties:
data:
$ref: '#/components/schemas/Node'
endTimestamp:
type: integer
format: int64