summaryrefslogtreecommitdiff
path: root/zuul/ansible
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2022-04-27 21:46:54 +0000
committerGerrit Code Review <review@openstack.org>2022-04-27 21:46:54 +0000
commit04a62a18dc7dd4b647cbc9773ea21e4a848dc352 (patch)
tree48fdd293d19a30af4622457b8e2a34dc88198948 /zuul/ansible
parent8b946e9ba34d2872d97171239332c589c3182c29 (diff)
parent3ec48b986e2b50671498fb2036e4731aaed559fc (diff)
downloadzuul-04a62a18dc7dd4b647cbc9773ea21e4a848dc352.tar.gz
Merge "Remove unused ansible modules"
Diffstat (limited to 'zuul/ansible')
l---------zuul/ansible/2.7/action/command.py1
l---------zuul/ansible/2.7/action/command.pyi1
l---------zuul/ansible/2.7/actiontrusted/__init__.py1
l---------zuul/ansible/2.7/actiontrusted/command.py1
l---------zuul/ansible/2.7/actiontrusted/command.pyi1
l---------zuul/ansible/2.8/action/add_host.py1
l---------zuul/ansible/2.8/action/add_host.pyi1
l---------zuul/ansible/2.8/action/aireos.py1
l---------zuul/ansible/2.8/action/aireos.pyi1
l---------zuul/ansible/2.8/action/aireos_config.py1
l---------zuul/ansible/2.8/action/aireos_config.pyi1
l---------zuul/ansible/2.8/action/aruba.py1
l---------zuul/ansible/2.8/action/aruba.pyi1
l---------zuul/ansible/2.8/action/aruba_config.py1
l---------zuul/ansible/2.8/action/aruba_config.pyi1
l---------zuul/ansible/2.8/action/asa.py1
l---------zuul/ansible/2.8/action/asa.pyi1
l---------zuul/ansible/2.8/action/asa_config.py1
l---------zuul/ansible/2.8/action/asa_config.pyi1
l---------zuul/ansible/2.8/action/asa_template.py1
l---------zuul/ansible/2.8/action/asa_template.pyi1
l---------zuul/ansible/2.8/action/assemble.py1
l---------zuul/ansible/2.8/action/assemble.pyi1
l---------zuul/ansible/2.8/action/aws_s3.py1
l---------zuul/ansible/2.8/action/aws_s3.pyi1
l---------zuul/ansible/2.8/action/ce.py1
l---------zuul/ansible/2.8/action/ce.pyi1
l---------zuul/ansible/2.8/action/ce_config.py1
l---------zuul/ansible/2.8/action/ce_config.pyi1
l---------zuul/ansible/2.8/action/ce_template.py1
l---------zuul/ansible/2.8/action/ce_template.pyi1
l---------zuul/ansible/2.8/action/copy.py1
l---------zuul/ansible/2.8/action/copy.pyi1
l---------zuul/ansible/2.8/action/dellos10_config.py1
l---------zuul/ansible/2.8/action/dellos10_config.pyi1
l---------zuul/ansible/2.8/action/dellos6_config.py1
l---------zuul/ansible/2.8/action/dellos6_config.pyi1
l---------zuul/ansible/2.8/action/dellos9_config.py1
l---------zuul/ansible/2.8/action/dellos9_config.pyi1
l---------zuul/ansible/2.8/action/eos_config.py1
l---------zuul/ansible/2.8/action/eos_config.pyi1
l---------zuul/ansible/2.8/action/eos_template.py1
l---------zuul/ansible/2.8/action/eos_template.pyi1
l---------zuul/ansible/2.8/action/fetch.py1
l---------zuul/ansible/2.8/action/fetch.pyi1
l---------zuul/ansible/2.8/action/fortios_config.py1
l---------zuul/ansible/2.8/action/fortios_config.pyi1
l---------zuul/ansible/2.8/action/include_vars.py1
l---------zuul/ansible/2.8/action/include_vars.pyi1
l---------zuul/ansible/2.8/action/ios_config.py1
l---------zuul/ansible/2.8/action/ios_config.pyi1
l---------zuul/ansible/2.8/action/ios_template.py1
l---------zuul/ansible/2.8/action/ios_template.pyi1
l---------zuul/ansible/2.8/action/iosxr_config.py1
l---------zuul/ansible/2.8/action/iosxr_config.pyi1
l---------zuul/ansible/2.8/action/iosxr_template.py1
l---------zuul/ansible/2.8/action/iosxr_template.pyi1
l---------zuul/ansible/2.8/action/junos_config.py1
l---------zuul/ansible/2.8/action/junos_config.pyi1
l---------zuul/ansible/2.8/action/junos_template.py1
l---------zuul/ansible/2.8/action/junos_template.pyi1
l---------zuul/ansible/2.8/action/net_banner.py1
l---------zuul/ansible/2.8/action/net_banner.pyi1
l---------zuul/ansible/2.8/action/net_base.py1
l---------zuul/ansible/2.8/action/net_base.pyi1
l---------zuul/ansible/2.8/action/net_config.py1
l---------zuul/ansible/2.8/action/net_config.pyi1
l---------zuul/ansible/2.8/action/net_get.py1
l---------zuul/ansible/2.8/action/net_get.pyi1
l---------zuul/ansible/2.8/action/net_interface.py1
l---------zuul/ansible/2.8/action/net_interface.pyi1
l---------zuul/ansible/2.8/action/net_l2_interface.py1
l---------zuul/ansible/2.8/action/net_l2_interface.pyi1
l---------zuul/ansible/2.8/action/net_l3_interface.py1
l---------zuul/ansible/2.8/action/net_l3_interface.pyi1
l---------zuul/ansible/2.8/action/net_linkagg.py1
l---------zuul/ansible/2.8/action/net_linkagg.pyi1
l---------zuul/ansible/2.8/action/net_lldp.py1
l---------zuul/ansible/2.8/action/net_lldp.pyi1
l---------zuul/ansible/2.8/action/net_lldp_interface.py1
l---------zuul/ansible/2.8/action/net_lldp_interface.pyi1
l---------zuul/ansible/2.8/action/net_logging.py1
l---------zuul/ansible/2.8/action/net_logging.pyi1
l---------zuul/ansible/2.8/action/net_ping.py1
l---------zuul/ansible/2.8/action/net_ping.pyi1
l---------zuul/ansible/2.8/action/net_static_route.py1
l---------zuul/ansible/2.8/action/net_static_route.pyi1
l---------zuul/ansible/2.8/action/net_system.py1
l---------zuul/ansible/2.8/action/net_system.pyi1
l---------zuul/ansible/2.8/action/net_template.py1
l---------zuul/ansible/2.8/action/net_template.pyi1
l---------zuul/ansible/2.8/action/net_user.py1
l---------zuul/ansible/2.8/action/net_user.pyi1
l---------zuul/ansible/2.8/action/net_vlan.py1
l---------zuul/ansible/2.8/action/net_vlan.pyi1
l---------zuul/ansible/2.8/action/net_vrf.py1
l---------zuul/ansible/2.8/action/net_vrf.pyi1
l---------zuul/ansible/2.8/action/netconf_config.py1
l---------zuul/ansible/2.8/action/netconf_config.pyi1
l---------zuul/ansible/2.8/action/network.py1
l---------zuul/ansible/2.8/action/network.pyi1
l---------zuul/ansible/2.8/action/normal.py1
l---------zuul/ansible/2.8/action/normal.pyi1
l---------zuul/ansible/2.8/action/nxos_config.py1
l---------zuul/ansible/2.8/action/nxos_config.pyi1
l---------zuul/ansible/2.8/action/nxos_template.py1
l---------zuul/ansible/2.8/action/nxos_template.pyi1
l---------zuul/ansible/2.8/action/ops_config.py1
l---------zuul/ansible/2.8/action/ops_config.pyi1
l---------zuul/ansible/2.8/action/ops_template.py1
l---------zuul/ansible/2.8/action/ops_template.pyi1
l---------zuul/ansible/2.8/action/patch.py1
l---------zuul/ansible/2.8/action/patch.pyi1
l---------zuul/ansible/2.8/action/raw.py1
l---------zuul/ansible/2.8/action/raw.pyi1
l---------zuul/ansible/2.8/action/script.py1
l---------zuul/ansible/2.8/action/script.pyi1
l---------zuul/ansible/2.8/action/sros_config.py1
l---------zuul/ansible/2.8/action/sros_config.pyi1
l---------zuul/ansible/2.8/action/synchronize.py1
l---------zuul/ansible/2.8/action/synchronize.pyi1
l---------zuul/ansible/2.8/action/template.py1
l---------zuul/ansible/2.8/action/template.pyi1
l---------zuul/ansible/2.8/action/unarchive.py1
l---------zuul/ansible/2.8/action/unarchive.pyi1
l---------zuul/ansible/2.8/action/uri.py1
l---------zuul/ansible/2.8/action/uri.pyi1
l---------zuul/ansible/2.8/action/vyos_config.py1
l---------zuul/ansible/2.8/action/vyos_config.pyi1
l---------zuul/ansible/2.8/action/win_copy.py1
l---------zuul/ansible/2.8/action/win_copy.pyi1
l---------zuul/ansible/2.8/action/win_template.py1
l---------zuul/ansible/2.8/action/win_template.pyi1
l---------zuul/ansible/2.8/lookup/__init__.py1
l---------zuul/ansible/2.8/lookup/_banned.py1
l---------zuul/ansible/2.8/lookup/_banned.pyi1
l---------zuul/ansible/2.8/lookup/chef_databag.py1
l---------zuul/ansible/2.8/lookup/chef_databag.pyi1
l---------zuul/ansible/2.8/lookup/consul_kv.py1
l---------zuul/ansible/2.8/lookup/consul_kv.pyi1
l---------zuul/ansible/2.8/lookup/credstash.py1
l---------zuul/ansible/2.8/lookup/credstash.pyi1
l---------zuul/ansible/2.8/lookup/csvfile.py1
l---------zuul/ansible/2.8/lookup/csvfile.pyi1
l---------zuul/ansible/2.8/lookup/cyberarkpassword.py1
l---------zuul/ansible/2.8/lookup/cyberarkpassword.pyi1
l---------zuul/ansible/2.8/lookup/dig.py1
l---------zuul/ansible/2.8/lookup/dig.pyi1
l---------zuul/ansible/2.8/lookup/dnstxt.py1
l---------zuul/ansible/2.8/lookup/dnstxt.pyi1
l---------zuul/ansible/2.8/lookup/env.py1
l---------zuul/ansible/2.8/lookup/env.pyi1
l---------zuul/ansible/2.8/lookup/etcd.py1
l---------zuul/ansible/2.8/lookup/etcd.pyi1
l---------zuul/ansible/2.8/lookup/file.py1
l---------zuul/ansible/2.8/lookup/file.pyi1
l---------zuul/ansible/2.8/lookup/fileglob.py1
l---------zuul/ansible/2.8/lookup/fileglob.pyi1
l---------zuul/ansible/2.8/lookup/filetree.py1
l---------zuul/ansible/2.8/lookup/filetree.pyi1
l---------zuul/ansible/2.8/lookup/first_found.py1
l---------zuul/ansible/2.8/lookup/first_found.pyi1
l---------zuul/ansible/2.8/lookup/hashi_vault.py1
l---------zuul/ansible/2.8/lookup/hashi_vault.pyi1
l---------zuul/ansible/2.8/lookup/hiera.py1
l---------zuul/ansible/2.8/lookup/hiera.pyi1
l---------zuul/ansible/2.8/lookup/ini.py1
l---------zuul/ansible/2.8/lookup/ini.pyi1
l---------zuul/ansible/2.8/lookup/keyring.py1
l---------zuul/ansible/2.8/lookup/keyring.pyi1
l---------zuul/ansible/2.8/lookup/lastpass.py1
l---------zuul/ansible/2.8/lookup/lastpass.pyi1
l---------zuul/ansible/2.8/lookup/lines.py1
l---------zuul/ansible/2.8/lookup/lines.pyi1
l---------zuul/ansible/2.8/lookup/mongodb.py1
l---------zuul/ansible/2.8/lookup/mongodb.pyi1
l---------zuul/ansible/2.8/lookup/password.py1
l---------zuul/ansible/2.8/lookup/password.pyi1
l---------zuul/ansible/2.8/lookup/passwordstore.py1
l---------zuul/ansible/2.8/lookup/passwordstore.pyi1
l---------zuul/ansible/2.8/lookup/pipe.py1
l---------zuul/ansible/2.8/lookup/pipe.pyi1
l---------zuul/ansible/2.8/lookup/redis_kv.py1
l---------zuul/ansible/2.8/lookup/redis_kv.pyi1
l---------zuul/ansible/2.8/lookup/shelvefile.py1
l---------zuul/ansible/2.8/lookup/shelvefile.pyi1
l---------zuul/ansible/2.8/lookup/template.py1
l---------zuul/ansible/2.8/lookup/template.pyi1
l---------zuul/ansible/2.8/lookup/url.py1
l---------zuul/ansible/2.8/lookup/url.pyi1
l---------zuul/ansible/2.9/action/add_host.py1
l---------zuul/ansible/2.9/action/add_host.pyi1
l---------zuul/ansible/2.9/action/aireos.py1
l---------zuul/ansible/2.9/action/aireos.pyi1
l---------zuul/ansible/2.9/action/aireos_config.py1
l---------zuul/ansible/2.9/action/aireos_config.pyi1
l---------zuul/ansible/2.9/action/aruba.py1
l---------zuul/ansible/2.9/action/aruba.pyi1
l---------zuul/ansible/2.9/action/aruba_config.py1
l---------zuul/ansible/2.9/action/aruba_config.pyi1
l---------zuul/ansible/2.9/action/asa.py1
l---------zuul/ansible/2.9/action/asa.pyi1
l---------zuul/ansible/2.9/action/asa_config.py1
l---------zuul/ansible/2.9/action/asa_config.pyi1
l---------zuul/ansible/2.9/action/asa_template.py1
l---------zuul/ansible/2.9/action/asa_template.pyi1
l---------zuul/ansible/2.9/action/assemble.py1
l---------zuul/ansible/2.9/action/assemble.pyi1
l---------zuul/ansible/2.9/action/aws_s3.py1
l---------zuul/ansible/2.9/action/aws_s3.pyi1
l---------zuul/ansible/2.9/action/ce.py1
l---------zuul/ansible/2.9/action/ce.pyi1
l---------zuul/ansible/2.9/action/ce_config.py1
l---------zuul/ansible/2.9/action/ce_config.pyi1
l---------zuul/ansible/2.9/action/ce_template.py1
l---------zuul/ansible/2.9/action/ce_template.pyi1
l---------zuul/ansible/2.9/action/copy.py1
l---------zuul/ansible/2.9/action/copy.pyi1
l---------zuul/ansible/2.9/action/dellos10_config.py1
l---------zuul/ansible/2.9/action/dellos10_config.pyi1
l---------zuul/ansible/2.9/action/dellos6_config.py1
l---------zuul/ansible/2.9/action/dellos6_config.pyi1
l---------zuul/ansible/2.9/action/dellos9_config.py1
l---------zuul/ansible/2.9/action/dellos9_config.pyi1
l---------zuul/ansible/2.9/action/eos_config.py1
l---------zuul/ansible/2.9/action/eos_config.pyi1
l---------zuul/ansible/2.9/action/eos_template.py1
l---------zuul/ansible/2.9/action/eos_template.pyi1
l---------zuul/ansible/2.9/action/fetch.py1
l---------zuul/ansible/2.9/action/fetch.pyi1
l---------zuul/ansible/2.9/action/fortios_config.py1
l---------zuul/ansible/2.9/action/fortios_config.pyi1
l---------zuul/ansible/2.9/action/include_vars.py1
l---------zuul/ansible/2.9/action/include_vars.pyi1
l---------zuul/ansible/2.9/action/ios_config.py1
l---------zuul/ansible/2.9/action/ios_config.pyi1
l---------zuul/ansible/2.9/action/ios_template.py1
l---------zuul/ansible/2.9/action/ios_template.pyi1
l---------zuul/ansible/2.9/action/iosxr_config.py1
l---------zuul/ansible/2.9/action/iosxr_config.pyi1
l---------zuul/ansible/2.9/action/iosxr_template.py1
l---------zuul/ansible/2.9/action/iosxr_template.pyi1
l---------zuul/ansible/2.9/action/junos_config.py1
l---------zuul/ansible/2.9/action/junos_config.pyi1
l---------zuul/ansible/2.9/action/junos_template.py1
l---------zuul/ansible/2.9/action/junos_template.pyi1
l---------zuul/ansible/2.9/action/net_banner.py1
l---------zuul/ansible/2.9/action/net_banner.pyi1
l---------zuul/ansible/2.9/action/net_base.py1
l---------zuul/ansible/2.9/action/net_base.pyi1
l---------zuul/ansible/2.9/action/net_config.py1
l---------zuul/ansible/2.9/action/net_config.pyi1
l---------zuul/ansible/2.9/action/net_get.py1
l---------zuul/ansible/2.9/action/net_get.pyi1
l---------zuul/ansible/2.9/action/net_interface.py1
l---------zuul/ansible/2.9/action/net_interface.pyi1
l---------zuul/ansible/2.9/action/net_l2_interface.py1
l---------zuul/ansible/2.9/action/net_l2_interface.pyi1
l---------zuul/ansible/2.9/action/net_l3_interface.py1
l---------zuul/ansible/2.9/action/net_l3_interface.pyi1
l---------zuul/ansible/2.9/action/net_linkagg.py1
l---------zuul/ansible/2.9/action/net_linkagg.pyi1
l---------zuul/ansible/2.9/action/net_lldp.py1
l---------zuul/ansible/2.9/action/net_lldp.pyi1
l---------zuul/ansible/2.9/action/net_lldp_interface.py1
l---------zuul/ansible/2.9/action/net_lldp_interface.pyi1
l---------zuul/ansible/2.9/action/net_logging.py1
l---------zuul/ansible/2.9/action/net_logging.pyi1
l---------zuul/ansible/2.9/action/net_ping.py1
l---------zuul/ansible/2.9/action/net_ping.pyi1
l---------zuul/ansible/2.9/action/net_static_route.py1
l---------zuul/ansible/2.9/action/net_static_route.pyi1
l---------zuul/ansible/2.9/action/net_system.py1
l---------zuul/ansible/2.9/action/net_system.pyi1
l---------zuul/ansible/2.9/action/net_template.py1
l---------zuul/ansible/2.9/action/net_template.pyi1
l---------zuul/ansible/2.9/action/net_user.py1
l---------zuul/ansible/2.9/action/net_user.pyi1
l---------zuul/ansible/2.9/action/net_vlan.py1
l---------zuul/ansible/2.9/action/net_vlan.pyi1
l---------zuul/ansible/2.9/action/net_vrf.py1
l---------zuul/ansible/2.9/action/net_vrf.pyi1
l---------zuul/ansible/2.9/action/netconf_config.py1
l---------zuul/ansible/2.9/action/netconf_config.pyi1
l---------zuul/ansible/2.9/action/network.py1
l---------zuul/ansible/2.9/action/network.pyi1
l---------zuul/ansible/2.9/action/normal.py1
l---------zuul/ansible/2.9/action/normal.pyi1
l---------zuul/ansible/2.9/action/nxos_config.py1
l---------zuul/ansible/2.9/action/nxos_config.pyi1
l---------zuul/ansible/2.9/action/nxos_template.py1
l---------zuul/ansible/2.9/action/nxos_template.pyi1
l---------zuul/ansible/2.9/action/ops_config.py1
l---------zuul/ansible/2.9/action/ops_config.pyi1
l---------zuul/ansible/2.9/action/ops_template.py1
l---------zuul/ansible/2.9/action/ops_template.pyi1
l---------zuul/ansible/2.9/action/patch.py1
l---------zuul/ansible/2.9/action/patch.pyi1
l---------zuul/ansible/2.9/action/raw.py1
l---------zuul/ansible/2.9/action/raw.pyi1
l---------zuul/ansible/2.9/action/script.py1
l---------zuul/ansible/2.9/action/script.pyi1
l---------zuul/ansible/2.9/action/sros_config.py1
l---------zuul/ansible/2.9/action/sros_config.pyi1
l---------zuul/ansible/2.9/action/synchronize.py1
l---------zuul/ansible/2.9/action/synchronize.pyi1
l---------zuul/ansible/2.9/action/template.py1
l---------zuul/ansible/2.9/action/template.pyi1
l---------zuul/ansible/2.9/action/unarchive.py1
l---------zuul/ansible/2.9/action/unarchive.pyi1
l---------zuul/ansible/2.9/action/uri.py1
l---------zuul/ansible/2.9/action/uri.pyi1
l---------zuul/ansible/2.9/action/vyos_config.py1
l---------zuul/ansible/2.9/action/vyos_config.pyi1
l---------zuul/ansible/2.9/action/win_copy.py1
l---------zuul/ansible/2.9/action/win_copy.pyi1
l---------zuul/ansible/2.9/action/win_template.py1
l---------zuul/ansible/2.9/action/win_template.pyi1
l---------zuul/ansible/2.9/lookup/__init__.py1
l---------zuul/ansible/2.9/lookup/_banned.py1
l---------zuul/ansible/2.9/lookup/_banned.pyi1
l---------zuul/ansible/2.9/lookup/chef_databag.py1
l---------zuul/ansible/2.9/lookup/chef_databag.pyi1
l---------zuul/ansible/2.9/lookup/consul_kv.py1
l---------zuul/ansible/2.9/lookup/consul_kv.pyi1
l---------zuul/ansible/2.9/lookup/credstash.py1
l---------zuul/ansible/2.9/lookup/credstash.pyi1
l---------zuul/ansible/2.9/lookup/csvfile.py1
l---------zuul/ansible/2.9/lookup/csvfile.pyi1
l---------zuul/ansible/2.9/lookup/cyberarkpassword.py1
l---------zuul/ansible/2.9/lookup/cyberarkpassword.pyi1
l---------zuul/ansible/2.9/lookup/dig.py1
l---------zuul/ansible/2.9/lookup/dig.pyi1
l---------zuul/ansible/2.9/lookup/dnstxt.py1
l---------zuul/ansible/2.9/lookup/dnstxt.pyi1
l---------zuul/ansible/2.9/lookup/env.py1
l---------zuul/ansible/2.9/lookup/env.pyi1
l---------zuul/ansible/2.9/lookup/etcd.py1
l---------zuul/ansible/2.9/lookup/etcd.pyi1
l---------zuul/ansible/2.9/lookup/file.py1
l---------zuul/ansible/2.9/lookup/file.pyi1
l---------zuul/ansible/2.9/lookup/fileglob.py1
l---------zuul/ansible/2.9/lookup/fileglob.pyi1
l---------zuul/ansible/2.9/lookup/filetree.py1
l---------zuul/ansible/2.9/lookup/filetree.pyi1
l---------zuul/ansible/2.9/lookup/first_found.py1
l---------zuul/ansible/2.9/lookup/first_found.pyi1
l---------zuul/ansible/2.9/lookup/hashi_vault.py1
l---------zuul/ansible/2.9/lookup/hashi_vault.pyi1
l---------zuul/ansible/2.9/lookup/hiera.py1
l---------zuul/ansible/2.9/lookup/hiera.pyi1
l---------zuul/ansible/2.9/lookup/ini.py1
l---------zuul/ansible/2.9/lookup/ini.pyi1
l---------zuul/ansible/2.9/lookup/keyring.py1
l---------zuul/ansible/2.9/lookup/keyring.pyi1
l---------zuul/ansible/2.9/lookup/lastpass.py1
l---------zuul/ansible/2.9/lookup/lastpass.pyi1
l---------zuul/ansible/2.9/lookup/lines.py1
l---------zuul/ansible/2.9/lookup/lines.pyi1
l---------zuul/ansible/2.9/lookup/mongodb.py1
l---------zuul/ansible/2.9/lookup/mongodb.pyi1
l---------zuul/ansible/2.9/lookup/password.py1
l---------zuul/ansible/2.9/lookup/password.pyi1
l---------zuul/ansible/2.9/lookup/passwordstore.py1
l---------zuul/ansible/2.9/lookup/passwordstore.pyi1
l---------zuul/ansible/2.9/lookup/pipe.py1
l---------zuul/ansible/2.9/lookup/pipe.pyi1
l---------zuul/ansible/2.9/lookup/redis_kv.py1
l---------zuul/ansible/2.9/lookup/redis_kv.pyi1
l---------zuul/ansible/2.9/lookup/shelvefile.py1
l---------zuul/ansible/2.9/lookup/shelvefile.pyi1
l---------zuul/ansible/2.9/lookup/template.py1
l---------zuul/ansible/2.9/lookup/template.pyi1
l---------zuul/ansible/2.9/lookup/url.py1
l---------zuul/ansible/2.9/lookup/url.pyi1
-rw-r--r--zuul/ansible/base/action/add_host.py48
-rw-r--r--zuul/ansible/base/action/add_host.pyi0
l---------zuul/ansible/base/action/aireos.py1
-rw-r--r--zuul/ansible/base/action/aireos.pyi0
l---------zuul/ansible/base/action/aireos_config.py1
-rw-r--r--zuul/ansible/base/action/aireos_config.pyi0
l---------zuul/ansible/base/action/aruba.py1
-rw-r--r--zuul/ansible/base/action/aruba.pyi0
l---------zuul/ansible/base/action/aruba_config.py1
-rw-r--r--zuul/ansible/base/action/aruba_config.pyi0
l---------zuul/ansible/base/action/asa.py1
-rw-r--r--zuul/ansible/base/action/asa.pyi0
l---------zuul/ansible/base/action/asa_config.py1
-rw-r--r--zuul/ansible/base/action/asa_config.pyi0
l---------zuul/ansible/base/action/asa_template.py1
-rw-r--r--zuul/ansible/base/action/asa_template.pyi0
-rw-r--r--zuul/ansible/base/action/assemble.py35
-rw-r--r--zuul/ansible/base/action/assemble.pyi0
-rw-r--r--zuul/ansible/base/action/aws_s3.py35
-rw-r--r--zuul/ansible/base/action/aws_s3.pyi0
l---------zuul/ansible/base/action/ce.py1
-rw-r--r--zuul/ansible/base/action/ce.pyi0
l---------zuul/ansible/base/action/ce_config.py1
-rw-r--r--zuul/ansible/base/action/ce_config.pyi0
l---------zuul/ansible/base/action/ce_template.py1
-rw-r--r--zuul/ansible/base/action/ce_template.pyi0
-rw-r--r--zuul/ansible/base/action/copy.py35
-rw-r--r--zuul/ansible/base/action/copy.pyi0
l---------zuul/ansible/base/action/dellos10_config.py1
-rw-r--r--zuul/ansible/base/action/dellos10_config.pyi0
l---------zuul/ansible/base/action/dellos6_config.py1
-rw-r--r--zuul/ansible/base/action/dellos6_config.pyi0
l---------zuul/ansible/base/action/dellos9_config.py1
-rw-r--r--zuul/ansible/base/action/dellos9_config.pyi0
l---------zuul/ansible/base/action/eos_config.py1
-rw-r--r--zuul/ansible/base/action/eos_config.pyi0
l---------zuul/ansible/base/action/eos_template.py1
-rw-r--r--zuul/ansible/base/action/eos_template.pyi0
-rw-r--r--zuul/ansible/base/action/fetch.py31
-rw-r--r--zuul/ansible/base/action/fetch.pyi0
l---------zuul/ansible/base/action/fortios_config.py1
-rw-r--r--zuul/ansible/base/action/fortios_config.pyi0
-rw-r--r--zuul/ansible/base/action/include_vars.py40
-rw-r--r--zuul/ansible/base/action/include_vars.pyi0
l---------zuul/ansible/base/action/ios_config.py1
-rw-r--r--zuul/ansible/base/action/ios_config.pyi0
l---------zuul/ansible/base/action/ios_template.py1
-rw-r--r--zuul/ansible/base/action/ios_template.pyi0
l---------zuul/ansible/base/action/iosxr_config.py1
-rw-r--r--zuul/ansible/base/action/iosxr_config.pyi0
l---------zuul/ansible/base/action/iosxr_template.py1
-rw-r--r--zuul/ansible/base/action/iosxr_template.pyi0
l---------zuul/ansible/base/action/junos_config.py1
-rw-r--r--zuul/ansible/base/action/junos_config.pyi0
l---------zuul/ansible/base/action/junos_template.py1
-rw-r--r--zuul/ansible/base/action/junos_template.pyi0
l---------zuul/ansible/base/action/net_banner.py1
-rw-r--r--zuul/ansible/base/action/net_banner.pyi0
l---------zuul/ansible/base/action/net_base.py1
-rw-r--r--zuul/ansible/base/action/net_base.pyi0
l---------zuul/ansible/base/action/net_config.py1
-rw-r--r--zuul/ansible/base/action/net_config.pyi0
-rw-r--r--zuul/ansible/base/action/net_get.py31
-rw-r--r--zuul/ansible/base/action/net_get.pyi0
l---------zuul/ansible/base/action/net_interface.py1
-rw-r--r--zuul/ansible/base/action/net_interface.pyi0
l---------zuul/ansible/base/action/net_l2_interface.py1
-rw-r--r--zuul/ansible/base/action/net_l2_interface.pyi0
l---------zuul/ansible/base/action/net_l3_interface.py1
-rw-r--r--zuul/ansible/base/action/net_l3_interface.pyi0
l---------zuul/ansible/base/action/net_linkagg.py1
-rw-r--r--zuul/ansible/base/action/net_linkagg.pyi0
l---------zuul/ansible/base/action/net_lldp.py1
-rw-r--r--zuul/ansible/base/action/net_lldp.pyi0
l---------zuul/ansible/base/action/net_lldp_interface.py1
-rw-r--r--zuul/ansible/base/action/net_lldp_interface.pyi0
l---------zuul/ansible/base/action/net_logging.py1
-rw-r--r--zuul/ansible/base/action/net_logging.pyi0
l---------zuul/ansible/base/action/net_ping.py1
-rw-r--r--zuul/ansible/base/action/net_ping.pyi0
l---------zuul/ansible/base/action/net_static_route.py1
-rw-r--r--zuul/ansible/base/action/net_static_route.pyi0
l---------zuul/ansible/base/action/net_system.py1
-rw-r--r--zuul/ansible/base/action/net_system.pyi0
l---------zuul/ansible/base/action/net_template.py1
-rw-r--r--zuul/ansible/base/action/net_template.pyi0
l---------zuul/ansible/base/action/net_user.py1
-rw-r--r--zuul/ansible/base/action/net_user.pyi0
l---------zuul/ansible/base/action/net_vlan.py1
-rw-r--r--zuul/ansible/base/action/net_vlan.pyi0
l---------zuul/ansible/base/action/net_vrf.py1
-rw-r--r--zuul/ansible/base/action/net_vrf.pyi0
l---------zuul/ansible/base/action/netconf_config.py1
-rw-r--r--zuul/ansible/base/action/netconf_config.pyi0
-rw-r--r--zuul/ansible/base/action/network.py25
-rw-r--r--zuul/ansible/base/action/network.pyi0
-rw-r--r--zuul/ansible/base/action/normal.py117
-rw-r--r--zuul/ansible/base/action/normal.pyi0
l---------zuul/ansible/base/action/nxos_config.py1
-rw-r--r--zuul/ansible/base/action/nxos_config.pyi0
l---------zuul/ansible/base/action/nxos_template.py1
-rw-r--r--zuul/ansible/base/action/nxos_template.pyi0
l---------zuul/ansible/base/action/ops_config.py1
-rw-r--r--zuul/ansible/base/action/ops_config.pyi0
l---------zuul/ansible/base/action/ops_template.py1
-rw-r--r--zuul/ansible/base/action/ops_template.pyi0
-rw-r--r--zuul/ansible/base/action/patch.py43
-rw-r--r--zuul/ansible/base/action/patch.pyi0
-rw-r--r--zuul/ansible/base/action/raw.py32
-rw-r--r--zuul/ansible/base/action/raw.pyi0
-rw-r--r--zuul/ansible/base/action/script.py36
-rw-r--r--zuul/ansible/base/action/script.pyi0
l---------zuul/ansible/base/action/sros_config.py1
-rw-r--r--zuul/ansible/base/action/sros_config.pyi0
-rw-r--r--zuul/ansible/base/action/synchronize.py75
-rw-r--r--zuul/ansible/base/action/synchronize.pyi0
-rw-r--r--zuul/ansible/base/action/template.py31
-rw-r--r--zuul/ansible/base/action/template.pyi0
-rw-r--r--zuul/ansible/base/action/unarchive.py36
-rw-r--r--zuul/ansible/base/action/unarchive.pyi0
-rw-r--r--zuul/ansible/base/action/uri.py49
-rw-r--r--zuul/ansible/base/action/uri.pyi0
l---------zuul/ansible/base/action/vyos_config.py1
-rw-r--r--zuul/ansible/base/action/vyos_config.pyi0
-rw-r--r--zuul/ansible/base/action/win_copy.py31
-rw-r--r--zuul/ansible/base/action/win_copy.pyi0
-rw-r--r--zuul/ansible/base/action/win_template.py31
-rw-r--r--zuul/ansible/base/action/win_template.pyi0
-rw-r--r--zuul/ansible/base/lookup/__init__.py0
-rw-r--r--zuul/ansible/base/lookup/_banned.py25
-rw-r--r--zuul/ansible/base/lookup/_banned.pyi0
l---------zuul/ansible/base/lookup/chef_databag.py1
-rw-r--r--zuul/ansible/base/lookup/chef_databag.pyi0
l---------zuul/ansible/base/lookup/consul_kv.py1
-rw-r--r--zuul/ansible/base/lookup/consul_kv.pyi0
l---------zuul/ansible/base/lookup/credstash.py1
-rw-r--r--zuul/ansible/base/lookup/credstash.pyi0
-rw-r--r--zuul/ansible/base/lookup/csvfile.py44
-rw-r--r--zuul/ansible/base/lookup/csvfile.pyi0
l---------zuul/ansible/base/lookup/cyberarkpassword.py1
-rw-r--r--zuul/ansible/base/lookup/cyberarkpassword.pyi0
l---------zuul/ansible/base/lookup/dig.py1
-rw-r--r--zuul/ansible/base/lookup/dig.pyi0
l---------zuul/ansible/base/lookup/dnstxt.py1
-rw-r--r--zuul/ansible/base/lookup/dnstxt.pyi0
l---------zuul/ansible/base/lookup/env.py1
-rw-r--r--zuul/ansible/base/lookup/env.pyi0
l---------zuul/ansible/base/lookup/etcd.py1
-rw-r--r--zuul/ansible/base/lookup/etcd.pyi0
-rw-r--r--zuul/ansible/base/lookup/file.py28
-rw-r--r--zuul/ansible/base/lookup/file.pyi0
-rw-r--r--zuul/ansible/base/lookup/fileglob.py45
-rw-r--r--zuul/ansible/base/lookup/fileglob.pyi0
-rw-r--r--zuul/ansible/base/lookup/filetree.py32
-rw-r--r--zuul/ansible/base/lookup/filetree.pyi0
-rw-r--r--zuul/ansible/base/lookup/first_found.py201
-rw-r--r--zuul/ansible/base/lookup/first_found.pyi0
l---------zuul/ansible/base/lookup/hashi_vault.py1
-rw-r--r--zuul/ansible/base/lookup/hashi_vault.pyi0
l---------zuul/ansible/base/lookup/hiera.py1
-rw-r--r--zuul/ansible/base/lookup/hiera.pyi0
-rw-r--r--zuul/ansible/base/lookup/ini.py31
-rw-r--r--zuul/ansible/base/lookup/ini.pyi0
l---------zuul/ansible/base/lookup/keyring.py1
-rw-r--r--zuul/ansible/base/lookup/keyring.pyi0
l---------zuul/ansible/base/lookup/lastpass.py1
-rw-r--r--zuul/ansible/base/lookup/lastpass.pyi0
l---------zuul/ansible/base/lookup/lines.py1
-rw-r--r--zuul/ansible/base/lookup/lines.pyi0
l---------zuul/ansible/base/lookup/mongodb.py1
-rw-r--r--zuul/ansible/base/lookup/mongodb.pyi0
-rw-r--r--zuul/ansible/base/lookup/password.py30
-rw-r--r--zuul/ansible/base/lookup/password.pyi0
l---------zuul/ansible/base/lookup/passwordstore.py1
-rw-r--r--zuul/ansible/base/lookup/passwordstore.pyi0
l---------zuul/ansible/base/lookup/pipe.py1
-rw-r--r--zuul/ansible/base/lookup/pipe.pyi0
l---------zuul/ansible/base/lookup/redis_kv.py1
-rw-r--r--zuul/ansible/base/lookup/redis_kv.pyi0
l---------zuul/ansible/base/lookup/shelvefile.py1
-rw-r--r--zuul/ansible/base/lookup/shelvefile.pyi0
-rw-r--r--zuul/ansible/base/lookup/template.py27
-rw-r--r--zuul/ansible/base/lookup/template.pyi0
l---------zuul/ansible/base/lookup/url.py1
-rw-r--r--zuul/ansible/base/lookup/url.pyi0
560 files changed, 0 insertions, 1664 deletions
diff --git a/zuul/ansible/2.7/action/command.py b/zuul/ansible/2.7/action/command.py
deleted file mode 120000
index 56c6b636f..000000000
--- a/zuul/ansible/2.7/action/command.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/command.py \ No newline at end of file
diff --git a/zuul/ansible/2.7/action/command.pyi b/zuul/ansible/2.7/action/command.pyi
deleted file mode 120000
index a003281ca..000000000
--- a/zuul/ansible/2.7/action/command.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/command.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.7/actiontrusted/__init__.py b/zuul/ansible/2.7/actiontrusted/__init__.py
deleted file mode 120000
index e64650426..000000000
--- a/zuul/ansible/2.7/actiontrusted/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/actiontrusted/__init__.py \ No newline at end of file
diff --git a/zuul/ansible/2.7/actiontrusted/command.py b/zuul/ansible/2.7/actiontrusted/command.py
deleted file mode 120000
index 0eb995eaa..000000000
--- a/zuul/ansible/2.7/actiontrusted/command.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/actiontrusted/command.py \ No newline at end of file
diff --git a/zuul/ansible/2.7/actiontrusted/command.pyi b/zuul/ansible/2.7/actiontrusted/command.pyi
deleted file mode 120000
index 17d0db7f6..000000000
--- a/zuul/ansible/2.7/actiontrusted/command.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/actiontrusted/command.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/add_host.py b/zuul/ansible/2.8/action/add_host.py
deleted file mode 120000
index fdb7f466b..000000000
--- a/zuul/ansible/2.8/action/add_host.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/add_host.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/add_host.pyi b/zuul/ansible/2.8/action/add_host.pyi
deleted file mode 120000
index 9257939ce..000000000
--- a/zuul/ansible/2.8/action/add_host.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/add_host.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/aireos.py b/zuul/ansible/2.8/action/aireos.py
deleted file mode 120000
index f2459ab86..000000000
--- a/zuul/ansible/2.8/action/aireos.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/aireos.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/aireos.pyi b/zuul/ansible/2.8/action/aireos.pyi
deleted file mode 120000
index f58722a86..000000000
--- a/zuul/ansible/2.8/action/aireos.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/aireos.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/aireos_config.py b/zuul/ansible/2.8/action/aireos_config.py
deleted file mode 120000
index acc0dd85e..000000000
--- a/zuul/ansible/2.8/action/aireos_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/aireos_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/aireos_config.pyi b/zuul/ansible/2.8/action/aireos_config.pyi
deleted file mode 120000
index fc7b16cf6..000000000
--- a/zuul/ansible/2.8/action/aireos_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/aireos_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/aruba.py b/zuul/ansible/2.8/action/aruba.py
deleted file mode 120000
index 8784b92ed..000000000
--- a/zuul/ansible/2.8/action/aruba.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/aruba.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/aruba.pyi b/zuul/ansible/2.8/action/aruba.pyi
deleted file mode 120000
index 228b3ecfe..000000000
--- a/zuul/ansible/2.8/action/aruba.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/aruba.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/aruba_config.py b/zuul/ansible/2.8/action/aruba_config.py
deleted file mode 120000
index f50d9082b..000000000
--- a/zuul/ansible/2.8/action/aruba_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/aruba_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/aruba_config.pyi b/zuul/ansible/2.8/action/aruba_config.pyi
deleted file mode 120000
index bab9d28fd..000000000
--- a/zuul/ansible/2.8/action/aruba_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/aruba_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/asa.py b/zuul/ansible/2.8/action/asa.py
deleted file mode 120000
index 3e7e93dc0..000000000
--- a/zuul/ansible/2.8/action/asa.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/asa.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/asa.pyi b/zuul/ansible/2.8/action/asa.pyi
deleted file mode 120000
index e0cdc24b5..000000000
--- a/zuul/ansible/2.8/action/asa.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/asa.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/asa_config.py b/zuul/ansible/2.8/action/asa_config.py
deleted file mode 120000
index 598f400d5..000000000
--- a/zuul/ansible/2.8/action/asa_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/asa_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/asa_config.pyi b/zuul/ansible/2.8/action/asa_config.pyi
deleted file mode 120000
index 86fe03484..000000000
--- a/zuul/ansible/2.8/action/asa_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/asa_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/asa_template.py b/zuul/ansible/2.8/action/asa_template.py
deleted file mode 120000
index e1e8eecbe..000000000
--- a/zuul/ansible/2.8/action/asa_template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/asa_template.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/asa_template.pyi b/zuul/ansible/2.8/action/asa_template.pyi
deleted file mode 120000
index 0753101f1..000000000
--- a/zuul/ansible/2.8/action/asa_template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/asa_template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/assemble.py b/zuul/ansible/2.8/action/assemble.py
deleted file mode 120000
index 22273b123..000000000
--- a/zuul/ansible/2.8/action/assemble.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/assemble.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/assemble.pyi b/zuul/ansible/2.8/action/assemble.pyi
deleted file mode 120000
index 3a7074ec7..000000000
--- a/zuul/ansible/2.8/action/assemble.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/assemble.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/aws_s3.py b/zuul/ansible/2.8/action/aws_s3.py
deleted file mode 120000
index a2dabf9f8..000000000
--- a/zuul/ansible/2.8/action/aws_s3.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/aws_s3.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/aws_s3.pyi b/zuul/ansible/2.8/action/aws_s3.pyi
deleted file mode 120000
index 5ac40a7db..000000000
--- a/zuul/ansible/2.8/action/aws_s3.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/aws_s3.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/ce.py b/zuul/ansible/2.8/action/ce.py
deleted file mode 120000
index db95d9121..000000000
--- a/zuul/ansible/2.8/action/ce.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ce.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/ce.pyi b/zuul/ansible/2.8/action/ce.pyi
deleted file mode 120000
index ba2365f2b..000000000
--- a/zuul/ansible/2.8/action/ce.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ce.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/ce_config.py b/zuul/ansible/2.8/action/ce_config.py
deleted file mode 120000
index ec0319843..000000000
--- a/zuul/ansible/2.8/action/ce_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ce_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/ce_config.pyi b/zuul/ansible/2.8/action/ce_config.pyi
deleted file mode 120000
index b762785d1..000000000
--- a/zuul/ansible/2.8/action/ce_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ce_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/ce_template.py b/zuul/ansible/2.8/action/ce_template.py
deleted file mode 120000
index aa59e80a0..000000000
--- a/zuul/ansible/2.8/action/ce_template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ce_template.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/ce_template.pyi b/zuul/ansible/2.8/action/ce_template.pyi
deleted file mode 120000
index 75ba2250c..000000000
--- a/zuul/ansible/2.8/action/ce_template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ce_template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/copy.py b/zuul/ansible/2.8/action/copy.py
deleted file mode 120000
index 1c0c2291f..000000000
--- a/zuul/ansible/2.8/action/copy.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/copy.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/copy.pyi b/zuul/ansible/2.8/action/copy.pyi
deleted file mode 120000
index 189722f2a..000000000
--- a/zuul/ansible/2.8/action/copy.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/copy.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/dellos10_config.py b/zuul/ansible/2.8/action/dellos10_config.py
deleted file mode 120000
index caf6ce6c3..000000000
--- a/zuul/ansible/2.8/action/dellos10_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/dellos10_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/dellos10_config.pyi b/zuul/ansible/2.8/action/dellos10_config.pyi
deleted file mode 120000
index ede9a927e..000000000
--- a/zuul/ansible/2.8/action/dellos10_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/dellos10_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/dellos6_config.py b/zuul/ansible/2.8/action/dellos6_config.py
deleted file mode 120000
index 080fcce4c..000000000
--- a/zuul/ansible/2.8/action/dellos6_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/dellos6_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/dellos6_config.pyi b/zuul/ansible/2.8/action/dellos6_config.pyi
deleted file mode 120000
index d5cf3ce15..000000000
--- a/zuul/ansible/2.8/action/dellos6_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/dellos6_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/dellos9_config.py b/zuul/ansible/2.8/action/dellos9_config.py
deleted file mode 120000
index c2e79870c..000000000
--- a/zuul/ansible/2.8/action/dellos9_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/dellos9_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/dellos9_config.pyi b/zuul/ansible/2.8/action/dellos9_config.pyi
deleted file mode 120000
index b50389ab4..000000000
--- a/zuul/ansible/2.8/action/dellos9_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/dellos9_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/eos_config.py b/zuul/ansible/2.8/action/eos_config.py
deleted file mode 120000
index 4d1ab53bb..000000000
--- a/zuul/ansible/2.8/action/eos_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/eos_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/eos_config.pyi b/zuul/ansible/2.8/action/eos_config.pyi
deleted file mode 120000
index f6d058ba1..000000000
--- a/zuul/ansible/2.8/action/eos_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/eos_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/eos_template.py b/zuul/ansible/2.8/action/eos_template.py
deleted file mode 120000
index a108bf66f..000000000
--- a/zuul/ansible/2.8/action/eos_template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/eos_template.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/eos_template.pyi b/zuul/ansible/2.8/action/eos_template.pyi
deleted file mode 120000
index b9cac42e8..000000000
--- a/zuul/ansible/2.8/action/eos_template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/eos_template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/fetch.py b/zuul/ansible/2.8/action/fetch.py
deleted file mode 120000
index d53e02548..000000000
--- a/zuul/ansible/2.8/action/fetch.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/fetch.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/fetch.pyi b/zuul/ansible/2.8/action/fetch.pyi
deleted file mode 120000
index b3ae31523..000000000
--- a/zuul/ansible/2.8/action/fetch.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/fetch.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/fortios_config.py b/zuul/ansible/2.8/action/fortios_config.py
deleted file mode 120000
index ef38743bc..000000000
--- a/zuul/ansible/2.8/action/fortios_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/fortios_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/fortios_config.pyi b/zuul/ansible/2.8/action/fortios_config.pyi
deleted file mode 120000
index fa334a059..000000000
--- a/zuul/ansible/2.8/action/fortios_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/fortios_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/include_vars.py b/zuul/ansible/2.8/action/include_vars.py
deleted file mode 120000
index 832d5a27a..000000000
--- a/zuul/ansible/2.8/action/include_vars.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/include_vars.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/include_vars.pyi b/zuul/ansible/2.8/action/include_vars.pyi
deleted file mode 120000
index 4099c1ae6..000000000
--- a/zuul/ansible/2.8/action/include_vars.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/include_vars.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/ios_config.py b/zuul/ansible/2.8/action/ios_config.py
deleted file mode 120000
index f1495d47e..000000000
--- a/zuul/ansible/2.8/action/ios_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ios_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/ios_config.pyi b/zuul/ansible/2.8/action/ios_config.pyi
deleted file mode 120000
index e6af5e34c..000000000
--- a/zuul/ansible/2.8/action/ios_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ios_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/ios_template.py b/zuul/ansible/2.8/action/ios_template.py
deleted file mode 120000
index ef863cedf..000000000
--- a/zuul/ansible/2.8/action/ios_template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ios_template.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/ios_template.pyi b/zuul/ansible/2.8/action/ios_template.pyi
deleted file mode 120000
index c37247812..000000000
--- a/zuul/ansible/2.8/action/ios_template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ios_template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/iosxr_config.py b/zuul/ansible/2.8/action/iosxr_config.py
deleted file mode 120000
index 4eb293626..000000000
--- a/zuul/ansible/2.8/action/iosxr_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/iosxr_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/iosxr_config.pyi b/zuul/ansible/2.8/action/iosxr_config.pyi
deleted file mode 120000
index 70a2d67a3..000000000
--- a/zuul/ansible/2.8/action/iosxr_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/iosxr_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/iosxr_template.py b/zuul/ansible/2.8/action/iosxr_template.py
deleted file mode 120000
index 6a60fa49e..000000000
--- a/zuul/ansible/2.8/action/iosxr_template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/iosxr_template.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/iosxr_template.pyi b/zuul/ansible/2.8/action/iosxr_template.pyi
deleted file mode 120000
index 918f5a113..000000000
--- a/zuul/ansible/2.8/action/iosxr_template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/iosxr_template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/junos_config.py b/zuul/ansible/2.8/action/junos_config.py
deleted file mode 120000
index c50f3bc67..000000000
--- a/zuul/ansible/2.8/action/junos_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/junos_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/junos_config.pyi b/zuul/ansible/2.8/action/junos_config.pyi
deleted file mode 120000
index 31cbba451..000000000
--- a/zuul/ansible/2.8/action/junos_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/junos_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/junos_template.py b/zuul/ansible/2.8/action/junos_template.py
deleted file mode 120000
index a2119b7cd..000000000
--- a/zuul/ansible/2.8/action/junos_template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/junos_template.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/junos_template.pyi b/zuul/ansible/2.8/action/junos_template.pyi
deleted file mode 120000
index e6ef22ba9..000000000
--- a/zuul/ansible/2.8/action/junos_template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/junos_template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_banner.py b/zuul/ansible/2.8/action/net_banner.py
deleted file mode 120000
index 69cc6d5a4..000000000
--- a/zuul/ansible/2.8/action/net_banner.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_banner.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_banner.pyi b/zuul/ansible/2.8/action/net_banner.pyi
deleted file mode 120000
index f926dbf70..000000000
--- a/zuul/ansible/2.8/action/net_banner.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_banner.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_base.py b/zuul/ansible/2.8/action/net_base.py
deleted file mode 120000
index f36b6ecc7..000000000
--- a/zuul/ansible/2.8/action/net_base.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_base.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_base.pyi b/zuul/ansible/2.8/action/net_base.pyi
deleted file mode 120000
index 9f6ce1b7d..000000000
--- a/zuul/ansible/2.8/action/net_base.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_base.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_config.py b/zuul/ansible/2.8/action/net_config.py
deleted file mode 120000
index a817ca518..000000000
--- a/zuul/ansible/2.8/action/net_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_config.pyi b/zuul/ansible/2.8/action/net_config.pyi
deleted file mode 120000
index 412b8110e..000000000
--- a/zuul/ansible/2.8/action/net_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_get.py b/zuul/ansible/2.8/action/net_get.py
deleted file mode 120000
index da3d7be0e..000000000
--- a/zuul/ansible/2.8/action/net_get.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_get.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_get.pyi b/zuul/ansible/2.8/action/net_get.pyi
deleted file mode 120000
index 015c4271b..000000000
--- a/zuul/ansible/2.8/action/net_get.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_get.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_interface.py b/zuul/ansible/2.8/action/net_interface.py
deleted file mode 120000
index 1d24f7821..000000000
--- a/zuul/ansible/2.8/action/net_interface.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_interface.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_interface.pyi b/zuul/ansible/2.8/action/net_interface.pyi
deleted file mode 120000
index 57bb45316..000000000
--- a/zuul/ansible/2.8/action/net_interface.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_interface.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_l2_interface.py b/zuul/ansible/2.8/action/net_l2_interface.py
deleted file mode 120000
index 1f44192c8..000000000
--- a/zuul/ansible/2.8/action/net_l2_interface.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_l2_interface.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_l2_interface.pyi b/zuul/ansible/2.8/action/net_l2_interface.pyi
deleted file mode 120000
index 2b780821d..000000000
--- a/zuul/ansible/2.8/action/net_l2_interface.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_l2_interface.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_l3_interface.py b/zuul/ansible/2.8/action/net_l3_interface.py
deleted file mode 120000
index 97017f4e3..000000000
--- a/zuul/ansible/2.8/action/net_l3_interface.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_l3_interface.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_l3_interface.pyi b/zuul/ansible/2.8/action/net_l3_interface.pyi
deleted file mode 120000
index 9317599a2..000000000
--- a/zuul/ansible/2.8/action/net_l3_interface.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_l3_interface.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_linkagg.py b/zuul/ansible/2.8/action/net_linkagg.py
deleted file mode 120000
index d3fc53dd1..000000000
--- a/zuul/ansible/2.8/action/net_linkagg.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_linkagg.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_linkagg.pyi b/zuul/ansible/2.8/action/net_linkagg.pyi
deleted file mode 120000
index b5fac56b6..000000000
--- a/zuul/ansible/2.8/action/net_linkagg.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_linkagg.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_lldp.py b/zuul/ansible/2.8/action/net_lldp.py
deleted file mode 120000
index 15fc3a859..000000000
--- a/zuul/ansible/2.8/action/net_lldp.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_lldp.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_lldp.pyi b/zuul/ansible/2.8/action/net_lldp.pyi
deleted file mode 120000
index a627fdec7..000000000
--- a/zuul/ansible/2.8/action/net_lldp.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_lldp.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_lldp_interface.py b/zuul/ansible/2.8/action/net_lldp_interface.py
deleted file mode 120000
index f57ec137f..000000000
--- a/zuul/ansible/2.8/action/net_lldp_interface.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_lldp_interface.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_lldp_interface.pyi b/zuul/ansible/2.8/action/net_lldp_interface.pyi
deleted file mode 120000
index fdd97b078..000000000
--- a/zuul/ansible/2.8/action/net_lldp_interface.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_lldp_interface.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_logging.py b/zuul/ansible/2.8/action/net_logging.py
deleted file mode 120000
index 57d9766aa..000000000
--- a/zuul/ansible/2.8/action/net_logging.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_logging.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_logging.pyi b/zuul/ansible/2.8/action/net_logging.pyi
deleted file mode 120000
index 1d6f1b029..000000000
--- a/zuul/ansible/2.8/action/net_logging.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_logging.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_ping.py b/zuul/ansible/2.8/action/net_ping.py
deleted file mode 120000
index 696d9f526..000000000
--- a/zuul/ansible/2.8/action/net_ping.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_ping.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_ping.pyi b/zuul/ansible/2.8/action/net_ping.pyi
deleted file mode 120000
index 03f84e975..000000000
--- a/zuul/ansible/2.8/action/net_ping.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_ping.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_static_route.py b/zuul/ansible/2.8/action/net_static_route.py
deleted file mode 120000
index c22b7f0e0..000000000
--- a/zuul/ansible/2.8/action/net_static_route.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_static_route.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_static_route.pyi b/zuul/ansible/2.8/action/net_static_route.pyi
deleted file mode 120000
index 859c20fec..000000000
--- a/zuul/ansible/2.8/action/net_static_route.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_static_route.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_system.py b/zuul/ansible/2.8/action/net_system.py
deleted file mode 120000
index a03dd93c9..000000000
--- a/zuul/ansible/2.8/action/net_system.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_system.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_system.pyi b/zuul/ansible/2.8/action/net_system.pyi
deleted file mode 120000
index cc159053b..000000000
--- a/zuul/ansible/2.8/action/net_system.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_system.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_template.py b/zuul/ansible/2.8/action/net_template.py
deleted file mode 120000
index 18ba965e4..000000000
--- a/zuul/ansible/2.8/action/net_template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_template.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_template.pyi b/zuul/ansible/2.8/action/net_template.pyi
deleted file mode 120000
index 3bfbb6f0f..000000000
--- a/zuul/ansible/2.8/action/net_template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_user.py b/zuul/ansible/2.8/action/net_user.py
deleted file mode 120000
index fcfb3f55a..000000000
--- a/zuul/ansible/2.8/action/net_user.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_user.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_user.pyi b/zuul/ansible/2.8/action/net_user.pyi
deleted file mode 120000
index 267f5da34..000000000
--- a/zuul/ansible/2.8/action/net_user.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_user.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_vlan.py b/zuul/ansible/2.8/action/net_vlan.py
deleted file mode 120000
index df275656f..000000000
--- a/zuul/ansible/2.8/action/net_vlan.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_vlan.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_vlan.pyi b/zuul/ansible/2.8/action/net_vlan.pyi
deleted file mode 120000
index 718074899..000000000
--- a/zuul/ansible/2.8/action/net_vlan.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_vlan.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_vrf.py b/zuul/ansible/2.8/action/net_vrf.py
deleted file mode 120000
index c757d2100..000000000
--- a/zuul/ansible/2.8/action/net_vrf.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_vrf.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/net_vrf.pyi b/zuul/ansible/2.8/action/net_vrf.pyi
deleted file mode 120000
index df043a0cd..000000000
--- a/zuul/ansible/2.8/action/net_vrf.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_vrf.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/netconf_config.py b/zuul/ansible/2.8/action/netconf_config.py
deleted file mode 120000
index 4d13bb82c..000000000
--- a/zuul/ansible/2.8/action/netconf_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/netconf_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/netconf_config.pyi b/zuul/ansible/2.8/action/netconf_config.pyi
deleted file mode 120000
index c75a746b4..000000000
--- a/zuul/ansible/2.8/action/netconf_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/netconf_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/network.py b/zuul/ansible/2.8/action/network.py
deleted file mode 120000
index 9e2d1baa4..000000000
--- a/zuul/ansible/2.8/action/network.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/network.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/network.pyi b/zuul/ansible/2.8/action/network.pyi
deleted file mode 120000
index e1842d197..000000000
--- a/zuul/ansible/2.8/action/network.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/network.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/normal.py b/zuul/ansible/2.8/action/normal.py
deleted file mode 120000
index 4e131d98d..000000000
--- a/zuul/ansible/2.8/action/normal.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/normal.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/normal.pyi b/zuul/ansible/2.8/action/normal.pyi
deleted file mode 120000
index bbbe0704c..000000000
--- a/zuul/ansible/2.8/action/normal.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/normal.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/nxos_config.py b/zuul/ansible/2.8/action/nxos_config.py
deleted file mode 120000
index 0cc233c34..000000000
--- a/zuul/ansible/2.8/action/nxos_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/nxos_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/nxos_config.pyi b/zuul/ansible/2.8/action/nxos_config.pyi
deleted file mode 120000
index b2e63b6e3..000000000
--- a/zuul/ansible/2.8/action/nxos_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/nxos_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/nxos_template.py b/zuul/ansible/2.8/action/nxos_template.py
deleted file mode 120000
index 3d599062a..000000000
--- a/zuul/ansible/2.8/action/nxos_template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/nxos_template.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/nxos_template.pyi b/zuul/ansible/2.8/action/nxos_template.pyi
deleted file mode 120000
index e36fa4e90..000000000
--- a/zuul/ansible/2.8/action/nxos_template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/nxos_template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/ops_config.py b/zuul/ansible/2.8/action/ops_config.py
deleted file mode 120000
index 2abe0669d..000000000
--- a/zuul/ansible/2.8/action/ops_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ops_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/ops_config.pyi b/zuul/ansible/2.8/action/ops_config.pyi
deleted file mode 120000
index 7517f9c7b..000000000
--- a/zuul/ansible/2.8/action/ops_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ops_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/ops_template.py b/zuul/ansible/2.8/action/ops_template.py
deleted file mode 120000
index 5c841ca57..000000000
--- a/zuul/ansible/2.8/action/ops_template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ops_template.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/ops_template.pyi b/zuul/ansible/2.8/action/ops_template.pyi
deleted file mode 120000
index 4baa28a3f..000000000
--- a/zuul/ansible/2.8/action/ops_template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ops_template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/patch.py b/zuul/ansible/2.8/action/patch.py
deleted file mode 120000
index 8996710ba..000000000
--- a/zuul/ansible/2.8/action/patch.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/patch.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/patch.pyi b/zuul/ansible/2.8/action/patch.pyi
deleted file mode 120000
index 577e43600..000000000
--- a/zuul/ansible/2.8/action/patch.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/patch.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/raw.py b/zuul/ansible/2.8/action/raw.py
deleted file mode 120000
index e4962dd8a..000000000
--- a/zuul/ansible/2.8/action/raw.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/raw.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/raw.pyi b/zuul/ansible/2.8/action/raw.pyi
deleted file mode 120000
index 741945ef2..000000000
--- a/zuul/ansible/2.8/action/raw.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/raw.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/script.py b/zuul/ansible/2.8/action/script.py
deleted file mode 120000
index 1cccf5805..000000000
--- a/zuul/ansible/2.8/action/script.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/script.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/script.pyi b/zuul/ansible/2.8/action/script.pyi
deleted file mode 120000
index aff69744b..000000000
--- a/zuul/ansible/2.8/action/script.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/script.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/sros_config.py b/zuul/ansible/2.8/action/sros_config.py
deleted file mode 120000
index 1762874e4..000000000
--- a/zuul/ansible/2.8/action/sros_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/sros_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/sros_config.pyi b/zuul/ansible/2.8/action/sros_config.pyi
deleted file mode 120000
index 453e4b8e1..000000000
--- a/zuul/ansible/2.8/action/sros_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/sros_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/synchronize.py b/zuul/ansible/2.8/action/synchronize.py
deleted file mode 120000
index f2126166c..000000000
--- a/zuul/ansible/2.8/action/synchronize.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/synchronize.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/synchronize.pyi b/zuul/ansible/2.8/action/synchronize.pyi
deleted file mode 120000
index 4ff1a2ee9..000000000
--- a/zuul/ansible/2.8/action/synchronize.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/synchronize.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/template.py b/zuul/ansible/2.8/action/template.py
deleted file mode 120000
index 720717d83..000000000
--- a/zuul/ansible/2.8/action/template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/template.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/template.pyi b/zuul/ansible/2.8/action/template.pyi
deleted file mode 120000
index aed7fb07a..000000000
--- a/zuul/ansible/2.8/action/template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/unarchive.py b/zuul/ansible/2.8/action/unarchive.py
deleted file mode 120000
index 2d7ce5aed..000000000
--- a/zuul/ansible/2.8/action/unarchive.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/unarchive.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/unarchive.pyi b/zuul/ansible/2.8/action/unarchive.pyi
deleted file mode 120000
index fead9ca55..000000000
--- a/zuul/ansible/2.8/action/unarchive.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/unarchive.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/uri.py b/zuul/ansible/2.8/action/uri.py
deleted file mode 120000
index 7c4b15f45..000000000
--- a/zuul/ansible/2.8/action/uri.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/uri.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/uri.pyi b/zuul/ansible/2.8/action/uri.pyi
deleted file mode 120000
index 015bb9fe3..000000000
--- a/zuul/ansible/2.8/action/uri.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/uri.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/vyos_config.py b/zuul/ansible/2.8/action/vyos_config.py
deleted file mode 120000
index 2732fd7a1..000000000
--- a/zuul/ansible/2.8/action/vyos_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/vyos_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/vyos_config.pyi b/zuul/ansible/2.8/action/vyos_config.pyi
deleted file mode 120000
index ac5d76632..000000000
--- a/zuul/ansible/2.8/action/vyos_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/vyos_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/win_copy.py b/zuul/ansible/2.8/action/win_copy.py
deleted file mode 120000
index 80c3f3846..000000000
--- a/zuul/ansible/2.8/action/win_copy.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/win_copy.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/win_copy.pyi b/zuul/ansible/2.8/action/win_copy.pyi
deleted file mode 120000
index 017c792ff..000000000
--- a/zuul/ansible/2.8/action/win_copy.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/win_copy.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/win_template.py b/zuul/ansible/2.8/action/win_template.py
deleted file mode 120000
index f2a8b2d63..000000000
--- a/zuul/ansible/2.8/action/win_template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/win_template.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/action/win_template.pyi b/zuul/ansible/2.8/action/win_template.pyi
deleted file mode 120000
index 40825895b..000000000
--- a/zuul/ansible/2.8/action/win_template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/win_template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/__init__.py b/zuul/ansible/2.8/lookup/__init__.py
deleted file mode 120000
index b008ecb3b..000000000
--- a/zuul/ansible/2.8/lookup/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/__init__.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/_banned.py b/zuul/ansible/2.8/lookup/_banned.py
deleted file mode 120000
index 2e127f4e7..000000000
--- a/zuul/ansible/2.8/lookup/_banned.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/_banned.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/_banned.pyi b/zuul/ansible/2.8/lookup/_banned.pyi
deleted file mode 120000
index d7909135d..000000000
--- a/zuul/ansible/2.8/lookup/_banned.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/_banned.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/chef_databag.py b/zuul/ansible/2.8/lookup/chef_databag.py
deleted file mode 120000
index d4efe7e85..000000000
--- a/zuul/ansible/2.8/lookup/chef_databag.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/chef_databag.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/chef_databag.pyi b/zuul/ansible/2.8/lookup/chef_databag.pyi
deleted file mode 120000
index c06fc3001..000000000
--- a/zuul/ansible/2.8/lookup/chef_databag.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/chef_databag.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/consul_kv.py b/zuul/ansible/2.8/lookup/consul_kv.py
deleted file mode 120000
index 66b6f7617..000000000
--- a/zuul/ansible/2.8/lookup/consul_kv.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/consul_kv.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/consul_kv.pyi b/zuul/ansible/2.8/lookup/consul_kv.pyi
deleted file mode 120000
index 33d848347..000000000
--- a/zuul/ansible/2.8/lookup/consul_kv.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/consul_kv.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/credstash.py b/zuul/ansible/2.8/lookup/credstash.py
deleted file mode 120000
index 2c343a27e..000000000
--- a/zuul/ansible/2.8/lookup/credstash.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/credstash.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/credstash.pyi b/zuul/ansible/2.8/lookup/credstash.pyi
deleted file mode 120000
index 071af9d1a..000000000
--- a/zuul/ansible/2.8/lookup/credstash.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/credstash.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/csvfile.py b/zuul/ansible/2.8/lookup/csvfile.py
deleted file mode 120000
index 981754791..000000000
--- a/zuul/ansible/2.8/lookup/csvfile.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/csvfile.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/csvfile.pyi b/zuul/ansible/2.8/lookup/csvfile.pyi
deleted file mode 120000
index 18ded3684..000000000
--- a/zuul/ansible/2.8/lookup/csvfile.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/csvfile.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/cyberarkpassword.py b/zuul/ansible/2.8/lookup/cyberarkpassword.py
deleted file mode 120000
index a573c0cf3..000000000
--- a/zuul/ansible/2.8/lookup/cyberarkpassword.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/cyberarkpassword.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/cyberarkpassword.pyi b/zuul/ansible/2.8/lookup/cyberarkpassword.pyi
deleted file mode 120000
index 01543847e..000000000
--- a/zuul/ansible/2.8/lookup/cyberarkpassword.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/cyberarkpassword.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/dig.py b/zuul/ansible/2.8/lookup/dig.py
deleted file mode 120000
index 92a628c4a..000000000
--- a/zuul/ansible/2.8/lookup/dig.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/dig.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/dig.pyi b/zuul/ansible/2.8/lookup/dig.pyi
deleted file mode 120000
index 7268b42c3..000000000
--- a/zuul/ansible/2.8/lookup/dig.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/dig.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/dnstxt.py b/zuul/ansible/2.8/lookup/dnstxt.py
deleted file mode 120000
index aa3e0f2d9..000000000
--- a/zuul/ansible/2.8/lookup/dnstxt.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/dnstxt.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/dnstxt.pyi b/zuul/ansible/2.8/lookup/dnstxt.pyi
deleted file mode 120000
index 1c221784c..000000000
--- a/zuul/ansible/2.8/lookup/dnstxt.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/dnstxt.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/env.py b/zuul/ansible/2.8/lookup/env.py
deleted file mode 120000
index 124393630..000000000
--- a/zuul/ansible/2.8/lookup/env.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/env.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/env.pyi b/zuul/ansible/2.8/lookup/env.pyi
deleted file mode 120000
index e0ecae07a..000000000
--- a/zuul/ansible/2.8/lookup/env.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/env.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/etcd.py b/zuul/ansible/2.8/lookup/etcd.py
deleted file mode 120000
index c42007aa6..000000000
--- a/zuul/ansible/2.8/lookup/etcd.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/etcd.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/etcd.pyi b/zuul/ansible/2.8/lookup/etcd.pyi
deleted file mode 120000
index a1d4e0458..000000000
--- a/zuul/ansible/2.8/lookup/etcd.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/etcd.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/file.py b/zuul/ansible/2.8/lookup/file.py
deleted file mode 120000
index d1c0692d7..000000000
--- a/zuul/ansible/2.8/lookup/file.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/file.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/file.pyi b/zuul/ansible/2.8/lookup/file.pyi
deleted file mode 120000
index 588dc50c6..000000000
--- a/zuul/ansible/2.8/lookup/file.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/file.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/fileglob.py b/zuul/ansible/2.8/lookup/fileglob.py
deleted file mode 120000
index 0249540ac..000000000
--- a/zuul/ansible/2.8/lookup/fileglob.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/fileglob.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/fileglob.pyi b/zuul/ansible/2.8/lookup/fileglob.pyi
deleted file mode 120000
index ffce6462b..000000000
--- a/zuul/ansible/2.8/lookup/fileglob.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/fileglob.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/filetree.py b/zuul/ansible/2.8/lookup/filetree.py
deleted file mode 120000
index 96cc789ac..000000000
--- a/zuul/ansible/2.8/lookup/filetree.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/filetree.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/filetree.pyi b/zuul/ansible/2.8/lookup/filetree.pyi
deleted file mode 120000
index ca38966f5..000000000
--- a/zuul/ansible/2.8/lookup/filetree.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/filetree.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/first_found.py b/zuul/ansible/2.8/lookup/first_found.py
deleted file mode 120000
index 0a01ced20..000000000
--- a/zuul/ansible/2.8/lookup/first_found.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/first_found.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/first_found.pyi b/zuul/ansible/2.8/lookup/first_found.pyi
deleted file mode 120000
index a3a92f250..000000000
--- a/zuul/ansible/2.8/lookup/first_found.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/first_found.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/hashi_vault.py b/zuul/ansible/2.8/lookup/hashi_vault.py
deleted file mode 120000
index 6fd3dda3e..000000000
--- a/zuul/ansible/2.8/lookup/hashi_vault.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/hashi_vault.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/hashi_vault.pyi b/zuul/ansible/2.8/lookup/hashi_vault.pyi
deleted file mode 120000
index f0b0ceb19..000000000
--- a/zuul/ansible/2.8/lookup/hashi_vault.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/hashi_vault.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/hiera.py b/zuul/ansible/2.8/lookup/hiera.py
deleted file mode 120000
index 01e1883e3..000000000
--- a/zuul/ansible/2.8/lookup/hiera.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/hiera.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/hiera.pyi b/zuul/ansible/2.8/lookup/hiera.pyi
deleted file mode 120000
index b7756855a..000000000
--- a/zuul/ansible/2.8/lookup/hiera.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/hiera.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/ini.py b/zuul/ansible/2.8/lookup/ini.py
deleted file mode 120000
index 6453943b9..000000000
--- a/zuul/ansible/2.8/lookup/ini.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/ini.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/ini.pyi b/zuul/ansible/2.8/lookup/ini.pyi
deleted file mode 120000
index b66fe999a..000000000
--- a/zuul/ansible/2.8/lookup/ini.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/ini.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/keyring.py b/zuul/ansible/2.8/lookup/keyring.py
deleted file mode 120000
index 864d62d6f..000000000
--- a/zuul/ansible/2.8/lookup/keyring.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/keyring.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/keyring.pyi b/zuul/ansible/2.8/lookup/keyring.pyi
deleted file mode 120000
index 9a0c24b55..000000000
--- a/zuul/ansible/2.8/lookup/keyring.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/keyring.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/lastpass.py b/zuul/ansible/2.8/lookup/lastpass.py
deleted file mode 120000
index a28abff20..000000000
--- a/zuul/ansible/2.8/lookup/lastpass.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/lastpass.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/lastpass.pyi b/zuul/ansible/2.8/lookup/lastpass.pyi
deleted file mode 120000
index dfd6e6b31..000000000
--- a/zuul/ansible/2.8/lookup/lastpass.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/lastpass.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/lines.py b/zuul/ansible/2.8/lookup/lines.py
deleted file mode 120000
index c2cae632b..000000000
--- a/zuul/ansible/2.8/lookup/lines.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/lines.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/lines.pyi b/zuul/ansible/2.8/lookup/lines.pyi
deleted file mode 120000
index 3ddc687f9..000000000
--- a/zuul/ansible/2.8/lookup/lines.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/lines.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/mongodb.py b/zuul/ansible/2.8/lookup/mongodb.py
deleted file mode 120000
index 737037fa1..000000000
--- a/zuul/ansible/2.8/lookup/mongodb.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/mongodb.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/mongodb.pyi b/zuul/ansible/2.8/lookup/mongodb.pyi
deleted file mode 120000
index 4c8f754ef..000000000
--- a/zuul/ansible/2.8/lookup/mongodb.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/mongodb.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/password.py b/zuul/ansible/2.8/lookup/password.py
deleted file mode 120000
index 478e6bee6..000000000
--- a/zuul/ansible/2.8/lookup/password.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/password.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/password.pyi b/zuul/ansible/2.8/lookup/password.pyi
deleted file mode 120000
index 370986cbc..000000000
--- a/zuul/ansible/2.8/lookup/password.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/password.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/passwordstore.py b/zuul/ansible/2.8/lookup/passwordstore.py
deleted file mode 120000
index af4c4aa92..000000000
--- a/zuul/ansible/2.8/lookup/passwordstore.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/passwordstore.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/passwordstore.pyi b/zuul/ansible/2.8/lookup/passwordstore.pyi
deleted file mode 120000
index 9ba9b718a..000000000
--- a/zuul/ansible/2.8/lookup/passwordstore.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/passwordstore.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/pipe.py b/zuul/ansible/2.8/lookup/pipe.py
deleted file mode 120000
index ea688c3a3..000000000
--- a/zuul/ansible/2.8/lookup/pipe.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/pipe.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/pipe.pyi b/zuul/ansible/2.8/lookup/pipe.pyi
deleted file mode 120000
index 01d6b935d..000000000
--- a/zuul/ansible/2.8/lookup/pipe.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/pipe.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/redis_kv.py b/zuul/ansible/2.8/lookup/redis_kv.py
deleted file mode 120000
index a711e2651..000000000
--- a/zuul/ansible/2.8/lookup/redis_kv.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/redis_kv.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/redis_kv.pyi b/zuul/ansible/2.8/lookup/redis_kv.pyi
deleted file mode 120000
index da9acca45..000000000
--- a/zuul/ansible/2.8/lookup/redis_kv.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/redis_kv.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/shelvefile.py b/zuul/ansible/2.8/lookup/shelvefile.py
deleted file mode 120000
index 2c76ec937..000000000
--- a/zuul/ansible/2.8/lookup/shelvefile.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/shelvefile.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/shelvefile.pyi b/zuul/ansible/2.8/lookup/shelvefile.pyi
deleted file mode 120000
index 827f4b076..000000000
--- a/zuul/ansible/2.8/lookup/shelvefile.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/shelvefile.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/template.py b/zuul/ansible/2.8/lookup/template.py
deleted file mode 120000
index ef6565ceb..000000000
--- a/zuul/ansible/2.8/lookup/template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/template.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/template.pyi b/zuul/ansible/2.8/lookup/template.pyi
deleted file mode 120000
index f03685d5c..000000000
--- a/zuul/ansible/2.8/lookup/template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/url.py b/zuul/ansible/2.8/lookup/url.py
deleted file mode 120000
index f936b748e..000000000
--- a/zuul/ansible/2.8/lookup/url.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/url.py \ No newline at end of file
diff --git a/zuul/ansible/2.8/lookup/url.pyi b/zuul/ansible/2.8/lookup/url.pyi
deleted file mode 120000
index fc13f47c5..000000000
--- a/zuul/ansible/2.8/lookup/url.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/url.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/add_host.py b/zuul/ansible/2.9/action/add_host.py
deleted file mode 120000
index fdb7f466b..000000000
--- a/zuul/ansible/2.9/action/add_host.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/add_host.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/add_host.pyi b/zuul/ansible/2.9/action/add_host.pyi
deleted file mode 120000
index 9257939ce..000000000
--- a/zuul/ansible/2.9/action/add_host.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/add_host.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/aireos.py b/zuul/ansible/2.9/action/aireos.py
deleted file mode 120000
index f2459ab86..000000000
--- a/zuul/ansible/2.9/action/aireos.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/aireos.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/aireos.pyi b/zuul/ansible/2.9/action/aireos.pyi
deleted file mode 120000
index f58722a86..000000000
--- a/zuul/ansible/2.9/action/aireos.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/aireos.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/aireos_config.py b/zuul/ansible/2.9/action/aireos_config.py
deleted file mode 120000
index acc0dd85e..000000000
--- a/zuul/ansible/2.9/action/aireos_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/aireos_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/aireos_config.pyi b/zuul/ansible/2.9/action/aireos_config.pyi
deleted file mode 120000
index fc7b16cf6..000000000
--- a/zuul/ansible/2.9/action/aireos_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/aireos_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/aruba.py b/zuul/ansible/2.9/action/aruba.py
deleted file mode 120000
index 8784b92ed..000000000
--- a/zuul/ansible/2.9/action/aruba.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/aruba.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/aruba.pyi b/zuul/ansible/2.9/action/aruba.pyi
deleted file mode 120000
index 228b3ecfe..000000000
--- a/zuul/ansible/2.9/action/aruba.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/aruba.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/aruba_config.py b/zuul/ansible/2.9/action/aruba_config.py
deleted file mode 120000
index f50d9082b..000000000
--- a/zuul/ansible/2.9/action/aruba_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/aruba_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/aruba_config.pyi b/zuul/ansible/2.9/action/aruba_config.pyi
deleted file mode 120000
index bab9d28fd..000000000
--- a/zuul/ansible/2.9/action/aruba_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/aruba_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/asa.py b/zuul/ansible/2.9/action/asa.py
deleted file mode 120000
index 3e7e93dc0..000000000
--- a/zuul/ansible/2.9/action/asa.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/asa.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/asa.pyi b/zuul/ansible/2.9/action/asa.pyi
deleted file mode 120000
index e0cdc24b5..000000000
--- a/zuul/ansible/2.9/action/asa.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/asa.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/asa_config.py b/zuul/ansible/2.9/action/asa_config.py
deleted file mode 120000
index 598f400d5..000000000
--- a/zuul/ansible/2.9/action/asa_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/asa_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/asa_config.pyi b/zuul/ansible/2.9/action/asa_config.pyi
deleted file mode 120000
index 86fe03484..000000000
--- a/zuul/ansible/2.9/action/asa_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/asa_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/asa_template.py b/zuul/ansible/2.9/action/asa_template.py
deleted file mode 120000
index e1e8eecbe..000000000
--- a/zuul/ansible/2.9/action/asa_template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/asa_template.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/asa_template.pyi b/zuul/ansible/2.9/action/asa_template.pyi
deleted file mode 120000
index 0753101f1..000000000
--- a/zuul/ansible/2.9/action/asa_template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/asa_template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/assemble.py b/zuul/ansible/2.9/action/assemble.py
deleted file mode 120000
index 22273b123..000000000
--- a/zuul/ansible/2.9/action/assemble.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/assemble.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/assemble.pyi b/zuul/ansible/2.9/action/assemble.pyi
deleted file mode 120000
index 3a7074ec7..000000000
--- a/zuul/ansible/2.9/action/assemble.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/assemble.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/aws_s3.py b/zuul/ansible/2.9/action/aws_s3.py
deleted file mode 120000
index a2dabf9f8..000000000
--- a/zuul/ansible/2.9/action/aws_s3.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/aws_s3.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/aws_s3.pyi b/zuul/ansible/2.9/action/aws_s3.pyi
deleted file mode 120000
index 5ac40a7db..000000000
--- a/zuul/ansible/2.9/action/aws_s3.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/aws_s3.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/ce.py b/zuul/ansible/2.9/action/ce.py
deleted file mode 120000
index db95d9121..000000000
--- a/zuul/ansible/2.9/action/ce.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ce.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/ce.pyi b/zuul/ansible/2.9/action/ce.pyi
deleted file mode 120000
index ba2365f2b..000000000
--- a/zuul/ansible/2.9/action/ce.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ce.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/ce_config.py b/zuul/ansible/2.9/action/ce_config.py
deleted file mode 120000
index ec0319843..000000000
--- a/zuul/ansible/2.9/action/ce_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ce_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/ce_config.pyi b/zuul/ansible/2.9/action/ce_config.pyi
deleted file mode 120000
index b762785d1..000000000
--- a/zuul/ansible/2.9/action/ce_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ce_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/ce_template.py b/zuul/ansible/2.9/action/ce_template.py
deleted file mode 120000
index aa59e80a0..000000000
--- a/zuul/ansible/2.9/action/ce_template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ce_template.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/ce_template.pyi b/zuul/ansible/2.9/action/ce_template.pyi
deleted file mode 120000
index 75ba2250c..000000000
--- a/zuul/ansible/2.9/action/ce_template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ce_template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/copy.py b/zuul/ansible/2.9/action/copy.py
deleted file mode 120000
index 1c0c2291f..000000000
--- a/zuul/ansible/2.9/action/copy.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/copy.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/copy.pyi b/zuul/ansible/2.9/action/copy.pyi
deleted file mode 120000
index 189722f2a..000000000
--- a/zuul/ansible/2.9/action/copy.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/copy.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/dellos10_config.py b/zuul/ansible/2.9/action/dellos10_config.py
deleted file mode 120000
index caf6ce6c3..000000000
--- a/zuul/ansible/2.9/action/dellos10_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/dellos10_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/dellos10_config.pyi b/zuul/ansible/2.9/action/dellos10_config.pyi
deleted file mode 120000
index ede9a927e..000000000
--- a/zuul/ansible/2.9/action/dellos10_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/dellos10_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/dellos6_config.py b/zuul/ansible/2.9/action/dellos6_config.py
deleted file mode 120000
index 080fcce4c..000000000
--- a/zuul/ansible/2.9/action/dellos6_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/dellos6_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/dellos6_config.pyi b/zuul/ansible/2.9/action/dellos6_config.pyi
deleted file mode 120000
index d5cf3ce15..000000000
--- a/zuul/ansible/2.9/action/dellos6_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/dellos6_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/dellos9_config.py b/zuul/ansible/2.9/action/dellos9_config.py
deleted file mode 120000
index c2e79870c..000000000
--- a/zuul/ansible/2.9/action/dellos9_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/dellos9_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/dellos9_config.pyi b/zuul/ansible/2.9/action/dellos9_config.pyi
deleted file mode 120000
index b50389ab4..000000000
--- a/zuul/ansible/2.9/action/dellos9_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/dellos9_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/eos_config.py b/zuul/ansible/2.9/action/eos_config.py
deleted file mode 120000
index 4d1ab53bb..000000000
--- a/zuul/ansible/2.9/action/eos_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/eos_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/eos_config.pyi b/zuul/ansible/2.9/action/eos_config.pyi
deleted file mode 120000
index f6d058ba1..000000000
--- a/zuul/ansible/2.9/action/eos_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/eos_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/eos_template.py b/zuul/ansible/2.9/action/eos_template.py
deleted file mode 120000
index a108bf66f..000000000
--- a/zuul/ansible/2.9/action/eos_template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/eos_template.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/eos_template.pyi b/zuul/ansible/2.9/action/eos_template.pyi
deleted file mode 120000
index b9cac42e8..000000000
--- a/zuul/ansible/2.9/action/eos_template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/eos_template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/fetch.py b/zuul/ansible/2.9/action/fetch.py
deleted file mode 120000
index d53e02548..000000000
--- a/zuul/ansible/2.9/action/fetch.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/fetch.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/fetch.pyi b/zuul/ansible/2.9/action/fetch.pyi
deleted file mode 120000
index b3ae31523..000000000
--- a/zuul/ansible/2.9/action/fetch.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/fetch.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/fortios_config.py b/zuul/ansible/2.9/action/fortios_config.py
deleted file mode 120000
index ef38743bc..000000000
--- a/zuul/ansible/2.9/action/fortios_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/fortios_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/fortios_config.pyi b/zuul/ansible/2.9/action/fortios_config.pyi
deleted file mode 120000
index fa334a059..000000000
--- a/zuul/ansible/2.9/action/fortios_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/fortios_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/include_vars.py b/zuul/ansible/2.9/action/include_vars.py
deleted file mode 120000
index 832d5a27a..000000000
--- a/zuul/ansible/2.9/action/include_vars.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/include_vars.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/include_vars.pyi b/zuul/ansible/2.9/action/include_vars.pyi
deleted file mode 120000
index 4099c1ae6..000000000
--- a/zuul/ansible/2.9/action/include_vars.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/include_vars.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/ios_config.py b/zuul/ansible/2.9/action/ios_config.py
deleted file mode 120000
index f1495d47e..000000000
--- a/zuul/ansible/2.9/action/ios_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ios_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/ios_config.pyi b/zuul/ansible/2.9/action/ios_config.pyi
deleted file mode 120000
index e6af5e34c..000000000
--- a/zuul/ansible/2.9/action/ios_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ios_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/ios_template.py b/zuul/ansible/2.9/action/ios_template.py
deleted file mode 120000
index ef863cedf..000000000
--- a/zuul/ansible/2.9/action/ios_template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ios_template.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/ios_template.pyi b/zuul/ansible/2.9/action/ios_template.pyi
deleted file mode 120000
index c37247812..000000000
--- a/zuul/ansible/2.9/action/ios_template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ios_template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/iosxr_config.py b/zuul/ansible/2.9/action/iosxr_config.py
deleted file mode 120000
index 4eb293626..000000000
--- a/zuul/ansible/2.9/action/iosxr_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/iosxr_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/iosxr_config.pyi b/zuul/ansible/2.9/action/iosxr_config.pyi
deleted file mode 120000
index 70a2d67a3..000000000
--- a/zuul/ansible/2.9/action/iosxr_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/iosxr_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/iosxr_template.py b/zuul/ansible/2.9/action/iosxr_template.py
deleted file mode 120000
index 6a60fa49e..000000000
--- a/zuul/ansible/2.9/action/iosxr_template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/iosxr_template.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/iosxr_template.pyi b/zuul/ansible/2.9/action/iosxr_template.pyi
deleted file mode 120000
index 918f5a113..000000000
--- a/zuul/ansible/2.9/action/iosxr_template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/iosxr_template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/junos_config.py b/zuul/ansible/2.9/action/junos_config.py
deleted file mode 120000
index c50f3bc67..000000000
--- a/zuul/ansible/2.9/action/junos_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/junos_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/junos_config.pyi b/zuul/ansible/2.9/action/junos_config.pyi
deleted file mode 120000
index 31cbba451..000000000
--- a/zuul/ansible/2.9/action/junos_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/junos_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/junos_template.py b/zuul/ansible/2.9/action/junos_template.py
deleted file mode 120000
index a2119b7cd..000000000
--- a/zuul/ansible/2.9/action/junos_template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/junos_template.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/junos_template.pyi b/zuul/ansible/2.9/action/junos_template.pyi
deleted file mode 120000
index e6ef22ba9..000000000
--- a/zuul/ansible/2.9/action/junos_template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/junos_template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_banner.py b/zuul/ansible/2.9/action/net_banner.py
deleted file mode 120000
index 69cc6d5a4..000000000
--- a/zuul/ansible/2.9/action/net_banner.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_banner.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_banner.pyi b/zuul/ansible/2.9/action/net_banner.pyi
deleted file mode 120000
index f926dbf70..000000000
--- a/zuul/ansible/2.9/action/net_banner.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_banner.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_base.py b/zuul/ansible/2.9/action/net_base.py
deleted file mode 120000
index f36b6ecc7..000000000
--- a/zuul/ansible/2.9/action/net_base.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_base.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_base.pyi b/zuul/ansible/2.9/action/net_base.pyi
deleted file mode 120000
index 9f6ce1b7d..000000000
--- a/zuul/ansible/2.9/action/net_base.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_base.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_config.py b/zuul/ansible/2.9/action/net_config.py
deleted file mode 120000
index a817ca518..000000000
--- a/zuul/ansible/2.9/action/net_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_config.pyi b/zuul/ansible/2.9/action/net_config.pyi
deleted file mode 120000
index 412b8110e..000000000
--- a/zuul/ansible/2.9/action/net_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_get.py b/zuul/ansible/2.9/action/net_get.py
deleted file mode 120000
index da3d7be0e..000000000
--- a/zuul/ansible/2.9/action/net_get.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_get.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_get.pyi b/zuul/ansible/2.9/action/net_get.pyi
deleted file mode 120000
index 015c4271b..000000000
--- a/zuul/ansible/2.9/action/net_get.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_get.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_interface.py b/zuul/ansible/2.9/action/net_interface.py
deleted file mode 120000
index 1d24f7821..000000000
--- a/zuul/ansible/2.9/action/net_interface.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_interface.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_interface.pyi b/zuul/ansible/2.9/action/net_interface.pyi
deleted file mode 120000
index 57bb45316..000000000
--- a/zuul/ansible/2.9/action/net_interface.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_interface.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_l2_interface.py b/zuul/ansible/2.9/action/net_l2_interface.py
deleted file mode 120000
index 1f44192c8..000000000
--- a/zuul/ansible/2.9/action/net_l2_interface.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_l2_interface.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_l2_interface.pyi b/zuul/ansible/2.9/action/net_l2_interface.pyi
deleted file mode 120000
index 2b780821d..000000000
--- a/zuul/ansible/2.9/action/net_l2_interface.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_l2_interface.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_l3_interface.py b/zuul/ansible/2.9/action/net_l3_interface.py
deleted file mode 120000
index 97017f4e3..000000000
--- a/zuul/ansible/2.9/action/net_l3_interface.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_l3_interface.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_l3_interface.pyi b/zuul/ansible/2.9/action/net_l3_interface.pyi
deleted file mode 120000
index 9317599a2..000000000
--- a/zuul/ansible/2.9/action/net_l3_interface.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_l3_interface.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_linkagg.py b/zuul/ansible/2.9/action/net_linkagg.py
deleted file mode 120000
index d3fc53dd1..000000000
--- a/zuul/ansible/2.9/action/net_linkagg.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_linkagg.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_linkagg.pyi b/zuul/ansible/2.9/action/net_linkagg.pyi
deleted file mode 120000
index b5fac56b6..000000000
--- a/zuul/ansible/2.9/action/net_linkagg.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_linkagg.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_lldp.py b/zuul/ansible/2.9/action/net_lldp.py
deleted file mode 120000
index 15fc3a859..000000000
--- a/zuul/ansible/2.9/action/net_lldp.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_lldp.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_lldp.pyi b/zuul/ansible/2.9/action/net_lldp.pyi
deleted file mode 120000
index a627fdec7..000000000
--- a/zuul/ansible/2.9/action/net_lldp.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_lldp.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_lldp_interface.py b/zuul/ansible/2.9/action/net_lldp_interface.py
deleted file mode 120000
index f57ec137f..000000000
--- a/zuul/ansible/2.9/action/net_lldp_interface.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_lldp_interface.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_lldp_interface.pyi b/zuul/ansible/2.9/action/net_lldp_interface.pyi
deleted file mode 120000
index fdd97b078..000000000
--- a/zuul/ansible/2.9/action/net_lldp_interface.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_lldp_interface.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_logging.py b/zuul/ansible/2.9/action/net_logging.py
deleted file mode 120000
index 57d9766aa..000000000
--- a/zuul/ansible/2.9/action/net_logging.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_logging.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_logging.pyi b/zuul/ansible/2.9/action/net_logging.pyi
deleted file mode 120000
index 1d6f1b029..000000000
--- a/zuul/ansible/2.9/action/net_logging.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_logging.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_ping.py b/zuul/ansible/2.9/action/net_ping.py
deleted file mode 120000
index 696d9f526..000000000
--- a/zuul/ansible/2.9/action/net_ping.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_ping.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_ping.pyi b/zuul/ansible/2.9/action/net_ping.pyi
deleted file mode 120000
index 03f84e975..000000000
--- a/zuul/ansible/2.9/action/net_ping.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_ping.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_static_route.py b/zuul/ansible/2.9/action/net_static_route.py
deleted file mode 120000
index c22b7f0e0..000000000
--- a/zuul/ansible/2.9/action/net_static_route.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_static_route.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_static_route.pyi b/zuul/ansible/2.9/action/net_static_route.pyi
deleted file mode 120000
index 859c20fec..000000000
--- a/zuul/ansible/2.9/action/net_static_route.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_static_route.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_system.py b/zuul/ansible/2.9/action/net_system.py
deleted file mode 120000
index a03dd93c9..000000000
--- a/zuul/ansible/2.9/action/net_system.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_system.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_system.pyi b/zuul/ansible/2.9/action/net_system.pyi
deleted file mode 120000
index cc159053b..000000000
--- a/zuul/ansible/2.9/action/net_system.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_system.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_template.py b/zuul/ansible/2.9/action/net_template.py
deleted file mode 120000
index 18ba965e4..000000000
--- a/zuul/ansible/2.9/action/net_template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_template.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_template.pyi b/zuul/ansible/2.9/action/net_template.pyi
deleted file mode 120000
index 3bfbb6f0f..000000000
--- a/zuul/ansible/2.9/action/net_template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_user.py b/zuul/ansible/2.9/action/net_user.py
deleted file mode 120000
index fcfb3f55a..000000000
--- a/zuul/ansible/2.9/action/net_user.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_user.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_user.pyi b/zuul/ansible/2.9/action/net_user.pyi
deleted file mode 120000
index 267f5da34..000000000
--- a/zuul/ansible/2.9/action/net_user.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_user.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_vlan.py b/zuul/ansible/2.9/action/net_vlan.py
deleted file mode 120000
index df275656f..000000000
--- a/zuul/ansible/2.9/action/net_vlan.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_vlan.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_vlan.pyi b/zuul/ansible/2.9/action/net_vlan.pyi
deleted file mode 120000
index 718074899..000000000
--- a/zuul/ansible/2.9/action/net_vlan.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_vlan.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_vrf.py b/zuul/ansible/2.9/action/net_vrf.py
deleted file mode 120000
index c757d2100..000000000
--- a/zuul/ansible/2.9/action/net_vrf.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_vrf.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/net_vrf.pyi b/zuul/ansible/2.9/action/net_vrf.pyi
deleted file mode 120000
index df043a0cd..000000000
--- a/zuul/ansible/2.9/action/net_vrf.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/net_vrf.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/netconf_config.py b/zuul/ansible/2.9/action/netconf_config.py
deleted file mode 120000
index 4d13bb82c..000000000
--- a/zuul/ansible/2.9/action/netconf_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/netconf_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/netconf_config.pyi b/zuul/ansible/2.9/action/netconf_config.pyi
deleted file mode 120000
index c75a746b4..000000000
--- a/zuul/ansible/2.9/action/netconf_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/netconf_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/network.py b/zuul/ansible/2.9/action/network.py
deleted file mode 120000
index 9e2d1baa4..000000000
--- a/zuul/ansible/2.9/action/network.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/network.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/network.pyi b/zuul/ansible/2.9/action/network.pyi
deleted file mode 120000
index e1842d197..000000000
--- a/zuul/ansible/2.9/action/network.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/network.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/normal.py b/zuul/ansible/2.9/action/normal.py
deleted file mode 120000
index 4e131d98d..000000000
--- a/zuul/ansible/2.9/action/normal.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/normal.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/normal.pyi b/zuul/ansible/2.9/action/normal.pyi
deleted file mode 120000
index bbbe0704c..000000000
--- a/zuul/ansible/2.9/action/normal.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/normal.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/nxos_config.py b/zuul/ansible/2.9/action/nxos_config.py
deleted file mode 120000
index 0cc233c34..000000000
--- a/zuul/ansible/2.9/action/nxos_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/nxos_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/nxos_config.pyi b/zuul/ansible/2.9/action/nxos_config.pyi
deleted file mode 120000
index b2e63b6e3..000000000
--- a/zuul/ansible/2.9/action/nxos_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/nxos_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/nxos_template.py b/zuul/ansible/2.9/action/nxos_template.py
deleted file mode 120000
index 3d599062a..000000000
--- a/zuul/ansible/2.9/action/nxos_template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/nxos_template.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/nxos_template.pyi b/zuul/ansible/2.9/action/nxos_template.pyi
deleted file mode 120000
index e36fa4e90..000000000
--- a/zuul/ansible/2.9/action/nxos_template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/nxos_template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/ops_config.py b/zuul/ansible/2.9/action/ops_config.py
deleted file mode 120000
index 2abe0669d..000000000
--- a/zuul/ansible/2.9/action/ops_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ops_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/ops_config.pyi b/zuul/ansible/2.9/action/ops_config.pyi
deleted file mode 120000
index 7517f9c7b..000000000
--- a/zuul/ansible/2.9/action/ops_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ops_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/ops_template.py b/zuul/ansible/2.9/action/ops_template.py
deleted file mode 120000
index 5c841ca57..000000000
--- a/zuul/ansible/2.9/action/ops_template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ops_template.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/ops_template.pyi b/zuul/ansible/2.9/action/ops_template.pyi
deleted file mode 120000
index 4baa28a3f..000000000
--- a/zuul/ansible/2.9/action/ops_template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/ops_template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/patch.py b/zuul/ansible/2.9/action/patch.py
deleted file mode 120000
index 8996710ba..000000000
--- a/zuul/ansible/2.9/action/patch.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/patch.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/patch.pyi b/zuul/ansible/2.9/action/patch.pyi
deleted file mode 120000
index 577e43600..000000000
--- a/zuul/ansible/2.9/action/patch.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/patch.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/raw.py b/zuul/ansible/2.9/action/raw.py
deleted file mode 120000
index e4962dd8a..000000000
--- a/zuul/ansible/2.9/action/raw.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/raw.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/raw.pyi b/zuul/ansible/2.9/action/raw.pyi
deleted file mode 120000
index 741945ef2..000000000
--- a/zuul/ansible/2.9/action/raw.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/raw.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/script.py b/zuul/ansible/2.9/action/script.py
deleted file mode 120000
index 1cccf5805..000000000
--- a/zuul/ansible/2.9/action/script.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/script.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/script.pyi b/zuul/ansible/2.9/action/script.pyi
deleted file mode 120000
index aff69744b..000000000
--- a/zuul/ansible/2.9/action/script.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/script.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/sros_config.py b/zuul/ansible/2.9/action/sros_config.py
deleted file mode 120000
index 1762874e4..000000000
--- a/zuul/ansible/2.9/action/sros_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/sros_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/sros_config.pyi b/zuul/ansible/2.9/action/sros_config.pyi
deleted file mode 120000
index 453e4b8e1..000000000
--- a/zuul/ansible/2.9/action/sros_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/sros_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/synchronize.py b/zuul/ansible/2.9/action/synchronize.py
deleted file mode 120000
index f2126166c..000000000
--- a/zuul/ansible/2.9/action/synchronize.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/synchronize.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/synchronize.pyi b/zuul/ansible/2.9/action/synchronize.pyi
deleted file mode 120000
index 4ff1a2ee9..000000000
--- a/zuul/ansible/2.9/action/synchronize.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/synchronize.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/template.py b/zuul/ansible/2.9/action/template.py
deleted file mode 120000
index 720717d83..000000000
--- a/zuul/ansible/2.9/action/template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/template.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/template.pyi b/zuul/ansible/2.9/action/template.pyi
deleted file mode 120000
index aed7fb07a..000000000
--- a/zuul/ansible/2.9/action/template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/unarchive.py b/zuul/ansible/2.9/action/unarchive.py
deleted file mode 120000
index 2d7ce5aed..000000000
--- a/zuul/ansible/2.9/action/unarchive.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/unarchive.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/unarchive.pyi b/zuul/ansible/2.9/action/unarchive.pyi
deleted file mode 120000
index fead9ca55..000000000
--- a/zuul/ansible/2.9/action/unarchive.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/unarchive.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/uri.py b/zuul/ansible/2.9/action/uri.py
deleted file mode 120000
index 7c4b15f45..000000000
--- a/zuul/ansible/2.9/action/uri.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/uri.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/uri.pyi b/zuul/ansible/2.9/action/uri.pyi
deleted file mode 120000
index 015bb9fe3..000000000
--- a/zuul/ansible/2.9/action/uri.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/uri.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/vyos_config.py b/zuul/ansible/2.9/action/vyos_config.py
deleted file mode 120000
index 2732fd7a1..000000000
--- a/zuul/ansible/2.9/action/vyos_config.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/vyos_config.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/vyos_config.pyi b/zuul/ansible/2.9/action/vyos_config.pyi
deleted file mode 120000
index ac5d76632..000000000
--- a/zuul/ansible/2.9/action/vyos_config.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/vyos_config.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/win_copy.py b/zuul/ansible/2.9/action/win_copy.py
deleted file mode 120000
index 80c3f3846..000000000
--- a/zuul/ansible/2.9/action/win_copy.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/win_copy.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/win_copy.pyi b/zuul/ansible/2.9/action/win_copy.pyi
deleted file mode 120000
index 017c792ff..000000000
--- a/zuul/ansible/2.9/action/win_copy.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/win_copy.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/win_template.py b/zuul/ansible/2.9/action/win_template.py
deleted file mode 120000
index f2a8b2d63..000000000
--- a/zuul/ansible/2.9/action/win_template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/win_template.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/action/win_template.pyi b/zuul/ansible/2.9/action/win_template.pyi
deleted file mode 120000
index 40825895b..000000000
--- a/zuul/ansible/2.9/action/win_template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/action/win_template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/__init__.py b/zuul/ansible/2.9/lookup/__init__.py
deleted file mode 120000
index b008ecb3b..000000000
--- a/zuul/ansible/2.9/lookup/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/__init__.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/_banned.py b/zuul/ansible/2.9/lookup/_banned.py
deleted file mode 120000
index 2e127f4e7..000000000
--- a/zuul/ansible/2.9/lookup/_banned.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/_banned.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/_banned.pyi b/zuul/ansible/2.9/lookup/_banned.pyi
deleted file mode 120000
index d7909135d..000000000
--- a/zuul/ansible/2.9/lookup/_banned.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/_banned.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/chef_databag.py b/zuul/ansible/2.9/lookup/chef_databag.py
deleted file mode 120000
index d4efe7e85..000000000
--- a/zuul/ansible/2.9/lookup/chef_databag.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/chef_databag.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/chef_databag.pyi b/zuul/ansible/2.9/lookup/chef_databag.pyi
deleted file mode 120000
index c06fc3001..000000000
--- a/zuul/ansible/2.9/lookup/chef_databag.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/chef_databag.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/consul_kv.py b/zuul/ansible/2.9/lookup/consul_kv.py
deleted file mode 120000
index 66b6f7617..000000000
--- a/zuul/ansible/2.9/lookup/consul_kv.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/consul_kv.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/consul_kv.pyi b/zuul/ansible/2.9/lookup/consul_kv.pyi
deleted file mode 120000
index 33d848347..000000000
--- a/zuul/ansible/2.9/lookup/consul_kv.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/consul_kv.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/credstash.py b/zuul/ansible/2.9/lookup/credstash.py
deleted file mode 120000
index 2c343a27e..000000000
--- a/zuul/ansible/2.9/lookup/credstash.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/credstash.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/credstash.pyi b/zuul/ansible/2.9/lookup/credstash.pyi
deleted file mode 120000
index 071af9d1a..000000000
--- a/zuul/ansible/2.9/lookup/credstash.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/credstash.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/csvfile.py b/zuul/ansible/2.9/lookup/csvfile.py
deleted file mode 120000
index 981754791..000000000
--- a/zuul/ansible/2.9/lookup/csvfile.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/csvfile.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/csvfile.pyi b/zuul/ansible/2.9/lookup/csvfile.pyi
deleted file mode 120000
index 18ded3684..000000000
--- a/zuul/ansible/2.9/lookup/csvfile.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/csvfile.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/cyberarkpassword.py b/zuul/ansible/2.9/lookup/cyberarkpassword.py
deleted file mode 120000
index a573c0cf3..000000000
--- a/zuul/ansible/2.9/lookup/cyberarkpassword.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/cyberarkpassword.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/cyberarkpassword.pyi b/zuul/ansible/2.9/lookup/cyberarkpassword.pyi
deleted file mode 120000
index 01543847e..000000000
--- a/zuul/ansible/2.9/lookup/cyberarkpassword.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/cyberarkpassword.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/dig.py b/zuul/ansible/2.9/lookup/dig.py
deleted file mode 120000
index 92a628c4a..000000000
--- a/zuul/ansible/2.9/lookup/dig.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/dig.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/dig.pyi b/zuul/ansible/2.9/lookup/dig.pyi
deleted file mode 120000
index 7268b42c3..000000000
--- a/zuul/ansible/2.9/lookup/dig.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/dig.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/dnstxt.py b/zuul/ansible/2.9/lookup/dnstxt.py
deleted file mode 120000
index aa3e0f2d9..000000000
--- a/zuul/ansible/2.9/lookup/dnstxt.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/dnstxt.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/dnstxt.pyi b/zuul/ansible/2.9/lookup/dnstxt.pyi
deleted file mode 120000
index 1c221784c..000000000
--- a/zuul/ansible/2.9/lookup/dnstxt.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/dnstxt.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/env.py b/zuul/ansible/2.9/lookup/env.py
deleted file mode 120000
index 124393630..000000000
--- a/zuul/ansible/2.9/lookup/env.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/env.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/env.pyi b/zuul/ansible/2.9/lookup/env.pyi
deleted file mode 120000
index e0ecae07a..000000000
--- a/zuul/ansible/2.9/lookup/env.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/env.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/etcd.py b/zuul/ansible/2.9/lookup/etcd.py
deleted file mode 120000
index c42007aa6..000000000
--- a/zuul/ansible/2.9/lookup/etcd.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/etcd.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/etcd.pyi b/zuul/ansible/2.9/lookup/etcd.pyi
deleted file mode 120000
index a1d4e0458..000000000
--- a/zuul/ansible/2.9/lookup/etcd.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/etcd.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/file.py b/zuul/ansible/2.9/lookup/file.py
deleted file mode 120000
index d1c0692d7..000000000
--- a/zuul/ansible/2.9/lookup/file.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/file.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/file.pyi b/zuul/ansible/2.9/lookup/file.pyi
deleted file mode 120000
index 588dc50c6..000000000
--- a/zuul/ansible/2.9/lookup/file.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/file.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/fileglob.py b/zuul/ansible/2.9/lookup/fileglob.py
deleted file mode 120000
index 0249540ac..000000000
--- a/zuul/ansible/2.9/lookup/fileglob.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/fileglob.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/fileglob.pyi b/zuul/ansible/2.9/lookup/fileglob.pyi
deleted file mode 120000
index ffce6462b..000000000
--- a/zuul/ansible/2.9/lookup/fileglob.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/fileglob.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/filetree.py b/zuul/ansible/2.9/lookup/filetree.py
deleted file mode 120000
index 96cc789ac..000000000
--- a/zuul/ansible/2.9/lookup/filetree.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/filetree.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/filetree.pyi b/zuul/ansible/2.9/lookup/filetree.pyi
deleted file mode 120000
index ca38966f5..000000000
--- a/zuul/ansible/2.9/lookup/filetree.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/filetree.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/first_found.py b/zuul/ansible/2.9/lookup/first_found.py
deleted file mode 120000
index 0a01ced20..000000000
--- a/zuul/ansible/2.9/lookup/first_found.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/first_found.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/first_found.pyi b/zuul/ansible/2.9/lookup/first_found.pyi
deleted file mode 120000
index a3a92f250..000000000
--- a/zuul/ansible/2.9/lookup/first_found.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/first_found.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/hashi_vault.py b/zuul/ansible/2.9/lookup/hashi_vault.py
deleted file mode 120000
index 6fd3dda3e..000000000
--- a/zuul/ansible/2.9/lookup/hashi_vault.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/hashi_vault.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/hashi_vault.pyi b/zuul/ansible/2.9/lookup/hashi_vault.pyi
deleted file mode 120000
index f0b0ceb19..000000000
--- a/zuul/ansible/2.9/lookup/hashi_vault.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/hashi_vault.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/hiera.py b/zuul/ansible/2.9/lookup/hiera.py
deleted file mode 120000
index 01e1883e3..000000000
--- a/zuul/ansible/2.9/lookup/hiera.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/hiera.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/hiera.pyi b/zuul/ansible/2.9/lookup/hiera.pyi
deleted file mode 120000
index b7756855a..000000000
--- a/zuul/ansible/2.9/lookup/hiera.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/hiera.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/ini.py b/zuul/ansible/2.9/lookup/ini.py
deleted file mode 120000
index 6453943b9..000000000
--- a/zuul/ansible/2.9/lookup/ini.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/ini.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/ini.pyi b/zuul/ansible/2.9/lookup/ini.pyi
deleted file mode 120000
index b66fe999a..000000000
--- a/zuul/ansible/2.9/lookup/ini.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/ini.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/keyring.py b/zuul/ansible/2.9/lookup/keyring.py
deleted file mode 120000
index 864d62d6f..000000000
--- a/zuul/ansible/2.9/lookup/keyring.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/keyring.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/keyring.pyi b/zuul/ansible/2.9/lookup/keyring.pyi
deleted file mode 120000
index 9a0c24b55..000000000
--- a/zuul/ansible/2.9/lookup/keyring.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/keyring.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/lastpass.py b/zuul/ansible/2.9/lookup/lastpass.py
deleted file mode 120000
index a28abff20..000000000
--- a/zuul/ansible/2.9/lookup/lastpass.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/lastpass.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/lastpass.pyi b/zuul/ansible/2.9/lookup/lastpass.pyi
deleted file mode 120000
index dfd6e6b31..000000000
--- a/zuul/ansible/2.9/lookup/lastpass.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/lastpass.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/lines.py b/zuul/ansible/2.9/lookup/lines.py
deleted file mode 120000
index c2cae632b..000000000
--- a/zuul/ansible/2.9/lookup/lines.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/lines.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/lines.pyi b/zuul/ansible/2.9/lookup/lines.pyi
deleted file mode 120000
index 3ddc687f9..000000000
--- a/zuul/ansible/2.9/lookup/lines.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/lines.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/mongodb.py b/zuul/ansible/2.9/lookup/mongodb.py
deleted file mode 120000
index 737037fa1..000000000
--- a/zuul/ansible/2.9/lookup/mongodb.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/mongodb.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/mongodb.pyi b/zuul/ansible/2.9/lookup/mongodb.pyi
deleted file mode 120000
index 4c8f754ef..000000000
--- a/zuul/ansible/2.9/lookup/mongodb.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/mongodb.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/password.py b/zuul/ansible/2.9/lookup/password.py
deleted file mode 120000
index 478e6bee6..000000000
--- a/zuul/ansible/2.9/lookup/password.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/password.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/password.pyi b/zuul/ansible/2.9/lookup/password.pyi
deleted file mode 120000
index 370986cbc..000000000
--- a/zuul/ansible/2.9/lookup/password.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/password.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/passwordstore.py b/zuul/ansible/2.9/lookup/passwordstore.py
deleted file mode 120000
index af4c4aa92..000000000
--- a/zuul/ansible/2.9/lookup/passwordstore.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/passwordstore.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/passwordstore.pyi b/zuul/ansible/2.9/lookup/passwordstore.pyi
deleted file mode 120000
index 9ba9b718a..000000000
--- a/zuul/ansible/2.9/lookup/passwordstore.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/passwordstore.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/pipe.py b/zuul/ansible/2.9/lookup/pipe.py
deleted file mode 120000
index ea688c3a3..000000000
--- a/zuul/ansible/2.9/lookup/pipe.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/pipe.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/pipe.pyi b/zuul/ansible/2.9/lookup/pipe.pyi
deleted file mode 120000
index 01d6b935d..000000000
--- a/zuul/ansible/2.9/lookup/pipe.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/pipe.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/redis_kv.py b/zuul/ansible/2.9/lookup/redis_kv.py
deleted file mode 120000
index a711e2651..000000000
--- a/zuul/ansible/2.9/lookup/redis_kv.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/redis_kv.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/redis_kv.pyi b/zuul/ansible/2.9/lookup/redis_kv.pyi
deleted file mode 120000
index da9acca45..000000000
--- a/zuul/ansible/2.9/lookup/redis_kv.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/redis_kv.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/shelvefile.py b/zuul/ansible/2.9/lookup/shelvefile.py
deleted file mode 120000
index 2c76ec937..000000000
--- a/zuul/ansible/2.9/lookup/shelvefile.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/shelvefile.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/shelvefile.pyi b/zuul/ansible/2.9/lookup/shelvefile.pyi
deleted file mode 120000
index 827f4b076..000000000
--- a/zuul/ansible/2.9/lookup/shelvefile.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/shelvefile.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/template.py b/zuul/ansible/2.9/lookup/template.py
deleted file mode 120000
index ef6565ceb..000000000
--- a/zuul/ansible/2.9/lookup/template.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/template.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/template.pyi b/zuul/ansible/2.9/lookup/template.pyi
deleted file mode 120000
index f03685d5c..000000000
--- a/zuul/ansible/2.9/lookup/template.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/template.pyi \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/url.py b/zuul/ansible/2.9/lookup/url.py
deleted file mode 120000
index f936b748e..000000000
--- a/zuul/ansible/2.9/lookup/url.py
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/url.py \ No newline at end of file
diff --git a/zuul/ansible/2.9/lookup/url.pyi b/zuul/ansible/2.9/lookup/url.pyi
deleted file mode 120000
index fc13f47c5..000000000
--- a/zuul/ansible/2.9/lookup/url.pyi
+++ /dev/null
@@ -1 +0,0 @@
-../../base/lookup/url.pyi \ No newline at end of file
diff --git a/zuul/ansible/base/action/add_host.py b/zuul/ansible/base/action/add_host.py
deleted file mode 100644
index 864e53fac..000000000
--- a/zuul/ansible/base/action/add_host.py
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 2018 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-from zuul.ansible import paths
-add_host = paths._import_ansible_action_plugin("add_host")
-
-
-class ActionModule(add_host.ActionModule):
-
- def run(self, tmp=None, task_vars=None):
- safe_args = set((
- 'ansible_connection',
- 'ansible_python_interpreter',
- 'ansible_host',
- 'ansible_port',
- 'ansible_user',
- 'ansible_user_dir',
- 'ansible_password',
- 'ansible_ssh_host',
- 'ansible_ssh_port',
- 'ansible_ssh_user',
- 'ansible_ssh_pass',
- 'ansible_fqdn',
- 'ansible_private_key_file',
- 'ansible_kubectl_namespace',
- ))
- args = set(filter(
- lambda x: x.startswith('ansible_'), self._task.args.keys()))
- conn = self._task.args.get('ansible_connection', 'ssh')
- if args.issubset(safe_args) and conn in ('kubectl', 'ssh'):
- return super(ActionModule, self).run(tmp, task_vars)
-
- return dict(
- failed=True,
- msg="Adding hosts %s with %s to the inventory is prohibited" % (
- conn, " ".join(args.difference(safe_args))))
diff --git a/zuul/ansible/base/action/add_host.pyi b/zuul/ansible/base/action/add_host.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/add_host.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/aireos.py b/zuul/ansible/base/action/aireos.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/aireos.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/aireos.pyi b/zuul/ansible/base/action/aireos.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/aireos.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/aireos_config.py b/zuul/ansible/base/action/aireos_config.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/aireos_config.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/aireos_config.pyi b/zuul/ansible/base/action/aireos_config.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/aireos_config.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/aruba.py b/zuul/ansible/base/action/aruba.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/aruba.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/aruba.pyi b/zuul/ansible/base/action/aruba.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/aruba.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/aruba_config.py b/zuul/ansible/base/action/aruba_config.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/aruba_config.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/aruba_config.pyi b/zuul/ansible/base/action/aruba_config.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/aruba_config.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/asa.py b/zuul/ansible/base/action/asa.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/asa.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/asa.pyi b/zuul/ansible/base/action/asa.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/asa.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/asa_config.py b/zuul/ansible/base/action/asa_config.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/asa_config.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/asa_config.pyi b/zuul/ansible/base/action/asa_config.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/asa_config.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/asa_template.py b/zuul/ansible/base/action/asa_template.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/asa_template.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/asa_template.pyi b/zuul/ansible/base/action/asa_template.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/asa_template.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/assemble.py b/zuul/ansible/base/action/assemble.py
deleted file mode 100644
index 139ed7da4..000000000
--- a/zuul/ansible/base/action/assemble.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2016 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-
-from zuul.ansible import paths
-assemble = paths._import_ansible_action_plugin("assemble")
-
-
-class ActionModule(assemble.ActionModule):
-
- def _find_needle(self, dirname, needle):
- return paths._safe_find_needle(
- super(ActionModule, self), dirname, needle)
-
- def run(self, tmp=None, task_vars=None):
-
- if not paths._is_official_module(self):
- return paths._fail_module_dict(self._task.action)
-
- if paths._is_localhost_task(self):
- paths._fail_if_unsafe(self._task.args['dest'])
-
- return super(ActionModule, self).run(tmp, task_vars)
diff --git a/zuul/ansible/base/action/assemble.pyi b/zuul/ansible/base/action/assemble.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/assemble.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/aws_s3.py b/zuul/ansible/base/action/aws_s3.py
deleted file mode 100644
index ff7c81403..000000000
--- a/zuul/ansible/base/action/aws_s3.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2016 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-
-from zuul.ansible import paths
-aws_s3 = paths._import_ansible_action_plugin("aws_s3")
-
-
-class ActionModule(aws_s3.ActionModule):
-
- def _find_needle(self, dirname, needle):
- return paths._safe_find_needle(
- super(ActionModule, self), dirname, needle)
-
- def run(self, tmp=None, task_vars=None):
-
- if not paths._is_official_module(self):
- return paths._fail_module_dict(self._task.action)
-
- if paths._is_localhost_task(self):
- paths._fail_if_unsafe(self._task.args['dest'])
-
- return super(ActionModule, self).run(tmp, task_vars)
diff --git a/zuul/ansible/base/action/aws_s3.pyi b/zuul/ansible/base/action/aws_s3.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/aws_s3.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/ce.py b/zuul/ansible/base/action/ce.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/ce.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/ce.pyi b/zuul/ansible/base/action/ce.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/ce.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/ce_config.py b/zuul/ansible/base/action/ce_config.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/ce_config.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/ce_config.pyi b/zuul/ansible/base/action/ce_config.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/ce_config.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/ce_template.py b/zuul/ansible/base/action/ce_template.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/ce_template.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/ce_template.pyi b/zuul/ansible/base/action/ce_template.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/ce_template.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/copy.py b/zuul/ansible/base/action/copy.py
deleted file mode 100644
index e8927ce9e..000000000
--- a/zuul/ansible/base/action/copy.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2016 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-
-from zuul.ansible import paths
-copy = paths._import_ansible_action_plugin("copy")
-
-
-class ActionModule(copy.ActionModule):
-
- def _find_needle(self, dirname, needle):
- return paths._safe_find_needle(
- super(ActionModule, self), dirname, needle)
-
- def run(self, tmp=None, task_vars=None):
-
- if not paths._is_official_module(self):
- return paths._fail_module_dict(self._task.action)
-
- if paths._is_localhost_task(self):
- paths._fail_if_unsafe(self._task.args['dest'])
-
- return super(ActionModule, self).run(tmp, task_vars)
diff --git a/zuul/ansible/base/action/copy.pyi b/zuul/ansible/base/action/copy.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/copy.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/dellos10_config.py b/zuul/ansible/base/action/dellos10_config.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/dellos10_config.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/dellos10_config.pyi b/zuul/ansible/base/action/dellos10_config.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/dellos10_config.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/dellos6_config.py b/zuul/ansible/base/action/dellos6_config.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/dellos6_config.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/dellos6_config.pyi b/zuul/ansible/base/action/dellos6_config.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/dellos6_config.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/dellos9_config.py b/zuul/ansible/base/action/dellos9_config.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/dellos9_config.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/dellos9_config.pyi b/zuul/ansible/base/action/dellos9_config.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/dellos9_config.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/eos_config.py b/zuul/ansible/base/action/eos_config.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/eos_config.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/eos_config.pyi b/zuul/ansible/base/action/eos_config.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/eos_config.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/eos_template.py b/zuul/ansible/base/action/eos_template.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/eos_template.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/eos_template.pyi b/zuul/ansible/base/action/eos_template.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/eos_template.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/fetch.py b/zuul/ansible/base/action/fetch.py
deleted file mode 100644
index 0d35846e2..000000000
--- a/zuul/ansible/base/action/fetch.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2016 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-
-from zuul.ansible import paths
-fetch = paths._import_ansible_action_plugin("fetch")
-
-
-class ActionModule(fetch.ActionModule):
-
- def run(self, tmp=None, task_vars=None):
- if not paths._is_official_module(self):
- return paths._fail_module_dict(self._task.action)
-
- dest = self._task.args.get('dest', None)
-
- if dest and not paths._is_safe_path(dest):
- return paths._fail_dict(dest)
- return super(ActionModule, self).run(tmp, task_vars)
diff --git a/zuul/ansible/base/action/fetch.pyi b/zuul/ansible/base/action/fetch.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/fetch.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/fortios_config.py b/zuul/ansible/base/action/fortios_config.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/fortios_config.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/fortios_config.pyi b/zuul/ansible/base/action/fortios_config.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/fortios_config.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/include_vars.py b/zuul/ansible/base/action/include_vars.py
deleted file mode 100644
index 930e54d50..000000000
--- a/zuul/ansible/base/action/include_vars.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2016 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-
-from zuul.ansible import paths
-include_vars = paths._import_ansible_action_plugin("include_vars")
-
-
-class ActionModule(include_vars.ActionModule):
-
- def _find_needle(self, dirname, needle):
- return paths._safe_find_needle(
- super(ActionModule, self), dirname, needle)
-
- def run(self, tmp=None, task_vars=None):
- if not paths._is_official_module(self):
- return paths._fail_module_dict(self._task.action)
-
- source_dir = self._task.args.get('dir', None)
-
- # This is the handling for source_dir. The source_file is handled by
- # the _find_needle override.
- if source_dir:
- self._set_args()
- self._set_root_dir()
- if not paths._is_safe_path(self.source_dir, allow_trusted=True):
- return paths._fail_dict(self.source_dir)
- return super(ActionModule, self).run(tmp, task_vars)
diff --git a/zuul/ansible/base/action/include_vars.pyi b/zuul/ansible/base/action/include_vars.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/include_vars.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/ios_config.py b/zuul/ansible/base/action/ios_config.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/ios_config.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/ios_config.pyi b/zuul/ansible/base/action/ios_config.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/ios_config.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/ios_template.py b/zuul/ansible/base/action/ios_template.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/ios_template.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/ios_template.pyi b/zuul/ansible/base/action/ios_template.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/ios_template.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/iosxr_config.py b/zuul/ansible/base/action/iosxr_config.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/iosxr_config.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/iosxr_config.pyi b/zuul/ansible/base/action/iosxr_config.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/iosxr_config.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/iosxr_template.py b/zuul/ansible/base/action/iosxr_template.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/iosxr_template.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/iosxr_template.pyi b/zuul/ansible/base/action/iosxr_template.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/iosxr_template.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/junos_config.py b/zuul/ansible/base/action/junos_config.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/junos_config.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/junos_config.pyi b/zuul/ansible/base/action/junos_config.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/junos_config.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/junos_template.py b/zuul/ansible/base/action/junos_template.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/junos_template.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/junos_template.pyi b/zuul/ansible/base/action/junos_template.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/junos_template.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/net_banner.py b/zuul/ansible/base/action/net_banner.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/net_banner.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/net_banner.pyi b/zuul/ansible/base/action/net_banner.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/net_banner.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/net_base.py b/zuul/ansible/base/action/net_base.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/net_base.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/net_base.pyi b/zuul/ansible/base/action/net_base.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/net_base.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/net_config.py b/zuul/ansible/base/action/net_config.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/net_config.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/net_config.pyi b/zuul/ansible/base/action/net_config.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/net_config.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/net_get.py b/zuul/ansible/base/action/net_get.py
deleted file mode 100644
index 8254fd47d..000000000
--- a/zuul/ansible/base/action/net_get.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2016 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-
-from zuul.ansible import paths
-net_get = paths._import_ansible_action_plugin("net_get")
-
-
-class ActionModule(net_get.ActionModule):
-
- def run(self, tmp=None, task_vars=None):
-
- if not paths._is_official_module(self):
- return paths._fail_module_dict(self._task.action)
-
- if paths._is_localhost_task(self):
- paths._fail_if_unsafe(self._task.args['dest'])
-
- return super(ActionModule, self).run(tmp, task_vars)
diff --git a/zuul/ansible/base/action/net_get.pyi b/zuul/ansible/base/action/net_get.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/net_get.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/net_interface.py b/zuul/ansible/base/action/net_interface.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/net_interface.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/net_interface.pyi b/zuul/ansible/base/action/net_interface.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/net_interface.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/net_l2_interface.py b/zuul/ansible/base/action/net_l2_interface.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/net_l2_interface.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/net_l2_interface.pyi b/zuul/ansible/base/action/net_l2_interface.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/net_l2_interface.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/net_l3_interface.py b/zuul/ansible/base/action/net_l3_interface.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/net_l3_interface.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/net_l3_interface.pyi b/zuul/ansible/base/action/net_l3_interface.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/net_l3_interface.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/net_linkagg.py b/zuul/ansible/base/action/net_linkagg.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/net_linkagg.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/net_linkagg.pyi b/zuul/ansible/base/action/net_linkagg.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/net_linkagg.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/net_lldp.py b/zuul/ansible/base/action/net_lldp.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/net_lldp.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/net_lldp.pyi b/zuul/ansible/base/action/net_lldp.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/net_lldp.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/net_lldp_interface.py b/zuul/ansible/base/action/net_lldp_interface.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/net_lldp_interface.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/net_lldp_interface.pyi b/zuul/ansible/base/action/net_lldp_interface.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/net_lldp_interface.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/net_logging.py b/zuul/ansible/base/action/net_logging.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/net_logging.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/net_logging.pyi b/zuul/ansible/base/action/net_logging.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/net_logging.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/net_ping.py b/zuul/ansible/base/action/net_ping.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/net_ping.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/net_ping.pyi b/zuul/ansible/base/action/net_ping.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/net_ping.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/net_static_route.py b/zuul/ansible/base/action/net_static_route.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/net_static_route.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/net_static_route.pyi b/zuul/ansible/base/action/net_static_route.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/net_static_route.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/net_system.py b/zuul/ansible/base/action/net_system.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/net_system.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/net_system.pyi b/zuul/ansible/base/action/net_system.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/net_system.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/net_template.py b/zuul/ansible/base/action/net_template.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/net_template.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/net_template.pyi b/zuul/ansible/base/action/net_template.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/net_template.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/net_user.py b/zuul/ansible/base/action/net_user.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/net_user.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/net_user.pyi b/zuul/ansible/base/action/net_user.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/net_user.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/net_vlan.py b/zuul/ansible/base/action/net_vlan.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/net_vlan.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/net_vlan.pyi b/zuul/ansible/base/action/net_vlan.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/net_vlan.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/net_vrf.py b/zuul/ansible/base/action/net_vrf.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/net_vrf.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/net_vrf.pyi b/zuul/ansible/base/action/net_vrf.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/net_vrf.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/netconf_config.py b/zuul/ansible/base/action/netconf_config.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/netconf_config.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/netconf_config.pyi b/zuul/ansible/base/action/netconf_config.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/netconf_config.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/network.py b/zuul/ansible/base/action/network.py
deleted file mode 100644
index 41fc56033..000000000
--- a/zuul/ansible/base/action/network.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2016 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-
-from zuul.ansible import paths
-network = paths._import_ansible_action_plugin("network")
-
-
-class ActionModule(network.ActionModule):
-
- def run(self, tmp=None, task_vars=None):
-
- return dict(failed=True, msg='Use of network modules is prohibited')
diff --git a/zuul/ansible/base/action/network.pyi b/zuul/ansible/base/action/network.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/network.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/normal.py b/zuul/ansible/base/action/normal.py
deleted file mode 100644
index d0329aed4..000000000
--- a/zuul/ansible/base/action/normal.py
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 2017 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-from ansible.errors import AnsibleError
-
-from zuul.ansible import paths
-normal = paths._import_ansible_action_plugin('normal')
-
-
-class ActionModule(normal.ActionModule):
- '''Override the normal action plugin
-
- :py:class:`ansible.plugins.normal.ActionModule` is run for every
- module that does not have a more specific matching action plugin.
-
- Our overridden version of it wraps the execution with checks to block
- undesired actions on localhost.
- '''
-
- def run(self, tmp=None, task_vars=None):
- '''Overridden primary method from the base class.'''
-
- if paths._is_localhost_task(self):
- if not self.dispatch_handler():
- raise AnsibleError("Executing local code is prohibited")
- return super(ActionModule, self).run(tmp, task_vars)
-
- def dispatch_handler(self):
- '''Run per-action handler if one exists.'''
- handler_name = 'handle_{action}'.format(action=self._task.action)
- handler = getattr(self, handler_name, None)
- if handler:
- paths._fail_if_local_module(self)
- handler()
- return True
- return False
-
- def handle_zuul_return(self):
- '''Allow zuul_return module on localhost.'''
- pass
-
- def handle_stat(self):
- '''Allow stat module on localhost if it doesn't touch unsafe files.
-
- The :ansible:module:`stat` can be useful in jobs for manipulating logs
- and artifacts.
-
- Block any access of files outside the zuul work dir.
- '''
- if self._task.args.get('get_mime'):
- raise AnsibleError("get_mime on localhost is forbidden")
- paths._fail_if_unsafe(self._task.args['path'])
-
- def handle_file(self):
- '''Allow file module on localhost if it doesn't touch unsafe files.
-
- The :ansible:module:`file` can be useful in jobs for manipulating logs
- and artifacts.
-
- Block any access of files outside the zuul work dir.
- '''
- for arg in ('path', 'dest', 'name'):
- dest = self._task.args.get(arg)
- if dest:
- paths._fail_if_unsafe(dest)
-
- def handle_known_hosts(self):
- '''Allow known_hosts on localhost
-
- The :ansible:module:`known_hosts` can be used to add SSH host keys of
- a remote system. When run from a executor it can be used with the
- add_host task to access remote servers. This is needed because ansible
- on the executor is configured to check host keys by default.
-
- Block any access of files outside the zuul work dir.
- '''
- if paths._is_localhost_task(self):
- path = self._task.args.get('path')
- if path:
- paths._fail_if_unsafe(path)
-
- def handle_k8s(self):
- '''Allow k8s module on localhost if it doesn't touch unsafe files.
-
- The :ansible:module:`k8s` can be used from the executor to modify
- k8s resources. Several options refer to local paths; check that
- they are constrained to the work dir.
- '''
- for arg in ('src', 'ca_cert', 'client_cert',
- 'client_key', 'kubeconfig'):
- path = self._task.args.get(arg)
- if path:
- paths._fail_if_unsafe(path)
-
- def handle_find(self):
- '''Allow find module on localhost if it doesn't traverse unsafe files.
-
- The :ansible:module:`find` can be used from the executor to
- gather a list of files.
- '''
- find_paths = self._task.args.get('paths')
- if not isinstance(find_paths, list):
- find_paths = (find_paths,)
- for path in find_paths:
- paths._fail_if_unsafe(path)
diff --git a/zuul/ansible/base/action/normal.pyi b/zuul/ansible/base/action/normal.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/normal.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/nxos_config.py b/zuul/ansible/base/action/nxos_config.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/nxos_config.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/nxos_config.pyi b/zuul/ansible/base/action/nxos_config.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/nxos_config.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/nxos_template.py b/zuul/ansible/base/action/nxos_template.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/nxos_template.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/nxos_template.pyi b/zuul/ansible/base/action/nxos_template.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/nxos_template.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/ops_config.py b/zuul/ansible/base/action/ops_config.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/ops_config.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/ops_config.pyi b/zuul/ansible/base/action/ops_config.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/ops_config.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/ops_template.py b/zuul/ansible/base/action/ops_template.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/ops_template.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/ops_template.pyi b/zuul/ansible/base/action/ops_template.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/ops_template.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/patch.py b/zuul/ansible/base/action/patch.py
deleted file mode 100644
index 098d4819c..000000000
--- a/zuul/ansible/base/action/patch.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2016 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-from zuul.ansible import paths
-patch = paths._import_ansible_action_plugin("patch")
-
-
-class ActionModule(patch.ActionModule):
-
- def _find_needle(self, dirname, needle):
- return paths._safe_find_needle(
- super(ActionModule, self), dirname, needle)
-
- def run(self, tmp=None, task_vars=None):
- if not paths._is_official_module(self):
- return paths._fail_module_dict(self._task.action)
-
- if paths._is_localhost_task(self):
- # The patch module has two possibilities of describing where to
- # operate, basedir and dest. We need to perform the safe path check
- # for both.
- dirs_to_check = [
- self._task.args.get('basedir'),
- self._task.args.get('dest'),
- ]
-
- for directory in dirs_to_check:
- if directory is not None:
- paths._fail_if_unsafe(directory)
-
- return super(ActionModule, self).run(tmp, task_vars)
diff --git a/zuul/ansible/base/action/patch.pyi b/zuul/ansible/base/action/patch.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/patch.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/raw.py b/zuul/ansible/base/action/raw.py
deleted file mode 100644
index fb1e1a6e3..000000000
--- a/zuul/ansible/base/action/raw.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2019 BMW Group
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-
-from ansible.errors import AnsibleError
-from zuul.ansible import paths
-raw = paths._import_ansible_action_plugin("raw")
-
-
-class ActionModule(raw.ActionModule):
-
- def run(self, tmp=None, task_vars=None):
-
- if not paths._is_official_module(self):
- return paths._fail_module_dict(self._task.action)
-
- if paths._is_localhost_task(self):
- raise AnsibleError("Executing local code is prohibited")
-
- return super(ActionModule, self).run(tmp, task_vars)
diff --git a/zuul/ansible/base/action/raw.pyi b/zuul/ansible/base/action/raw.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/raw.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/script.py b/zuul/ansible/base/action/script.py
deleted file mode 100644
index 9fc38cc96..000000000
--- a/zuul/ansible/base/action/script.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2016 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-
-from ansible.errors import AnsibleError
-from zuul.ansible import paths
-script = paths._import_ansible_action_plugin("script")
-
-
-class ActionModule(script.ActionModule):
-
- def _find_needle(self, dirname, needle):
- return paths._safe_find_needle(
- super(ActionModule, self), dirname, needle)
-
- def run(self, tmp=None, task_vars=None):
-
- if not paths._is_official_module(self):
- return paths._fail_module_dict(self._task.action)
-
- if paths._is_localhost_task(self):
- raise AnsibleError("Executing local code is prohibited")
-
- return super(ActionModule, self).run(tmp, task_vars)
diff --git a/zuul/ansible/base/action/script.pyi b/zuul/ansible/base/action/script.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/script.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/sros_config.py b/zuul/ansible/base/action/sros_config.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/sros_config.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/sros_config.pyi b/zuul/ansible/base/action/sros_config.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/sros_config.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/synchronize.py b/zuul/ansible/base/action/synchronize.py
deleted file mode 100644
index c9f275e71..000000000
--- a/zuul/ansible/base/action/synchronize.py
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 2016 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-
-from zuul.ansible import paths
-synchronize = paths._import_ansible_action_plugin("synchronize")
-
-
-def is_opt_prohibited(rsync_arg):
- prohibited_opts = (
- "--rsh",
- "-e",
- )
- return any(filter(lambda opt: rsync_arg.startswith(opt), prohibited_opts))
-
-
-def is_env_prohibited(env_keys):
- prohibited_env = (
- "RSYNC_RSH",
- )
- return any(filter(lambda env: env in prohibited_env, env_keys))
-
-
-def is_prohibited(rsync_opts, environment):
- return (any(filter(is_opt_prohibited, list(map(str.strip, rsync_opts)))) or
- any(filter(is_env_prohibited, list(map(dict.keys, environment)))))
-
-
-class ActionModule(synchronize.ActionModule):
-
- def run(self, tmp=None, task_vars=None):
- if not paths._is_official_module(self):
- return paths._fail_module_dict(self._task.action)
-
- try:
- delegate_to = self._task.delegate_to
- except (AttributeError, KeyError):
- delegate_to = None
-
- if delegate_to and not paths._is_localhost_task(self):
- return super(ActionModule, self).run(tmp, task_vars)
-
- source = self._task.args.get('src', None)
- dest = self._task.args.get('dest', None)
- mode = self._task.args.get('mode', 'push')
-
- if 'rsync_opts' not in self._task.args:
- self._task.args['rsync_opts'] = []
- if '--safe-links' not in self._task.args['rsync_opts']:
- self._task.args['rsync_opts'].append('--safe-links')
- if is_prohibited(
- self._task.args.get('rsync_opts', []),
- self._task.environment if self._task.environment else {}):
- return dict(
- failed=True,
- msg="Using custom synchronize rsh is prohibited")
-
- if mode == 'push' and not paths._is_safe_path(
- source, allow_trusted=True):
- return paths._fail_dict(source, prefix='Syncing files from')
- if mode == 'pull' and not paths._is_safe_path(dest):
- return paths._fail_dict(dest, prefix='Syncing files to')
- return super(ActionModule, self).run(tmp, task_vars)
diff --git a/zuul/ansible/base/action/synchronize.pyi b/zuul/ansible/base/action/synchronize.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/synchronize.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/template.py b/zuul/ansible/base/action/template.py
deleted file mode 100644
index 5f0e5602c..000000000
--- a/zuul/ansible/base/action/template.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2016 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-
-from zuul.ansible import paths
-template = paths._import_ansible_action_plugin("template")
-
-
-class ActionModule(template.ActionModule):
-
- def _find_needle(self, dirname, needle):
- return paths._safe_find_needle(
- super(ActionModule, self), dirname, needle)
-
- def run(self, tmp=None, task_vars=None):
- if not paths._is_official_module(self):
- return paths._fail_module_dict(self._task.action)
-
- return super(ActionModule, self).run(tmp, task_vars)
diff --git a/zuul/ansible/base/action/template.pyi b/zuul/ansible/base/action/template.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/template.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/unarchive.py b/zuul/ansible/base/action/unarchive.py
deleted file mode 100644
index 9eb9bb544..000000000
--- a/zuul/ansible/base/action/unarchive.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2016 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-
-from zuul.ansible import paths
-unarchive = paths._import_ansible_action_plugin("unarchive")
-
-
-class ActionModule(unarchive.ActionModule):
-
- def _find_needle(self, dirname, needle):
- return paths._safe_find_needle(
- super(ActionModule, self), dirname, needle)
-
- def run(self, tmp=None, task_vars=None):
- if not paths._is_official_module(self):
- return paths._fail_module_dict(self._task.action)
-
- # Note: The unarchive module reuses the copy module to copy the archive
- # to the remote. Thus we don't need to check the dest here if we run
- # against localhost. We also have tests that would break if this
- # changes in the future.
-
- return super(ActionModule, self).run(tmp, task_vars)
diff --git a/zuul/ansible/base/action/unarchive.pyi b/zuul/ansible/base/action/unarchive.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/unarchive.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/uri.py b/zuul/ansible/base/action/uri.py
deleted file mode 100644
index 44f60882c..000000000
--- a/zuul/ansible/base/action/uri.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2016 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-from ansible.errors import AnsibleError
-from ansible.module_utils.six.moves.urllib.parse import urlparse
-
-from zuul.ansible import paths
-uri = paths._import_ansible_action_plugin("uri")
-
-ALLOWED_URL_SCHEMES = ('https', 'http', 'ftp')
-
-
-class ActionModule(uri.ActionModule):
-
- def _find_needle(self, dirname, needle):
- return paths._safe_find_needle(
- super(ActionModule, self), dirname, needle)
-
- def run(self, tmp=None, task_vars=None):
-
- if not paths._is_official_module(self):
- return paths._fail_module_dict(self._task.action)
-
- if paths._is_localhost_task(self):
- for arg in ('src', 'dest'):
- dest = self._task.args.get(arg)
- if dest:
- paths._fail_if_unsafe(dest)
- scheme = urlparse(self._task.args['url']).scheme
- if scheme not in ALLOWED_URL_SCHEMES:
- raise AnsibleError(
- "{scheme} urls are not allowed from localhost."
- " Only {allowed_schemes} are allowed".format(
- scheme=scheme,
- allowed_schemes=ALLOWED_URL_SCHEMES))
-
- return super(ActionModule, self).run(tmp, task_vars)
diff --git a/zuul/ansible/base/action/uri.pyi b/zuul/ansible/base/action/uri.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/uri.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/vyos_config.py b/zuul/ansible/base/action/vyos_config.py
deleted file mode 120000
index 7a739baa2..000000000
--- a/zuul/ansible/base/action/vyos_config.py
+++ /dev/null
@@ -1 +0,0 @@
-network.py \ No newline at end of file
diff --git a/zuul/ansible/base/action/vyos_config.pyi b/zuul/ansible/base/action/vyos_config.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/vyos_config.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/win_copy.py b/zuul/ansible/base/action/win_copy.py
deleted file mode 100644
index d9dbe4dc8..000000000
--- a/zuul/ansible/base/action/win_copy.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2016 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-
-from zuul.ansible import paths
-win_copy = paths._import_ansible_action_plugin("win_copy")
-
-
-class ActionModule(win_copy.ActionModule):
-
- def _find_needle(self, dirname, needle):
- return paths._safe_find_needle(
- super(ActionModule, self), dirname, needle)
-
- def run(self, tmp=None, task_vars=None):
- if not paths._is_official_module(self):
- return paths._fail_module_dict(self._task.action)
-
- return super(ActionModule, self).run(tmp, task_vars)
diff --git a/zuul/ansible/base/action/win_copy.pyi b/zuul/ansible/base/action/win_copy.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/win_copy.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/action/win_template.py b/zuul/ansible/base/action/win_template.py
deleted file mode 100644
index 36b475aea..000000000
--- a/zuul/ansible/base/action/win_template.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2016 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-
-from zuul.ansible import paths
-win_template = paths._import_ansible_action_plugin("win_template")
-
-
-class ActionModule(win_template.ActionModule):
-
- def _find_needle(self, dirname, needle):
- return paths._safe_find_needle(
- super(ActionModule, self), dirname, needle)
-
- def run(self, tmp=None, task_vars=None):
- if not paths._is_official_module(self):
- return paths._fail_module_dict(self._task.action)
-
- return super(ActionModule, self).run(tmp, task_vars)
diff --git a/zuul/ansible/base/action/win_template.pyi b/zuul/ansible/base/action/win_template.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/action/win_template.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/__init__.py b/zuul/ansible/base/lookup/__init__.py
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/__init__.py
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/_banned.py b/zuul/ansible/base/lookup/_banned.py
deleted file mode 100644
index 65708f80d..000000000
--- a/zuul/ansible/base/lookup/_banned.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2017 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-from ansible.errors import AnsibleError
-from ansible.plugins.lookup import LookupBase
-
-
-class LookupModule(LookupBase):
-
- def run(self, *args, **kwargs):
- raise AnsibleError(
- "Use of lookup modules that perform local actions on the executor"
- " is forbidden.")
diff --git a/zuul/ansible/base/lookup/_banned.pyi b/zuul/ansible/base/lookup/_banned.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/_banned.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/chef_databag.py b/zuul/ansible/base/lookup/chef_databag.py
deleted file mode 120000
index d45b9c405..000000000
--- a/zuul/ansible/base/lookup/chef_databag.py
+++ /dev/null
@@ -1 +0,0 @@
-_banned.py \ No newline at end of file
diff --git a/zuul/ansible/base/lookup/chef_databag.pyi b/zuul/ansible/base/lookup/chef_databag.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/chef_databag.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/consul_kv.py b/zuul/ansible/base/lookup/consul_kv.py
deleted file mode 120000
index d45b9c405..000000000
--- a/zuul/ansible/base/lookup/consul_kv.py
+++ /dev/null
@@ -1 +0,0 @@
-_banned.py \ No newline at end of file
diff --git a/zuul/ansible/base/lookup/consul_kv.pyi b/zuul/ansible/base/lookup/consul_kv.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/consul_kv.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/credstash.py b/zuul/ansible/base/lookup/credstash.py
deleted file mode 120000
index d45b9c405..000000000
--- a/zuul/ansible/base/lookup/credstash.py
+++ /dev/null
@@ -1 +0,0 @@
-_banned.py \ No newline at end of file
diff --git a/zuul/ansible/base/lookup/credstash.pyi b/zuul/ansible/base/lookup/credstash.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/credstash.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/csvfile.py b/zuul/ansible/base/lookup/csvfile.py
deleted file mode 100644
index 0d5136931..000000000
--- a/zuul/ansible/base/lookup/csvfile.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2017 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-import csv
-
-from ansible.errors import AnsibleError
-from ansible.module_utils._text import to_native
-
-from zuul.ansible import paths
-csvfile = paths._import_ansible_lookup_plugin("csvfile")
-
-
-class LookupModule(csvfile.LookupModule):
-
- def read_csv(
- self, filename, key, delimiter, encoding='utf-8',
- dflt=None, col=1):
- paths._fail_if_unsafe(filename, allow_trusted=True)
-
- # upstream csvfile read_csv does not work with python3 so
- # carry our own version.
- try:
- f = open(filename, 'r')
- creader = csv.reader(f, dialect=csv.excel, delimiter=delimiter)
-
- for row in creader:
- if row[0] == key:
- return row[int(col)]
- except Exception as e:
- raise AnsibleError("csvfile: %s" % to_native(e))
-
- return dflt
diff --git a/zuul/ansible/base/lookup/csvfile.pyi b/zuul/ansible/base/lookup/csvfile.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/csvfile.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/cyberarkpassword.py b/zuul/ansible/base/lookup/cyberarkpassword.py
deleted file mode 120000
index d45b9c405..000000000
--- a/zuul/ansible/base/lookup/cyberarkpassword.py
+++ /dev/null
@@ -1 +0,0 @@
-_banned.py \ No newline at end of file
diff --git a/zuul/ansible/base/lookup/cyberarkpassword.pyi b/zuul/ansible/base/lookup/cyberarkpassword.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/cyberarkpassword.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/dig.py b/zuul/ansible/base/lookup/dig.py
deleted file mode 120000
index d45b9c405..000000000
--- a/zuul/ansible/base/lookup/dig.py
+++ /dev/null
@@ -1 +0,0 @@
-_banned.py \ No newline at end of file
diff --git a/zuul/ansible/base/lookup/dig.pyi b/zuul/ansible/base/lookup/dig.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/dig.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/dnstxt.py b/zuul/ansible/base/lookup/dnstxt.py
deleted file mode 120000
index d45b9c405..000000000
--- a/zuul/ansible/base/lookup/dnstxt.py
+++ /dev/null
@@ -1 +0,0 @@
-_banned.py \ No newline at end of file
diff --git a/zuul/ansible/base/lookup/dnstxt.pyi b/zuul/ansible/base/lookup/dnstxt.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/dnstxt.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/env.py b/zuul/ansible/base/lookup/env.py
deleted file mode 120000
index d45b9c405..000000000
--- a/zuul/ansible/base/lookup/env.py
+++ /dev/null
@@ -1 +0,0 @@
-_banned.py \ No newline at end of file
diff --git a/zuul/ansible/base/lookup/env.pyi b/zuul/ansible/base/lookup/env.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/env.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/etcd.py b/zuul/ansible/base/lookup/etcd.py
deleted file mode 120000
index d45b9c405..000000000
--- a/zuul/ansible/base/lookup/etcd.py
+++ /dev/null
@@ -1 +0,0 @@
-_banned.py \ No newline at end of file
diff --git a/zuul/ansible/base/lookup/etcd.pyi b/zuul/ansible/base/lookup/etcd.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/etcd.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/file.py b/zuul/ansible/base/lookup/file.py
deleted file mode 100644
index 904837003..000000000
--- a/zuul/ansible/base/lookup/file.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2017 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-
-from zuul.ansible import paths
-file_mod = paths._import_ansible_lookup_plugin("file")
-
-
-class LookupModule(file_mod.LookupModule):
-
- def run(self, terms, variables=None, **kwargs):
- for term in terms:
- lookupfile = self.find_file_in_search_path(
- variables, 'files', term)
- paths._fail_if_unsafe(lookupfile, allow_trusted=True)
- return super(LookupModule, self).run(terms, variables, **kwargs)
diff --git a/zuul/ansible/base/lookup/file.pyi b/zuul/ansible/base/lookup/file.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/file.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/fileglob.py b/zuul/ansible/base/lookup/fileglob.py
deleted file mode 100644
index 8d6b88120..000000000
--- a/zuul/ansible/base/lookup/fileglob.py
+++ /dev/null
@@ -1,45 +0,0 @@
-# (c) 2012, Michael DeHaan <michael.dehaan@gmail.com>
-# Copyright 2017 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-# Forked from lib/ansible/plugins/lookup/fileglob.py in ansible
-
-import os
-import glob
-
-from zuul.ansible import paths
-
-from ansible.plugins.lookup import LookupBase
-from ansible.module_utils._text import to_bytes, to_text
-
-
-class LookupModule(LookupBase):
-
- def run(self, terms, variables=None, **kwargs):
-
- ret = []
- for term in terms:
- term_file = os.path.basename(term)
- dwimmed_path = self.find_file_in_search_path(
- variables, 'files', os.path.dirname(term))
- if dwimmed_path:
- paths._fail_if_unsafe(dwimmed_path, allow_trusted=True)
- globbed = glob.glob(to_bytes(
- os.path.join(dwimmed_path, term_file),
- errors='surrogate_or_strict'))
- ret.extend(
- to_text(g, errors='surrogate_or_strict')
- for g in globbed if os.path.isfile(g))
- return ret
diff --git a/zuul/ansible/base/lookup/fileglob.pyi b/zuul/ansible/base/lookup/fileglob.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/fileglob.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/filetree.py b/zuul/ansible/base/lookup/filetree.py
deleted file mode 100644
index 490dc384c..000000000
--- a/zuul/ansible/base/lookup/filetree.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2017 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-import os
-
-from zuul.ansible import paths
-filetree = paths._import_ansible_lookup_plugin("filetree")
-
-
-class LookupModule(filetree.LookupModule):
-
- def run(self, terms, variables=None, **kwargs):
- basedir = self.get_basedir(variables)
- for term in terms:
- term_file = os.path.basename(term)
- dwimmed_path = self._loader.path_dwim_relative(
- basedir, 'files', os.path.dirname(term))
- path = os.path.join(dwimmed_path, term_file)
- paths._fail_if_unsafe(path, allow_trusted=True)
- return super(LookupModule, self).run(terms, variables, **kwargs)
diff --git a/zuul/ansible/base/lookup/filetree.pyi b/zuul/ansible/base/lookup/filetree.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/filetree.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/first_found.py b/zuul/ansible/base/lookup/first_found.py
deleted file mode 100644
index 264296ebf..000000000
--- a/zuul/ansible/base/lookup/first_found.py
+++ /dev/null
@@ -1,201 +0,0 @@
-# (c) 2013, seth vidal <skvidal@fedoraproject.org> red hat, inc
-# Copyright 2017 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-# take a list of files and (optionally) a list of paths
-# return the first existing file found in the paths
-# [file1, file2, file3], [path1, path2, path3]
-# search order is:
-# path1/file1
-# path1/file2
-# path1/file3
-# path2/file1
-# path2/file2
-# path2/file3
-# path3/file1
-# path3/file2
-# path3/file3
-
-# first file found with os.path.exists() is returned
-# no file matches raises ansibleerror
-# EXAMPLES
-# - name: copy first existing file found to /some/file
-# action: copy src=$item dest=/some/file
-# with_first_found:
-# - files: foo ${inventory_hostname} bar
-# paths: /tmp/production /tmp/staging
-
-# that will look for files in this order:
-# /tmp/production/foo
-# ${inventory_hostname}
-# bar
-# /tmp/staging/foo
-# ${inventory_hostname}
-# bar
-
-# - name: copy first existing file found to /some/file
-# action: copy src=$item dest=/some/file
-# with_first_found:
-# - files: /some/place/foo ${inventory_hostname} /some/place/else
-
-# that will look for files in this order:
-# /some/place/foo
-# $relative_path/${inventory_hostname}
-# /some/place/else
-
-# example - including tasks:
-# tasks:
-# - include: $item
-# with_first_found:
-# - files: generic
-# paths: tasks/staging tasks/production
-# this will include the tasks in the file generic where it is found first
-# (staging or production)
-
-# example simple file lists
-# tasks:
-# - name: first found file
-# action: copy src=$item dest=/etc/file.cfg
-# with_first_found:
-# - files: foo.${inventory_hostname} foo
-
-
-# example skipping if no matched files
-# First_found also offers the ability to control whether or not failing
-# to find a file returns an error or not
-#
-# - name: first found file - or skip
-# action: copy src=$item dest=/etc/file.cfg
-# with_first_found:
-# - files: foo.${inventory_hostname}
-# skip: true
-
-# example a role with default configuration and configuration per host
-# you can set multiple terms with their own files and paths to look through.
-# consider a role that sets some configuration per host falling back on a
-# default config.
-#
-# - name: some configuration template
-# template: src={{ item }} dest=/etc/file.cfg mode=0444 owner=root group=root
-# with_first_found:
-# - files:
-# - ${inventory_hostname}/etc/file.cfg
-# paths:
-# - ../../../templates.overwrites
-# - ../../../templates
-# - files:
-# - etc/file.cfg
-# paths:
-# - templates
-
-# the above will return an empty list if the files cannot be found at all
-# if skip is unspecificed or if it is set to false then it will return a list
-# error which can be caught bye ignore_errors: true for that action.
-
-# finally - if you want you can use it, in place to replace
-# first_available_file:
-# you simply cannot use the - files, path or skip options. simply replace
-# first_available_file with with_first_found and leave the file listing in
-# place
-#
-#
-# - name: with_first_found like first_available_file
-# action: copy src=$item dest=/tmp/faftest
-# with_first_found:
-# - ../files/foo
-# - ../files/bar
-# - ../files/baz
-# ignore_errors: true
-
-import os
-
-from jinja2.exceptions import UndefinedError
-
-from ansible.constants import mk_boolean as boolean
-from ansible.errors import AnsibleLookupError
-from ansible.errors import AnsibleUndefinedVariable
-from ansible.module_utils.six import string_types
-from ansible.plugins.lookup import LookupBase
-
-from zuul.ansible import paths as zuul_paths
-
-
-class LookupModule(LookupBase):
-
- def run(self, terms, variables, **kwargs):
-
- anydict = False
- skip = False
-
- for term in terms:
- if isinstance(term, dict):
- anydict = True
-
- total_search = []
- if anydict:
- for term in terms:
- if isinstance(term, dict):
- files = term.get('files', [])
- paths = term.get('paths', [])
- skip = boolean(term.get('skip', False))
-
- filelist = files
- if isinstance(files, string_types):
- files = files.replace(',', ' ')
- files = files.replace(';', ' ')
- filelist = files.split(' ')
-
- pathlist = paths
- if paths:
- if isinstance(paths, string_types):
- paths = paths.replace(',', ' ')
- paths = paths.replace(':', ' ')
- paths = paths.replace(';', ' ')
- pathlist = paths.split(' ')
-
- if not pathlist:
- total_search = filelist
- else:
- for path in pathlist:
- for fn in filelist:
- f = os.path.join(path, fn)
- total_search.append(f)
- else:
- total_search.append(term)
- else:
- total_search = self._flatten(terms)
-
- for fn in total_search:
- zuul_paths._fail_if_unsafe(fn, allow_trusted=True)
- try:
- fn = self._templar.template(fn)
- except (AnsibleUndefinedVariable, UndefinedError):
- continue
-
- # get subdir if set by task executor, default to files otherwise
- subdir = getattr(self, '_subdir', 'files')
- path = None
- path = self.find_file_in_search_path(
- variables, subdir, fn, ignore_missing=True)
- if path is not None:
- return [path]
- else:
- if skip:
- return []
- else:
- raise AnsibleLookupError(
- "No file was found when using with_first_found. Use the"
- " 'skip: true' option to allow this task to be skipped if"
- " no files are found")
diff --git a/zuul/ansible/base/lookup/first_found.pyi b/zuul/ansible/base/lookup/first_found.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/first_found.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/hashi_vault.py b/zuul/ansible/base/lookup/hashi_vault.py
deleted file mode 120000
index d45b9c405..000000000
--- a/zuul/ansible/base/lookup/hashi_vault.py
+++ /dev/null
@@ -1 +0,0 @@
-_banned.py \ No newline at end of file
diff --git a/zuul/ansible/base/lookup/hashi_vault.pyi b/zuul/ansible/base/lookup/hashi_vault.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/hashi_vault.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/hiera.py b/zuul/ansible/base/lookup/hiera.py
deleted file mode 120000
index d45b9c405..000000000
--- a/zuul/ansible/base/lookup/hiera.py
+++ /dev/null
@@ -1 +0,0 @@
-_banned.py \ No newline at end of file
diff --git a/zuul/ansible/base/lookup/hiera.pyi b/zuul/ansible/base/lookup/hiera.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/hiera.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/ini.py b/zuul/ansible/base/lookup/ini.py
deleted file mode 100644
index 83d7b144a..000000000
--- a/zuul/ansible/base/lookup/ini.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2017 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-
-from zuul.ansible import paths
-ini = paths._import_ansible_lookup_plugin("ini")
-
-
-class LookupModule(ini.LookupModule):
-
- def read_properties(self, filename, *args, **kwargs):
- paths._fail_if_unsafe(filename, allow_trusted=True)
- return super(LookupModule, self).read_properties(
- filename, *args, **kwargs)
-
- def read_ini(self, filename, *args, **kwargs):
- paths._fail_if_unsafe(filename, allow_trusted=True)
- return super(LookupModule, self).read_ini(
- filename, *args, **kwargs)
diff --git a/zuul/ansible/base/lookup/ini.pyi b/zuul/ansible/base/lookup/ini.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/ini.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/keyring.py b/zuul/ansible/base/lookup/keyring.py
deleted file mode 120000
index d45b9c405..000000000
--- a/zuul/ansible/base/lookup/keyring.py
+++ /dev/null
@@ -1 +0,0 @@
-_banned.py \ No newline at end of file
diff --git a/zuul/ansible/base/lookup/keyring.pyi b/zuul/ansible/base/lookup/keyring.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/keyring.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/lastpass.py b/zuul/ansible/base/lookup/lastpass.py
deleted file mode 120000
index d45b9c405..000000000
--- a/zuul/ansible/base/lookup/lastpass.py
+++ /dev/null
@@ -1 +0,0 @@
-_banned.py \ No newline at end of file
diff --git a/zuul/ansible/base/lookup/lastpass.pyi b/zuul/ansible/base/lookup/lastpass.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/lastpass.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/lines.py b/zuul/ansible/base/lookup/lines.py
deleted file mode 120000
index d45b9c405..000000000
--- a/zuul/ansible/base/lookup/lines.py
+++ /dev/null
@@ -1 +0,0 @@
-_banned.py \ No newline at end of file
diff --git a/zuul/ansible/base/lookup/lines.pyi b/zuul/ansible/base/lookup/lines.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/lines.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/mongodb.py b/zuul/ansible/base/lookup/mongodb.py
deleted file mode 120000
index d45b9c405..000000000
--- a/zuul/ansible/base/lookup/mongodb.py
+++ /dev/null
@@ -1 +0,0 @@
-_banned.py \ No newline at end of file
diff --git a/zuul/ansible/base/lookup/mongodb.pyi b/zuul/ansible/base/lookup/mongodb.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/mongodb.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/password.py b/zuul/ansible/base/lookup/password.py
deleted file mode 100644
index 0fdf898d4..000000000
--- a/zuul/ansible/base/lookup/password.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2019 OpenStack Foundation
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-
-from zuul.ansible import paths
-password = paths._import_ansible_lookup_plugin("password")
-
-
-class LookupModule(password.LookupModule):
-
- def run(self, terms, variables, **kwargs):
- for term in terms:
- relpath = password._parse_parameters(term)[0]
- # /dev/null is whitelisted because it's interpreted specially
- if relpath != "/dev/null":
- path = self._loader.path_dwim(relpath)
- paths._fail_if_unsafe(path, allow_trusted=True)
- return super(LookupModule, self).run(terms, variables, **kwargs)
diff --git a/zuul/ansible/base/lookup/password.pyi b/zuul/ansible/base/lookup/password.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/password.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/passwordstore.py b/zuul/ansible/base/lookup/passwordstore.py
deleted file mode 120000
index d45b9c405..000000000
--- a/zuul/ansible/base/lookup/passwordstore.py
+++ /dev/null
@@ -1 +0,0 @@
-_banned.py \ No newline at end of file
diff --git a/zuul/ansible/base/lookup/passwordstore.pyi b/zuul/ansible/base/lookup/passwordstore.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/passwordstore.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/pipe.py b/zuul/ansible/base/lookup/pipe.py
deleted file mode 120000
index d45b9c405..000000000
--- a/zuul/ansible/base/lookup/pipe.py
+++ /dev/null
@@ -1 +0,0 @@
-_banned.py \ No newline at end of file
diff --git a/zuul/ansible/base/lookup/pipe.pyi b/zuul/ansible/base/lookup/pipe.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/pipe.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/redis_kv.py b/zuul/ansible/base/lookup/redis_kv.py
deleted file mode 120000
index d45b9c405..000000000
--- a/zuul/ansible/base/lookup/redis_kv.py
+++ /dev/null
@@ -1 +0,0 @@
-_banned.py \ No newline at end of file
diff --git a/zuul/ansible/base/lookup/redis_kv.pyi b/zuul/ansible/base/lookup/redis_kv.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/redis_kv.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/shelvefile.py b/zuul/ansible/base/lookup/shelvefile.py
deleted file mode 120000
index d45b9c405..000000000
--- a/zuul/ansible/base/lookup/shelvefile.py
+++ /dev/null
@@ -1 +0,0 @@
-_banned.py \ No newline at end of file
diff --git a/zuul/ansible/base/lookup/shelvefile.pyi b/zuul/ansible/base/lookup/shelvefile.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/shelvefile.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/template.py b/zuul/ansible/base/lookup/template.py
deleted file mode 100644
index fef56570a..000000000
--- a/zuul/ansible/base/lookup/template.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2017 Red Hat, Inc.
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this software. If not, see <http://www.gnu.org/licenses/>.
-
-from zuul.ansible import paths
-template_mod = paths._import_ansible_lookup_plugin("template")
-
-
-class LookupModule(template_mod.LookupModule):
-
- def run(self, terms, variables=None, **kwargs):
- for term in terms:
- lookupfile = self.find_file_in_search_path(
- variables, 'templates', term)
- paths._fail_if_unsafe(lookupfile, allow_trusted=True)
- return super(LookupModule, self).run(terms, variables, **kwargs)
diff --git a/zuul/ansible/base/lookup/template.pyi b/zuul/ansible/base/lookup/template.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/template.pyi
+++ /dev/null
diff --git a/zuul/ansible/base/lookup/url.py b/zuul/ansible/base/lookup/url.py
deleted file mode 120000
index d45b9c405..000000000
--- a/zuul/ansible/base/lookup/url.py
+++ /dev/null
@@ -1 +0,0 @@
-_banned.py \ No newline at end of file
diff --git a/zuul/ansible/base/lookup/url.pyi b/zuul/ansible/base/lookup/url.pyi
deleted file mode 100644
index e69de29bb..000000000
--- a/zuul/ansible/base/lookup/url.pyi
+++ /dev/null