---
type: object
required: [template]
additionalProperties: false

properties:
  template:
    type: string

  # Relative to the data-repository root.
  directory:
    type: string
    default: rcmpy-out

  # Whether or not to create a symbolic link instead of a copy.
  link:
    type: boolean
    default: true

  # Whether or not the file should be executable.
  executable:
    type: boolean
    default: false

  name:
    type: string

  # A string that will be evaluated for True/False and provided environment
  # data.
  condition:
    type: string
    default: "True"

  platforms:
    type: array
    items:
      type: string
      enum: ["linux", "cygwin", "darwin", "win32"]

  # Templates that may be included in the main template.
  extra_templates:
    type: array
    items:
      type: string
