asset/schema/plan.yaml
---
definitions:
stringOrList:
oneOf:
- type: string
- type: array
items:
type: string
stage:
type: object
properties:
name:
type: string
disabled:
type: string
before-stage:
type: string
after-stage:
type: string
tasks:
type: array
items:
$ref: '#/definitions/stageTask'
run-mode:
type: string
enum:
- always
- on-success
- on-failure
parallel:
type: boolean
environment:
$ref: '#/definitions/stringOrList'
additionalProperties: false
required:
- name
stageTask:
oneOf:
- type: string
- type: object
properties:
name:
type: string
disabled:
type: string
environment:
$ref: '#/definitions/stringOrList'
additionalProperties: false
required:
- name
type: object
properties:
extends:
type: string
disabled:
type: string
stages:
type: array
items:
$ref: '#/definitions/stage'
environment:
$ref: '#/definitions/stringOrList'
additionalProperties: false