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

@@ -8,7 +8,6 @@
- show interfaces Management1
wait_for:
- "result[1].interfaces.Management1.name foo Management"
provider: "{{ eapi }}"
register: result
ignore_errors: yes

View File

@@ -1,15 +1,14 @@
---
- debug: msg="START eapi/contains.yaml"
- debug: msg="START eapi/contains.yaml on connection={{ ansible_connection }}"
- name: test contains operator
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[0].modelName contains EOS"
- "result[1].interfaces.Management1.name contains Management"
provider: "{{ eapi }}"
- "result[0] contains EOS"
- "result[1].interfaces.Management1.name contains Manage"
register: result
- assert:
@@ -17,4 +16,4 @@
- "result.changed == false"
- "result.stdout is defined"
- debug: msg="END eapi/contains.yaml"
- debug: msg="END eapi/contains.yaml on connection={{ ansible_connection }}"

View File

@@ -1,14 +1,13 @@
---
- debug: msg="START eapi/equal.yaml"
- debug: msg="START eapi/equal.yaml on connection={{ ansible_connection }}"
- name: test eq operator
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.name eq Management1"
provider: "{{ eapi }}"
register: result
- assert:
@@ -20,10 +19,9 @@
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.name == Management1"
provider: "{{ eapi }}"
register: result
- assert:
@@ -31,4 +29,4 @@
- "result.changed == false"
- "result.stdout is defined"
- debug: msg="END eapi/equal.yaml"
- debug: msg="END eapi/equal.yaml on connection={{ ansible_connection }}"

View File

@@ -1,14 +1,13 @@
---
- debug: msg="START eapi/greaterthan.yaml"
- debug: msg="START eapi/greaterthan.yaml on connection={{ ansible_connection }}"
- name: test gt operator
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu gt 0"
provider: "{{ eapi }}"
register: result
- assert:
@@ -20,10 +19,9 @@
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu >= 0"
provider: "{{ eapi }}"
- "result[1].interfaces.Management1.mtu > 0"
register: result
- assert:
@@ -31,4 +29,4 @@
- "result.changed == false"
- "result.stdout is defined"
- debug: msg="END eapi/greaterthan.yaml"
- debug: msg="END eapi/greaterthan.yaml on connection={{ ansible_connection }}"

View File

@@ -1,14 +1,13 @@
---
- debug: msg="START eapi/greaterthanorequal.yaml"
- debug: msg="START eapi/greaterthanorequal.yaml on connection={{ ansible_connection }}"
- name: test ge operator
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu ge 0"
provider: "{{ eapi }}"
register: result
- assert:
@@ -20,10 +19,9 @@
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu >= 0"
provider: "{{ eapi }}"
register: result
- assert:
@@ -31,4 +29,4 @@
- "result.changed == false"
- "result.stdout is defined"
- debug: msg="END eapi/greaterthanorequal.yaml"
- debug: msg="END eapi/greaterthanorequal.yaml on connection={{ ansible_connection }}"

View File

@@ -4,7 +4,6 @@
- name: run invalid command
eos_command:
commands: ['show foo']
provider: "{{ eapi }}"
register: result
ignore_errors: yes
@@ -18,7 +17,6 @@
commands:
- show version
- show foo
provider: "{{ eapi }}"
register: result
ignore_errors: yes

View File

@@ -1,14 +1,13 @@
---
- debug: msg="START eapi/lessthan.yaml"
- debug: msg="START eapi/lessthan.yaml on connection={{ ansible_connection }}"
- name: test lt operator
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu lt 9100"
provider: "{{ eapi }}"
- "result[1].interfaces.Management1.mtu lt 1600"
register: result
- assert:
@@ -20,10 +19,9 @@
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu < 9100"
provider: "{{ eapi }}"
- "result[1].interfaces.Management1.mtu < 1600"
register: result
- assert:
@@ -31,4 +29,4 @@
- "result.changed == false"
- "result.stdout is defined"
- debug: msg="END eapi/lessthan.yaml"
- debug: msg="END eapi/lessthan.yaml on connection={{ ansible_connection }}"

View File

@@ -1,14 +1,13 @@
---
- debug: msg="START eapi/lessthanorequal.yaml"
- debug: msg="START eapi/lessthanorequal.yaml on connection={{ ansible_connection }}"
- name: test le operator
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu le 9100"
provider: "{{ eapi }}"
- "result[1].interfaces.Management1.mtu le 1600"
register: result
- assert:
@@ -20,10 +19,9 @@
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu <= 9100"
provider: "{{ eapi }}"
- "result[1].interfaces.Management1.mtu <= 1600"
register: result
- assert:
@@ -31,4 +29,4 @@
- "result.changed == false"
- "result.stdout is defined"
- debug: msg="END eapi/lessthanorequal.yaml"
- debug: msg="END eapi/lessthanorequal.yaml on connection={{ ansible_connection }}"

View File

@@ -1,14 +1,13 @@
---
- debug: msg="START eapi/notequal.yaml"
- debug: msg="START eapi/notequal.yaml on connection={{ ansible_connection }}"
- name: test neq operator
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.name neq Ethernet"
provider: "{{ eapi }}"
register: result
- assert:
@@ -20,10 +19,9 @@
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.name != Ethernet"
provider: "{{ eapi }}"
register: result
- assert:
@@ -31,4 +29,4 @@
- "result.changed == false"
- "result.stdout is defined"
- debug: msg="END eapi/notequal.yaml"
- debug: msg="END eapi/notequal.yaml on connection={{ ansible_connection }}"

View File

@@ -4,7 +4,6 @@
- name: get output for single command
eos_command:
commands: ['show version']
provider: "{{ eapi }}"
register: result
- assert:
@@ -17,7 +16,6 @@
commands:
- show version
- show interfaces
provider: "{{ eapi }}"
register: result
- assert:

View File

@@ -8,7 +8,6 @@
wait_for:
- "result[0].version foo 4.15"
retries: 1
provider: "{{ eapi }}"
register: result
ignore_errors: yes