---
merged:
  before:
    - name: "bond0"

    - name: "bond1"

  commands:
    - "set interfaces bonding bond0 hash-policy 'layer2'"
    - "set interfaces bonding bond0 mode 'active-backup'"
    - "set interfaces ethernet eth1 bond-group 'bond0'"
    - "set interfaces bonding bond0 primary 'eth1'"
    - "set interfaces bonding bond1 hash-policy 'layer2+3'"
    - "set interfaces bonding bond1 mode 'active-backup'"
    - "set interfaces ethernet eth2 bond-group 'bond1'"
    - "set interfaces bonding bond1 primary 'eth2'"

  after:
    - name: "bond0"
      hash_policy: "layer2"
      members:
        - member: eth1
      mode: "active-backup"
      primary: eth1

    - name: "bond1"
      hash_policy: "layer2+3"
      members:
        - member: eth2
      mode: "active-backup"
      primary: eth2

populate:
  - name: "bond0"
    hash_policy: "layer2"
    members:
      - member: eth1
    mode: "active-backup"
    primary: eth1

  - name: "bond1"
    hash_policy: "layer2+3"
    members:
      - member: eth2
    mode: "active-backup"
    primary: eth2

replaced:
  commands:
    - "delete interfaces bonding bond1 primary"
    - "set interfaces bonding bond1 hash-policy 'layer2'"
    - "set interfaces bonding bond1 mode '802.3ad'"

  after:
    - name: "bond0"
      hash_policy: "layer2"
      members:
        - member: eth1
      mode: "active-backup"
      primary: eth1

    - name: "bond1"
      hash_policy: "layer2"
      members:
        - member: eth2
      mode: "802.3ad"

overridden:
  commands:
    - "delete interfaces bonding bond0 hash-policy"
    - "delete interfaces ethernet eth1 bond-group 'bond0'"
    - "delete interfaces bonding bond0 mode"
    - "delete interfaces bonding bond0 primary"
    - "set interfaces bonding bond1 hash-policy 'layer2'"

  after:
    - name: "bond0"
    - name: "bond1"
      hash_policy: "layer2"
      members:
        - member: eth2
      mode: "active-backup"
      primary: eth2

deleted:
  commands:
    - "delete interfaces bonding bond0 hash-policy"
    - "delete interfaces ethernet eth1 bond-group 'bond0'"
    - "delete interfaces bonding bond0 mode"
    - "delete interfaces bonding bond0 primary"
    - "delete interfaces bonding bond1 hash-policy"
    - "delete interfaces ethernet eth2 bond-group 'bond1'"
    - "delete interfaces bonding bond1 mode"
    - "delete interfaces bonding bond1 primary"

  after:
    - name: "bond0"

    - name: "bond1"

round_trip:
  after:
    - name: "bond0"
      hash_policy: "layer2+3"
      members:
        - member: eth1
      mode: "802.3ad"
      primary: eth1

    - name: "bond1"
      hash_policy: "layer2"
      members:
        - member: eth2
      mode: "xor-hash"
      primary: eth2
