From 59e58079cb873057378fa076a2079c27bfacdfc8 Mon Sep 17 00:00:00 2001 From: barloff-st <42866449+barloff-st@users.noreply.github.com> Date: Sun, 26 Mar 2023 03:29:55 -0400 Subject: [PATCH] Adding `open` option to nmap (#6200) * Adding nmap `open` option * Removing accidental copy/paste issue * Update changelogs/fragments/6200-adding-open-option-to-nmap.yml Co-authored-by: Felix Fontein * Update plugins/inventory/nmap.py Co-authored-by: Felix Fontein --------- Co-authored-by: Felix Fontein --- .../fragments/6200-adding-open-option-to-nmap.yml | 2 ++ plugins/inventory/nmap.py | 10 +++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 changelogs/fragments/6200-adding-open-option-to-nmap.yml diff --git a/changelogs/fragments/6200-adding-open-option-to-nmap.yml b/changelogs/fragments/6200-adding-open-option-to-nmap.yml new file mode 100644 index 0000000000..876a92394c --- /dev/null +++ b/changelogs/fragments/6200-adding-open-option-to-nmap.yml @@ -0,0 +1,2 @@ +minor_changes: + - nmap inventory plugin - add new option ``open`` for only returning open ports (https://github.com/ansible-collections/community.general/pull/6200). \ No newline at end of file diff --git a/plugins/inventory/nmap.py b/plugins/inventory/nmap.py index 68ab2f9117..621f047577 100644 --- a/plugins/inventory/nmap.py +++ b/plugins/inventory/nmap.py @@ -42,7 +42,7 @@ DOCUMENTATION = ''' type: string version_added: 6.5.0 ports: - description: Enable/disable scanning for open ports + description: Enable/disable scanning ports. type: boolean default: true ipv4: @@ -67,6 +67,11 @@ DOCUMENTATION = ''' type: boolean default: false version_added: 6.1.0 + open: + description: Only scan for open (or possibly open) ports. + type: boolean + default: false + version_added: 6.5.0 dns_resolve: description: Whether to always (C(true)) or never (C(false)) do DNS resolution. type: boolean @@ -213,6 +218,9 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable): if self._options['icmp_timestamp']: cmd.append('-PP') + if self._options['open']: + cmd.append('--open') + cmd.append(self._options['address']) try: # execute