1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
# Copyright (c) 2018, Ansible Project
from ansiblelint import AnsibleLintRule
class DeprecatedModuleRule(AnsibleLintRule):
id = '105'
shortdesc = 'Deprecated module'
description = (
'These are deprecated modules, some modules are kept '
'temporarily for backwards compatibility but usage is discouraged. '
'For more details see: '
'https://docs.ansible.com/ansible/latest/modules/list_of_all_modules.html'
)
severity = 'HIGH'
tags = ['deprecated']
version_added = 'v4.0.0'
_modules = [
'accelerate', 'aos_asn_pool', 'aos_blueprint', 'aos_blueprint_param',
'aos_blueprint_virtnet', 'aos_device', 'aos_external_router',
'aos_ip_pool', 'aos_logical_device', 'aos_logical_device_map',
'aos_login', 'aos_rack_type', 'aos_template', 'azure', 'cl_bond',
'cl_bridge', 'cl_img_install', 'cl_interface', 'cl_interface_policy',
'cl_license', 'cl_ports', 'cs_nic', 'docker', 'ec2_ami_find',
'ec2_ami_search', 'ec2_remote_facts', 'ec2_vpc', 'kubernetes',
'netscaler', 'nxos_ip_interface', 'nxos_mtu', 'nxos_portchannel',
'nxos_switchport', 'oc', 'panos_nat_policy', 'panos_security_policy',
'vsphere_guest', 'win_msi', 'include'
]
def matchtask(self, file, task):
module = task["action"]["__ansible_module__"]
if module in self._modules:
message = '{0} {1}'
return message.format(self.shortdesc, module)
return False
|