---
- debug: msg='START cli/sublevel_strict.yaml'

- name: setup
  nxos_config:
    commands:
      - 10 permit ip 1.1.1.1/32 any log
      - 20 permit ip 2.2.2.2/32 any log
      - 30 permit ip 3.3.3.3/32 any log
      - 40 permit ip 4.4.4.4/32 any log
      - 50 permit ip 5.5.5.5/32 any log
    parents: ip access-list test
    before: no ip access-list test
    provider: "{{ cli }}"
    match: none

- name: configure sub level command using strict match
  nxos_config:
    lines:
      - 10 permit ip 1.1.1.1/32 any log
      - 30 permit ip 3.3.3.3/32 any log
      - 20 permit ip 2.2.2.2/32 any log
      - 40 permit ip 4.4.4.4/32 any log
    parents: ip access-list test
    before: no ip access-list test
    match: strict
    replace: block
    provider: "{{ cli }}"
  register: result

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

- name: check sub level command using strict match
  nxos_config:
    lines:
      - 10 permit ip 1.1.1.1/32 any log
      - 20 permit ip 2.2.2.2/32 any log
      - 30 permit ip 3.3.3.3/32 any log
      - 40 permit ip 4.4.4.4/32 any log
    parents: ip access-list test
    match: strict
    provider: "{{ cli }}"
  register: result

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

- name: teardown
  nxos_config:
    commands: no ip access-list test
    provider: "{{ cli }}"
    match: none

- debug: msg='END cli/sublevel_strict.yaml'
