---
- debug: msg="START TRANSPORT:{{ connection.transport }} nxos_acl sanity test"

- set_fact: time_range="ans-range"
  when: not (platform | match("N5K"))

- name: "Setup: Cleanup possibly existing acl."
  nxos_acl: &remove
    name: TEST_ACL
    seq: 10
    state: absent
    provider: "{{ connection }}"
  ignore_errors: yes

- name: "Configure ACL"
  nxos_acl: &configure
    name: TEST_ACL
    seq: 10
    action: permit
    proto: tcp
    src: 1.1.1.1/24
    src_port_op: range
    src_port1: 1900
    src_port2: 1910
    ack: 'enable'
    dscp: 'af43'
    dest: any
    urg: 'enable'
    psh: 'enable'
    established: 'enable'
    log: 'enable'
    fin: 'enable'
    rst: 'enable'
    syn: 'enable'
    time_range: "{{time_range|default(omit)}}"
    state: present
    provider: "{{ connection }}"
  register: result

- assert: &true
    that:
      - "result.changed == true"

- name: "Check Idempotence"
  nxos_acl: *configure
  register: result

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

- name: "Remove ACL"
  nxos_acl: *remove
  register: result

- assert: *true

- name: "Check Idempotence"
  nxos_acl: *remove
  register: result

- assert: *false

- debug: msg="END TRANSPORT:{{ connection.transport }} nxos_acl sanity test"
