{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/argo-workflows/refs/heads/main/json-schema/argo-workflows-io-argoproj-workflow-v1alpha1-value-from-schema.json",
  "title": "io.argoproj.workflow.v1alpha1.ValueFrom",
  "description": "ValueFrom describes a location in which to obtain the value to a parameter",
  "type": "object",
  "properties": {
    "configMapKeyRef": {
      "description": "ConfigMapKeyRef is configmap selector for input parameter configuration",
      "$ref": "#/definitions/io.k8s.api.core.v1.ConfigMapKeySelector"
    },
    "default": {
      "description": "Default specifies a value to be used if retrieving the value from the specified source fails",
      "type": "string"
    },
    "event": {
      "description": "Selector (https://github.com/expr-lang/expr) that is evaluated against the event to get the value of the parameter. E.g. `payload.message`",
      "type": "string"
    },
    "expression": {
      "description": "Expression, if defined, is evaluated to specify the value for the parameter",
      "type": "string"
    },
    "jqFilter": {
      "description": "JQFilter expression against the resource object in resource templates",
      "type": "string"
    },
    "jsonPath": {
      "description": "JSONPath of a resource to retrieve an output parameter value from in resource templates",
      "type": "string"
    },
    "parameter": {
      "description": "Parameter reference to a step or dag task in which to retrieve an output parameter value from (e.g. '{{steps.mystep.outputs.myparam}}')",
      "type": "string"
    },
    "path": {
      "description": "Path in the container to retrieve an output parameter value from in container templates",
      "type": "string"
    },
    "supplied": {
      "description": "Supplied value to be filled in directly, either through the CLI, API, etc.",
      "$ref": "#/definitions/io.argoproj.workflow.v1alpha1.SuppliedValueFrom"
    }
  }
}