fixes eos_eapi to error on wrong transport (#21993)

pull/21926/merge
Peter Sprygada 8 years ago committed by GitHub
parent e8ef826976
commit f95a11a9db

@ -187,6 +187,13 @@ from ansible.module_utils.eos import run_commands, load_config
from ansible.module_utils.six import iteritems from ansible.module_utils.six import iteritems
from ansible.module_utils.eos import eos_argument_spec, check_args from ansible.module_utils.eos import eos_argument_spec, check_args
def check_transport(module):
transport = module.params['transport']
provider_transport = (module.params['provider'] or {}).get('transport')
if 'eapi' in (transport, provider_transport):
module.fail_json(msg='eos_eapi module is only supported over cli transport')
def validate_http_port(value, module): def validate_http_port(value, module):
if not 1 <= value <= 65535: if not 1 <= value <= 65535:
module.fail_json(msg='http_port must be between 1 and 65535') module.fail_json(msg='http_port must be between 1 and 65535')
@ -372,6 +379,7 @@ def main():
module = AnsibleModule(argument_spec=argument_spec, module = AnsibleModule(argument_spec=argument_spec,
supports_check_mode=True) supports_check_mode=True)
check_transport(module)
result = {'changed': False} result = {'changed': False}

@ -1,16 +0,0 @@
- debug: msg="START CLI/BADTRANSPORT.YAML"
- name: Expect transport other than cli to fail
eos_eapi:
provider: "{{ eapi }}"
register: eos_eapi_output
connection: local
ignore_errors: yes
- debug: var=eos_eapi_output
when: debug
- assert:
that: eos_eapi_output.failed and eos_eapi_output.msg |search('transport')
- debug: msg="START CLI/BADTRANSPORT.YAML"

@ -0,0 +1,13 @@
- debug: msg="START CLI/BADTRANSPORT.YAML"
- name: Expect transport other than cli to fail
eos_eapi:
provider: "{{ eapi }}"
register: eos_eapi_output
connection: local
ignore_errors: yes
- assert:
that: eos_eapi_output.failed == true
- debug: msg="START CLI/BADTRANSPORT.YAML"
Loading…
Cancel
Save