Apache Flink Jars API

The Jars API from Apache Flink — 5 operation(s) for jars.

OpenAPI Specification

apache-flink-jars-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Flink JobManager REST Cluster Jars 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.0-SNAPSHOT
tags:
- name: Jars
paths:
  /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'
      summary: Apache Flink List Jars
      tags:
      - Jars
  /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'
      summary: Apache Flink Create Jars Upload
      tags:
      - Jars
  /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.
      summary: Apache Flink Delete Jars
      tags:
      - Jars
  /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'
      summary: Apache Flink Create Jars Plan
      tags:
      - Jars
  /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'
      summary: Apache Flink Create Jars Run
      tags:
      - Jars
components:
  schemas:
    JarEntryInfo:
      type: object
      properties:
        description:
          type: string
        name:
          type: string
    JarUploadResponseBody:
      type: object
      properties:
        filename:
          type: string
        status:
          $ref: '#/components/schemas/UploadStatus'
    JobPlanInfo:
      type: object
      properties:
        plan:
          $ref: '#/components/schemas/RawJson'
    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
    JarRunResponseBody:
      type: object
      properties:
        jobid:
          $ref: '#/components/schemas/JobID'
    JarFileInfo:
      type: object
      properties:
        entry:
          type: array
          items:
            $ref: '#/components/schemas/JarEntryInfo'
        id:
          type: string
        name:
          type: string
        uploaded:
          type: integer
          format: int64
    RawJson:
      type: object
    RecoveryClaimMode:
      type: string
      enum:
      - CLAIM
      - NO_CLAIM
      - LEGACY
    UploadStatus:
      type: string
      enum:
      - success
    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
    JobID:
      pattern: '[0-9a-f]{32}'
      type: string