Skip to content

Recipe Variations

Automation recipes are collections of pipelines or processes that leverage tools and inputs to generate analytic insights. Each recipe variation is a specific combination of recipe graph, order schedule, and set of variable overrides for processing.

That is, variations are pipelines you can configure with a specific set of recipe parameters to be used at runtime.

  • Parameters include runtime settings, schedule settings, graph structure, infrastructure definitions, and source data, and their configurations are defined in the recipe's variations.json file.
  • Variable values defined in variables.json can be overridden by using variation overrides.

Variation use case

If an order run fails midway through processing a complex recipe graph, the user receives an email that warns of the failure and identifies test conditions that have not been met. The user investigates the node where the recipe order run failed in order to resolve the error. The user could then resume the order run; but if the problems seem more complex, the user can create a new recipe variation that only includes the nodes that require troubleshooting and retesting.

Tip

Breaking a recipe into variations allows you to follow DataOps best practices of using multiple environments and containerization.

Access recipe variations

To see the variations for a given recipe:

  1. Open a kitchen.
  2. Select a recipe from the list.

Variations appear in the Variations tab of the Recipe page. Some setup information appears in the table.

Click to change basic variation settings or continue to the Variation page for more actions.

Variation page

From the Variations tab of the Recipe page, click any variation name to open the Variation page.

Variation settings

Variation settings can be configured from the Recipes page, the Variation page, and in variations.json.

  • Name: variation names must adhere to Automation's object naming rules.
  • Graph: the node components that process during an order run. See Recipe Graphs and Recipe Nodes for more information.
  • Overrides: are an override set of variables for reference by all variations within the recipe. See Recipe Variables for details.
  • Schedule: runtime and schedule settings are available to all variations within a recipe. For more information, see Schedules.
  • Alert thresholds: the alerts for test warnings and order runs exceeding a time limit require threshold settings at the variation level. See Alerts and Configure Alert Thresholds.
  • Ingredient settings: a variation can be designated an ingredient and reused in other recipes or during the create and delete kitchen processes. For details on how to, see Declare Ingredients.

Variable overrides

The values of the variables declared in variables.json can be overridden by variation overrides in variations.json. The declaration of these overrides in the override-setting-list follows the same syntax used for declaring variables in variables.json. The override setting that serves as the default, or base, setting should be placed first in the list.