---
- debug: msg="START eapi/sublevel_strict.yaml"

- name: setup
  eos_config:
    lines:
      - 10 permit ip host 1.1.1.1 any log
      - 20 permit ip host 2.2.2.2 any log
      - 30 permit ip host 3.3.3.3 any log
      - 40 permit ip host 4.4.4.4 any log
      - 50 permit ip host 5.5.5.5 any log
    parents: ip access-list test
    before: no ip access-list test
    match: none
  become: yes

- name: configure sub level command using strict match
  eos_config:
    lines:
      - 10 permit ip host 1.1.1.1 any log
      - 20 permit ip host 3.3.3.3 any log
      - 30 permit ip host 2.2.2.2 any log
      - 40 permit ip host 4.4.4.4 any log
    parents: ip access-list test
    before: no ip access-list test
    after: exit
    match: strict
    replace: block
  become: yes
  register: result

- assert:
    that:
      - "result.changed == true"
      - "'ip access-list test' in result.updates"
      - "'10 permit ip host 1.1.1.1 any log' in result.updates"
      - "'30 permit ip host 2.2.2.2 any log' in result.updates"
      - "'20 permit ip host 3.3.3.3 any log' in result.updates"
      - "'40 permit ip host 4.4.4.4 any log' in result.updates"
      - "'50 permit ip host 5.5.5.5 any log' not in result.updates"

- name: check sub level command using strict match
  eos_config:
    lines:
      - 10 permit ip host 1.1.1.1 any log
      - 20 permit ip host 3.3.3.3 any log
      - 30 permit ip host 2.2.2.2 any log
      - 40 permit ip host 4.4.4.4 any log
    parents: ip access-list test
    match: strict
  become: yes
  register: result

- assert:
    that:
      - "result.changed == false"

- name: teardown
  eos_config:
    lines: no ip access-list test
    match: none
  become: yes

- debug: msg="END eapi/sublevel_strict.yaml"
