#--- #- name: setup - remove vlan used in test # ios_config: # lines: # - no vlan 100 # - no vlan 200 # - no vlan 300 # authorize: yes #- name: setup - remove switchport settings on interfaces used in test # ios_config: # lines: # - switchport mode access # - no switchport access vlan 100 # authorize: yes # parents: "{{ item }}" # with_items: # - interface GigabitEthernet0/1 # - interface GigabitEthernet0/2 #- name: create vlan # ios_vlan: &create # vlan_id: 100 # name: test-vlan # authorize: yes # register: result #- assert: # that: # - "result.changed == true" # - "'vlan 100' in result.commands" # - "'name test-vlan' in result.commands" #- name: create vlan(idempotence) # ios_vlan: *create # register: result #- assert: # that: # - "result.changed == false" #- name: Add interfaces to vlan # ios_vlan: &interfaces # vlan_id: 100 # interfaces: # - GigabitEthernet0/1 # - GigabitEthernet0/2 # authorize: yes # register: result #- assert: # that: # - "result.changed == true" # - "'interface GigabitEthernet0/1' in result.commands" # - "'switchport mode access' in result.commands" # - "'switchport access vlan 100' in result.commands" # - "'interface GigabitEthernet0/2' in result.commands" # - "'switchport mode access' in result.commands" # - "'switchport access vlan 100' in result.commands" #- name: Add interfaces to vlan(idempotence) # ios_vlan: *interfaces # register: result #- assert: # that: # - "result.changed == false" #- name: Remove interface from vlan # ios_vlan: &single_int # vlan_id: 100 # interfaces: # - GigabitEthernet0/1 # authorize: yes # register: result #- assert: # that: # - "result.changed == true" # - "'vlan 100' in result.commands" # - "'interface GigabitEthernet0/2' in result.commands" # - "'switchport mode access' in result.commands" # - "'no switchport access vlan 100' in result.commands" #- name: Remove interface from vlan(idempotence) # ios_vlan: *single_int # register: result #- assert: # that: # - "result.changed == false" #- name: Suspend vlan # ios_vlan: # vlan_id: 100 # state: suspend # authorize: yes # register: result #- assert: # that: # - "result.changed == true" # - "'vlan 100' in result.commands" # - "'state suspend' in result.commands" #- name: Unsuspend vlan # ios_vlan: # vlan_id: 100 # state: active # authorize: yes # register: result #- assert: # that: # - "result.changed == true" # - "'vlan 100' in result.commands" # - "'state active' in result.commands" #- name: delete vlan # ios_vlan: &delete # vlan_id: 100 # authorize: yes # state: absent # register: result #- assert: # that: # - "result.changed == true" # - "'no vlan 100' in result.commands" #- name: delete vlan(idempotence) # ios_vlan: *delete # register: result #- assert: # that: # - "result.changed == false" #- name: create vlans using aggregate # ios_vlan: &create_aggregate # aggregate: # - { vlan_id: 200, name: vlan-200 } # - { vlan_id: 300, name: vlan-300 } # authorize: yes # register: result #- assert: # that: # - "result.changed == true" # - "'vlan 200' in result.commands" # - "'name vlan-200' in result.commands" # - "'vlan 300' in result.commands" # - "'name vlan-300' in result.commands" #- name: create vlans using aggregate(idempotence) # ios_vlan: *create_aggregate # register: result #- assert: # that: # - "result.changed == false" #- name: delete vlans using aggregate # ios_vlan: &delete_aggregate # aggregate: # - { vlan_id: 200, name: vlan-200 } # - { vlan_id: 300, name: vlan-300 } # state: absent # authorize: yes # register: result #- assert: # that: # - "result.changed == true" # - "'no vlan 200' in result.commands" # - "'no vlan 300' in result.commands" #- name: delete vlans using aggregate(idempotence) # ios_vlan: *delete_aggregate # register: result #- assert: # that: # - "result.changed == false" #- name: teardown(part1) # ios_config: # lines: # - no vlan 100 # - no vlan 200 # - no vlan 300 # authorize: yes #- name: teardown(part2) # ios_config: # lines: # - switchport mode access # - no switchport access vlan 100 # authorize: yes # parents: "{{ item }}" # with_items: # - interface GigabitEthernet0/1 # - interface GigabitEthernet0/2