HTTP(S) API connection plugin (#39224)

* HTTPAPI connection

* Punt run_commands to cliconf or httpapi

* Fake enable_mode on eapi

* Pull changes to nxos

* Move load_config to edit_config for future-preparedness

* Don't fail on lldp disabled

* Re-enable check_rc on nxos' run_commands

* Reorganize nxos httpapi plugin for compatibility

* draft docs for connection: httpapi

* restores docs for connection:local for eapi

* Add _remote_is_local to httpapi
This commit is contained in:
Nathaniel Case
2018-05-17 18:47:15 -04:00
committed by GitHub
parent cc61c86049
commit e9d7fa0418
277 changed files with 1325 additions and 1676 deletions

View File

@@ -1,5 +1,5 @@
---
- debug: msg="START eapi/backup.yaml"
- debug: msg="START eapi/backup.yaml on connection={{ ansible_connection }}"
- name: setup
eos_config:
@@ -9,14 +9,14 @@
parents:
- interface Ethernet2
match: none
provider: "{{ eapi }}"
become: yes
- name: collect any backup files
find:
paths: "{{ role_path }}/backup"
pattern: "{{ inventory_hostname_short }}_config*"
register: backup_files
delegate_to: localhost
connection: local
- name: delete backup files
file:
@@ -28,7 +28,7 @@
eos_config:
src: basic/config.j2
backup: yes
provider: "{{ eapi }}"
become: yes
register: result
- assert:
@@ -41,10 +41,10 @@
paths: "{{ role_path }}/backup"
pattern: "{{ inventory_hostname_short }}_config*"
register: backup_files
delegate_to: localhost
connection: local
- assert:
that:
- "backup_files.files is defined"
- debug: msg="END eapi/backup.yaml"
- debug: msg="END eapi/backup.yaml on connection={{ ansible_connection }}"

View File

@@ -9,13 +9,11 @@
parents:
- interface Ethernet2
match: none
provider: "{{ eapi }}"
- name: configure device with defaults included
eos_config:
src: defaults/config.j2
defaults: yes
provider: "{{ eapi }}"
register: result
- debug: var=result
@@ -29,7 +27,6 @@
eos_config:
src: defaults/config.j2
defaults: yes
provider: "{{ eapi }}"
register: result
- debug: var=result

View File

@@ -9,13 +9,11 @@
parents:
- interface Ethernet2
match: none
provider: "{{ eapi }}"
- name: save config
eos_config:
save_when: always
provider: "{{ eapi }}"
register: result
- assert:
@@ -25,7 +23,6 @@
- name: save should always run
eos_config:
save_when: always
provider: "{{ eapi }}"
register: result
- assert:

View File

@@ -9,12 +9,10 @@
parents:
- interface Ethernet2
match: none
provider: "{{ eapi }}"
- name: configure device with config
eos_config:
src: basic/config.j2
provider: "{{ eapi }}"
register: result
- assert:
@@ -26,7 +24,6 @@
- name: check device with config
eos_config:
src: basic/config.j2
provider: "{{ eapi }}"
register: result
- assert:

View File

@@ -6,7 +6,6 @@
- name: configure with invalid src
eos_config:
src: basic/foobar.j2
provider: "{{ eapi }}"
register: result
ignore_errors: yes

View File

@@ -9,12 +9,10 @@
parents:
- interface Ethernet2
match: none
provider: "{{ eapi }}"
- name: configure device with config
eos_config:
src: basic/config.j2
provider: "{{ eapi }}"
match: none
register: result
@@ -27,7 +25,6 @@
- name: check device with config
eos_config:
src: basic/config.j2
provider: "{{ eapi }}"
register: result
- assert:

View File

@@ -5,14 +5,12 @@
eos_config:
lines: no ip access-list test
match: none
provider: "{{ eapi }}"
- name: configure sub level command
eos_config:
lines: 10 permit ip any any log
parents: ip access-list test
after: exit
provider: "{{ eapi }}"
register: result
- assert:
@@ -25,7 +23,6 @@
eos_config:
lines: 10 permit ip any any log
parents: ip access-list test
provider: "{{ eapi }}"
register: result
- assert:
@@ -36,6 +33,5 @@
eos_config:
lines: no ip access-list test
match: none
provider: "{{ cli }}"
- debug: msg="END eapi/sublevel.yaml"

View File

@@ -10,7 +10,6 @@
parents: ip access-list test
before: no ip access-list test
match: none
provider: "{{ eapi }}"
- name: configure sub level command using block resplace
eos_config:
@@ -22,7 +21,6 @@
parents: ip access-list test
after: end
replace: block
provider: "{{ eapi }}"
register: result
- assert:
@@ -43,7 +41,6 @@
- 40 permit ip host 4.4.4.4 any log
parents: ip access-list test
replace: block
provider: "{{ eapi }}"
register: result
- assert:
@@ -54,6 +51,5 @@
eos_config:
lines: no ip access-list test
match: none
provider: "{{ eapi }}"
- debug: msg="END eapi/sublevel_block.yaml"

View File

@@ -13,7 +13,6 @@
before: no ip access-list test
after: exit
match: none
provider: "{{ eapi }}"
- name: configure sub level command using exact match
eos_config:
@@ -26,7 +25,6 @@
parents: ip access-list test
after: exit
match: exact
provider: "{{ eapi }}"
register: result
- assert:
@@ -49,7 +47,6 @@
before: no ip access-list test
parents: ip access-list test
match: exact
provider: "{{ eapi }}"
register: result
- assert:
@@ -60,6 +57,5 @@
eos_config:
lines: no ip access-list test
match: none
provider: "{{ eapi }}"
- debug: msg="END eapi/sublevel_exact.yaml"

View File

@@ -11,7 +11,6 @@
- 50 permit ip host 5.5.5.5 any log
parents: ip access-list test
before: no ip access-list test
provider: "{{ eapi }}"
match: none
- name: configure sub level command using strict match
@@ -26,7 +25,6 @@
after: exit
match: strict
replace: block
provider: "{{ eapi }}"
register: result
- assert:
@@ -48,7 +46,6 @@
- 40 permit ip host 4.4.4.4 any log
parents: ip access-list test
match: strict
provider: "{{ eapi }}"
register: result
- assert:
@@ -59,6 +56,5 @@
eos_config:
lines: no ip access-list test
match: none
provider: "{{ eapi }}"
- debug: msg="END eapi/sublevel_strict.yaml"

View File

@@ -5,12 +5,10 @@
eos_config:
lines: hostname {{ inventory_hostname_short }}
match: none
provider: "{{ eapi }}"
- name: configure top level command
eos_config:
lines: hostname foo
provider: "{{ eapi }}"
register: result
- assert:
@@ -21,7 +19,6 @@
- name: configure top level command idempotent check
eos_config:
lines: hostname foo
provider: "{{ eapi }}"
register: result
- assert:
@@ -32,6 +29,5 @@
eos_config:
lines: hostname {{ inventory_hostname_short }}
match: none
provider: "{{ eapi }}"
- debug: msg="END eapi/toplevel.yaml"

View File

@@ -7,13 +7,11 @@
- "snmp-server contact ansible"
- "hostname {{ inventory_hostname_short }}"
match: none
provider: "{{ eapi }}"
- name: configure top level command with before
eos_config:
lines: hostname foo
after: snmp-server contact bar
provider: "{{ eapi }}"
register: result
- assert:
@@ -26,7 +24,6 @@
eos_config:
lines: hostname foo
after: snmp-server contact foo
provider: "{{ eapi }}"
register: result
- assert:
@@ -39,6 +36,5 @@
- no snmp-server contact
- hostname {{ inventory_hostname_short }}
match: none
provider: "{{ eapi }}"
- debug: msg="END eapi/toplevel_after.yaml"

View File

@@ -7,13 +7,11 @@
- "snmp-server contact ansible"
- "hostname {{ inventory_hostname_short }}"
match: none
provider: "{{ eapi }}"
- name: configure top level command with before
eos_config:
lines: hostname foo
before: snmp-server contact bar
provider: "{{ eapi }}"
register: result
- assert:
@@ -26,7 +24,6 @@
eos_config:
lines: hostname foo
before: snmp-server contact foo
provider: "{{ eapi }}"
register: result
- assert:
@@ -39,6 +36,5 @@
- no snmp-server contact ansible
- hostname {{ inventory_hostname_short }}
match: none
provider: "{{ eapi }}"
- debug: msg="END eapi/toplevel_before.yaml"