[Документация Yandex Cloud](../../../../../index.md) > [Yandex Serverless Integrations](../../../../index.md) > [Концепции](../../../index.md) > Workflows > [Спецификация YaWL](../index.md) > Управляющие шаги > Switch

# Switch

Выбор дальнейшего пути выполнения. Может быть выбран только один путь — тот, для которого условие первым вернуло `true`. Если все условия вернули `false` и не задано поле `default`, запуск завершится с ошибкой.

Имя поля | Тип | Обязательное | Значение по умолчанию | Поддерживается [шаблонизация](../../templating.md) | Описание
--- | --- | --- | --- | --- | ---
`input` | `string` | Нет | [Полное состояние рабочего процесса](../../workflow.md#state) | Да | jq-шаблон, фильтрующий состояние рабочего процесса, которое передается в шаг.
`choices` | [Choice](#Choice)[] | Да | Нет | Нет | Список дальнейших путей выполнения.
`default` | `string` | Нет | Нет | Нет | Идентификатор шага, который начнет выполняться, если ни одно из условий из `choices` не вернет `true`.

## Объект Choice {#Choice}

Имя поля | Тип | Обязательное | Описание
--- | --- | --- | ---
`condition` | `string` | Да | Условие в виде jq-шаблона, которое возвращает строку `true` или `false`.
`next` | `string` | Да | Идентификатор шага, который начнет выполняться, если условие вернет `true`.