---
- debug: msg="START connection={{ ansible_connection }} nxos_interface sub-interface test"
- debug: msg="Using provider={{ connection.transport }}"
  when: ansible_connection == "local"

- set_fact: testint="{{ nxos_int1 }}"

- name: Setup - delete sub-interface
  nxos_interface: &rm
    name: "{{ testint }}.20"
    provider: "{{ connection }}"
    state: absent
  ignore_errors: yes

- name: Setup - Ensure the interface is layer3
  nxos_interface:
    name: "{{ testint }}"
    mode: layer3
    provider: "{{ connection }}"

- name: Create sub-interface
  nxos_interface: &sub_int
    name: "{{ testint }}.20"
    description: "sub-interface Configured by Ansible"
    admin_state: up
    mtu: 800
    provider: "{{ connection }}"
  register: result

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

- name: Create sub-interface (Idempotence)
  nxos_interface: *sub_int
  register: result

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

- name: Make admin_state down
  nxos_interface: &state_down
    name: "{{ testint }}.20"
    description: "sub-interface Configured by Ansible"
    admin_state: down
    mtu: 800
    provider: "{{ connection }}"
  register: result

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

- name: Create sub-interface (Idempotence)
  nxos_interface: *state_down
  register: result

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

- name: Remove sub-interface
  nxos_interface: *rm
  register: result

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

- name: Remove sub-interface (Idempotence)
  nxos_interface: *rm
  register: result

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

- debug: msg="END connection={{ ansible_connection }} nxos_interface sub-interface test"
