{
"title": "functions.expression.Expression",
"description": "An expression that can be either JMESPath or Starlark.\n\nSerializes as `{\"$jmespath\": \"...\"}` or `{\"$starlark\": \"...\"}` in JSON.\n\n# Examples\n\nJMESPath:\n```json\n{\"$jmespath\": \"input.items[0].name\"}\n```\n\nStarlark:\n```json\n{\"$starlark\": \"input['items'][0]['name']\"}\n```",
"anyOf": [
{
"title": "JMESPath",
"description": "A JMESPath expression.",
"type": "object",
"properties": {
"$jmespath": {
"type": "string"
}
},
"additionalProperties": false
},
{
"title": "Starlark",
"description": "A Starlark expression.",
"type": "object",
"properties": {
"$starlark": {
"type": "string"
}
},
"additionalProperties": false
},
{
"title": "Special",
"description": "A predefined special expression variant.",
"type": "object",
"properties": {
"$special": {
"$ref": "functions.expression.Special"
}
},
"additionalProperties": false
}
]
}