---
- debug: msg="START connection={{ ansible_connection }} nxos_vtp_password sanity test"
- debug: msg="Using provider={{ connection.transport }}"
  when: ansible_connection == "local"

- set_fact: vtp_run="true"
- set_fact: vtp_run="false"
  when: platform is search('N3K-F|N9K-F')

- block:
  - name: disable feature vtp
    nxos_feature:
      feature: vtp
      provider: "{{ connection }}"
      state: disabled
    ignore_errors: yes

  - name: enable feature vtp
    nxos_feature:
      feature: vtp
      provider: "{{ connection }}"
      state: enabled

  - name: configure vtp domain
    nxos_vtp_domain:
      domain: testing
      provider: "{{ connection }}"

  - name: configure vtp password
    nxos_vtp_password: &configure
      vtp_password: ntc
      provider: "{{ connection }}"
      state: present
    register: result

  - assert: &true
      that:
        - "result.changed == true"
  
  - name: "Conf Idempotence"
    nxos_vtp_password: *configure
    register: result

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

  - name: remove vtp password
    nxos_vtp_password: &remove
      vtp_password: ntc
      provider: "{{ connection }}"
      state: absent
    register: result

  - assert: *true

  - name: "Remove Idempotence"
    nxos_vtp_password: *remove
    register: result

  - assert: *false

  when: vtp_run

  always:
  - name: disable feature vtp
    nxos_feature:
      feature: vtp
      provider: "{{ connection }}"
      state: disabled

- debug: msg="END connection={{ ansible_connection }} nxos_vtp_password sanity test"
