---
- debug: msg="START cli/sublevel_strict.yaml on connection={{ ansible_connection }}"

- name: setup
  iosxr_config:
    commands:
      - 10 permit ipv4 host 192.0.2.1 any log
      - 20 permit ipv4 host 192.0.2.3 any log
      - 30 permit ipv4 host 192.0.2.2 any log
      - 40 permit ipv4 host 192.0.2.4 any log
      - 50 permit ipv4 host 192.0.2.5 any log
    parents: ['ipv4 access-list test']
    before: ['no ipv4 access-list test']
    match: none

- name: configure sub level command using strict match
  iosxr_config:
    commands:
      - 10 permit ipv4 host 192.0.2.1 any log
      - 20 permit ipv4 host 192.0.2.2 any log
      - 30 permit ipv4 host 192.0.2.3 any log
      - 40 permit ipv4 host 192.0.2.4 any log
    parents: ['ipv4 access-list test']
    before: ['no ipv4 access-list test']
    match: strict
    replace: block
  register: result

- assert:
    that:
      - "result.changed == true"
      - "'ipv4 access-list test' in result.commands"
      - "'10 permit ipv4 host 192.0.2.1 any log' in result.commands"
      - "'20 permit ipv4 host 192.0.2.2 any log' in result.commands"
      - "'30 permit ipv4 host 192.0.2.3 any log' in result.commands"
      - "'40 permit ipv4 host 192.0.2.4 any log' in result.commands"
      - "'50 permit ipv4 host 192.0.2.5 any log' not in result.commands"

- name: check sub level command using strict match
  iosxr_config:
    commands:
      - 10 permit ipv4 host 192.0.2.1 any log
      - 20 permit ipv4 host 192.0.2.2 any log
      - 30 permit ipv4 host 192.0.2.3 any log
      - 40 permit ipv4 host 192.0.2.4 any log
    parents: ['ipv4 access-list test']
    match: strict
  register: result

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

- name: teardown
  iosxr_config:
    commands: ['no ipv4 access-list test']
    match: none

- debug: msg="END cli/sublevel_strict.yaml on connection={{ ansible_connection }}"
