Files
windmill/backend/openflow.openapi.yaml
2022-07-30 17:30:34 +02:00

154 lines
3.1 KiB
YAML

openapi: "3.0.3"
info:
version: 1.26.0
title: OpenFlow Spec
contact:
name: Ruben Fiszel
email: ruben@windmill.dev
url: https://windmill.dev
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
externalDocs:
description: documentation portal
url: https://docs.windmill.dev
components:
schemas:
OpenFlow:
type: object
properties:
summary:
type: string
description:
type: string
value:
$ref: "#/components/schemas/FlowValue"
schema:
type: object
required:
- summary
- value
FlowValue:
type: object
properties:
modules:
type: array
items:
$ref: "#/components/schemas/FlowModule"
failure_module:
$ref: "#/components/schemas/FlowModule"
required:
- modules
FlowModule:
type: object
properties:
input_transform:
type: object
additionalProperties:
$ref: "#/components/schemas/InputTransform"
value:
$ref: "#/components/schemas/FlowModuleValue"
stop_after_if_expr:
type: string
skip_if_stopped:
type: boolean
required:
- input_transform
- value
InputTransform:
type: object
properties:
type:
type: string
enum:
- static
- javascript
step:
type: number
value: {}
expr:
type: string
FlowModuleValue:
type: object
properties:
value:
$ref: "#/components/schemas/FlowValue"
iterator:
$ref: "#/components/schemas/InputTransform"
skip_failures:
type: boolean
path:
type: string
content:
type: string
language:
type: string
enum:
- deno
- python3
type:
type: string
enum:
- script
- flow
- rawscript
- forloopflow
required:
- type
FlowStatus:
type: object
properties:
step:
type: integer
modules:
type: array
items:
$ref: "#/components/schemas/FlowStatusModule"
failure_module:
$ref: "#/components/schemas/FlowStatusModule"
required:
- step
- modules
- failure_module
FlowStatusModule:
type: object
properties:
type:
type: string
enum:
- WaitingForPriorSteps
- WaitingForEvent
- WaitingForExecutor
- InProgress
- Success
- Failure
job:
type: string
format: uuid
event:
type: string
iterator:
type: object
properties:
index:
type: integer
itered:
type: array
items: {}
args: {}
forloop_jobs:
type: array
items:
type: string
required: [type]