required:
  type:
    type: string
    allowed-values:
      - function

  # needs to be filled in the database
  # use only GENERIC type
  functiontype:
    type: string
    allowed-values:
      - GENERIC
      - STEP
      - VALIDATION
      - ASYNC-START
      - ASYNC-END
      - ARRAY
      - SUBWORKFLOW
    default: GENERIC

  name:
    type: string
    max-length: 160
  version:
    type: string
    max-length: 80

optional:
  code:
    type: string
  desc:
    type: string
    max-length: 4000
  author:
    type: list
    element-type: string
  source:
    type: string
  tags:
    type: hash
    element-type: softstring
