Updating Values

Some blocks support base_file: and update_values: entries. A base_file: entry specifies the path to a file to use as a basis for a particular runtime file. An update_values: entry specifies changes/additions to the base file. At least one of base_file: or update_values: must be provided. If only base_file: is provided, the file will be used as-is. If only update_values: is provided, it will completely define the runtime file in question. If both are provided, update_values: is used to modify the contents of base_file:. The hierarchy of entries in the update_values: block must mirror that in the base_file:. For example, a base_file: named people.yaml might contain:

person:
  age: 19
  address:
    city: Boston
    number: 12
    state: MA
    street: Acorn St
  name: Jane

A compatible YAML block updating the person’s street address might then contain:

base_file: people.yaml
update_values:
  person:
    address:
      street: Main St
      number: 99

The result would be:

person:
  age: 19
  address:
    city: Boston
    number: 99
    state: MA
    street: Main St
  name: Jane