YAML修改别名序列元素

I'm working on a configuration file format for a program and I was wondering if it is possible to modify specific elements of a sequence defined in an alias.

For example,

# Example multi-model device configuration.
---
aliases:
  - &cisco_default
    vendor: cisco
    cmds:
      - terminal length 0                   # keep
      - show version | include Model number # keep
      - show boot | include BOOT path-list  # change this one below
      - "dir flash: | include bin$"         # and this one
      - quit                                # keep

config:
  - *cisco_default
  - <<: *cisco_default
    models:
      - c4500
      - c3650
    cmds:
      - show boot | include BOOT variable
      - "dir bootflash: | include bin$"

I am using Go to process and unmarshal the YAML into a struct. So, if this behavior is not possible with plain YAML, is there an easy way to modify the cmds sequence using Go's text templates or something similar? Also, I need to preserve the order of the commands.

Got a solution by aliasing the cmds. Here is a working configuration that allows looping the commands in order:

---
aliases:
  - &cisco_default
    vendor: cisco
    cmds: &cisco_cmds
      0: terminal length 0
      1: show version | include Model number
      2: show boot | include BOOT path-list
      3: "dir flash: | include bin$"
      4: quit

config:
  # Default Cisco configuration.
  - *cisco_default

  # Cisco 4500 and 3650 model configuration.
  - <<: *cisco_default
    models:
      - c4500
      - c3650
    cmds:
      <<: *cisco_cmds
      2: show boot | include BOOT variable
      3: "dir bootflash: | include bin$"