diff --git a/lib/ansible/modules/network/eos/eos_eapi.py b/lib/ansible/modules/network/eos/eos_eapi.py index a526b2729be..36af7ea6c83 100644 --- a/lib/ansible/modules/network/eos/eos_eapi.py +++ b/lib/ansible/modules/network/eos/eos_eapi.py @@ -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.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): if not 1 <= value <= 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, supports_check_mode=True) + check_transport(module) result = {'changed': False} diff --git a/test/integration/targets/eos_eapi/tests/cli/badtransport.1 b/test/integration/targets/eos_eapi/tests/cli/badtransport.1 deleted file mode 100644 index 32b51555d7f..00000000000 --- a/test/integration/targets/eos_eapi/tests/cli/badtransport.1 +++ /dev/null @@ -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" diff --git a/test/integration/targets/eos_eapi/tests/cli/badtransport.yaml b/test/integration/targets/eos_eapi/tests/cli/badtransport.yaml new file mode 100644 index 00000000000..73c812ce590 --- /dev/null +++ b/test/integration/targets/eos_eapi/tests/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"