From da594e8e8c2cffe66c534ae9778c28c351c70c78 Mon Sep 17 00:00:00 2001 From: jonnybravo Date: Mon, 3 Feb 2025 13:35:49 +0100 Subject: [PATCH] try --- .gitea/workflows/testing_on_host.yaml | 10 + play_ansible/inv_plugin/ansible.cfg | 2 +- play_ansible/inv_plugin/ansible_inv_main.py | 89 +-- play_ansible/inv_plugin/fact/dan-jam-01 | 669 ++++++++++++++++++++ 4 files changed, 729 insertions(+), 41 deletions(-) create mode 100644 .gitea/workflows/testing_on_host.yaml create mode 100644 play_ansible/inv_plugin/fact/dan-jam-01 diff --git a/.gitea/workflows/testing_on_host.yaml b/.gitea/workflows/testing_on_host.yaml new file mode 100644 index 0000000..09cbd5a --- /dev/null +++ b/.gitea/workflows/testing_on_host.yaml @@ -0,0 +1,10 @@ +jobs: + Deploy-DotEnv-To-Devel: + runs-on: shell + defaults: + run: + shell: bash + steps: + - name: write secret to dotenv + run: | + echo "Hello World !!" diff --git a/play_ansible/inv_plugin/ansible.cfg b/play_ansible/inv_plugin/ansible.cfg index 2d942c3..f8b8d0b 100755 --- a/play_ansible/inv_plugin/ansible.cfg +++ b/play_ansible/inv_plugin/ansible.cfg @@ -1,6 +1,6 @@ [defaults] #inventory = /home/user06/hosts -inventory = ./main.py +inventory = ./ansible_inv_main.py ansible_managed = Ansible managed: {file} modified on %Y-%m-%d %H:%M:%S on {host} private_key_file = /home/jonnybravo/.ssh/ansible-test gathering = smart diff --git a/play_ansible/inv_plugin/ansible_inv_main.py b/play_ansible/inv_plugin/ansible_inv_main.py index 1d036c7..2a80adc 100755 --- a/play_ansible/inv_plugin/ansible_inv_main.py +++ b/play_ansible/inv_plugin/ansible_inv_main.py @@ -1,7 +1,14 @@ #! /usr/bin/env python3.12 +import csv +import errno +import json +import os +import socket +import sys + import scapy.all as scapy -import json, socket, csv, os, errno, sys + def scan(ip): arp_request = scapy.ARP(pdst=ip) @@ -10,28 +17,31 @@ def scan(ip): answered_list = scapy.srp(arp_request_broadcast, timeout=1, verbose=False)[0] results = [] for element in answered_list: - result = {"ip": element[1].psrc, "mac": element[1].hwsrc, 'hostname': socket.gethostbyaddr(element[1].psrc)[0]} - results.append(result) + result = { + "ip": element[1].psrc, + "mac": element[1].hwsrc, + "hostname": socket.gethostbyaddr(element[1].psrc)[0], + } + results.append(result) return results def port_open(address: str, dest_port=22) -> bool: - #result = sock.connect_ex(('ras-dan-01.local',22)) + # result = sock.connect_ex(('ras-dan-01.local',22)) with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock: sock.settimeout(5) - result = sock.connect_ex((address,dest_port)) + result = sock.connect_ex((address, dest_port)) if result == 0: - return True + return True else: - return False - + return False def scan_csv(csvfile=str, colm="hostname"): if os.path.exists(csvfile): hostlist = [] with open(csvfile) as csv_file: - csv_reader = csv.DictReader(csv_file, delimiter=',') + csv_reader = csv.DictReader(csv_file, delimiter=",") for count, row in enumerate(csv_reader, 1): hostlist.append(row[colm]) else: @@ -39,55 +49,54 @@ def scan_csv(csvfile=str, colm="hostname"): return tuple(hostlist) - - def create_ip_list(target_ip=["192.168.50.1/24"]): only_ip_list = [] for ip_rage in target_ip: for i in scan(ip_rage): - if i['hostname'] != ".": - scan_name = (i['hostname']) + if i["hostname"] != ".": + scan_name = i["hostname"] else: - scan_name = (i['ip']) + scan_name = i["ip"] - #print(scan_name) - #print(port_open(address=scan_name)) + # print(scan_name) + # print(port_open(address=scan_name)) if port_open(address=scan_name): - only_ip_list.append(scan_name) + only_ip_list.append(scan_name) return tuple(only_ip_list) - if __name__ == "__main__": - #if len(sys.argv) == 1: - ip_list = create_ip_list() - man_list = scan_csv(csvfile="hostname_manuel.csv") - output = { - "_meta": { + # if len(sys.argv) == 1: + ip_list = create_ip_list() + man_list = scan_csv( + csvfile=os.path.dirname(os.path.realpath(__file__)) + "/hostname_manuel.csv" + ) + output = { + "_meta": { "hostvars": { - "scan_csv": { - "http_port": 123, - } + "scan_csv": { + "http_port": 123, + } } }, "network_scan": { "hosts": ip_list, "vars": { - "ansible_user": "jonnybravo", - "ansible_python_interpreter": "/usr/bin/python3", - "ansible_ssh_private_key_file": "/home/jonnybravo/.ssh/ansible-test" - } + "ansible_user": "jonnybravo", + "ansible_python_interpreter": "/usr/bin/python3", + "ansible_ssh_private_key_file": "/home/jonnybravo/.ssh/ansible-test", + }, }, "csv_scan": { "hosts": man_list, - "vars":{ - "ansible_user": "jonnybravo", - "ansible_python_interpreter": "/usr/bin/python3", - "ansible_ssh_private_key_file": "/home/jonnybravo/.ssh/ansible-test" - } - } - } - print(json.dumps(output,indent=4, sort_keys=True)) - # elif len(sys.argv) == 2: - # print(sys.argv) + "vars": { + "ansible_user": "jonnybravo", + "ansible_python_interpreter": "/usr/bin/python3", + "ansible_ssh_private_key_file": "/home/jonnybravo/.ssh/ansible-test", + }, + }, + } + print(json.dumps(output, indent=4, sort_keys=True)) +# elif len(sys.argv) == 2: +# print(sys.argv) diff --git a/play_ansible/inv_plugin/fact/dan-jam-01 b/play_ansible/inv_plugin/fact/dan-jam-01 new file mode 100644 index 0000000..b177965 --- /dev/null +++ b/play_ansible/inv_plugin/fact/dan-jam-01 @@ -0,0 +1,669 @@ +ansible_all_ipv4_addresses: +- 172.23.0.187 +ansible_all_ipv6_addresses: +- fe80::7815:ceff:fe98:b5ed +ansible_apparmor: + status: disabled +ansible_architecture: x86_64 +ansible_bios_date: 02/02/2024 +ansible_bios_vendor: LENOVO +ansible_bios_version: N32ET91W (1.67 ) +ansible_board_asset_tag: Not Available +ansible_board_name: 20XW0055GE +ansible_board_serial: NA +ansible_board_vendor: LENOVO +ansible_board_version: SDK0J40697 WIN +ansible_chassis_asset_tag: No Asset Information +ansible_chassis_serial: NA +ansible_chassis_vendor: LENOVO +ansible_chassis_version: None +ansible_cmdline: + BOOT_IMAGE: /boot/vmlinuz-6.12-x86_64 + cryptdevice: UUID=9cf04ebe-7c4d-4987-afa5-0585f14cd1d7:luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7 + nmi_watchdog: '0' + nowatchdog: true + quiet: true + reboot: acpi + resume: /dev/mapper/luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f + root: /dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7 + rw: true + splash: true + udev.log_priority: '3' +ansible_date_time: + date: '2025-01-28' + day: '28' + epoch: '1738052955' + epoch_int: '1738052955' + hour: 09 + iso8601: '2025-01-28T08:29:15Z' + iso8601_basic: 20250128T092915446279 + iso8601_basic_short: 20250128T092915 + iso8601_micro: '2025-01-28T08:29:15.446279Z' + minute: '29' + month: '01' + second: '15' + time: 09:29:15 + tz: CET + tz_dst: CEST + tz_offset: '+0100' + weekday: Tuesday + weekday_number: '2' + weeknumber: '04' + year: '2025' +ansible_default_ipv4: + address: 172.23.0.187 + alias: host0 + broadcast: 172.23.0.255 + gateway: 172.23.0.1 + interface: host0 + macaddress: 7a:15:ce:98:b5:ed + mtu: 1500 + netmask: 255.255.255.0 + network: 172.23.0.0 + prefix: '24' + type: ether +ansible_default_ipv6: {} +ansible_device_links: + ids: {} + labels: {} + masters: + nvme0n1p2: + - dm-0 + nvme0n1p3: + - dm-1 + uuids: {} +ansible_devices: + dm-0: + holders: [] + host: '' + links: + ids: [] + labels: [] + masters: [] + uuids: [] + model: null + partitions: {} + removable: '0' + rotational: '0' + sas_address: null + sas_device_handle: null + scheduler_mode: '' + sectors: 1928097365 + sectorsize: '512' + size: 919.39 GB + support_discard: '0' + vendor: null + virtual: 1 + dm-1: + holders: [] + host: '' + links: + ids: [] + labels: [] + masters: [] + uuids: [] + model: null + partitions: {} + removable: '0' + rotational: '0' + sas_address: null + sas_device_handle: null + scheduler_mode: '' + sectors: 71673682 + sectorsize: '512' + size: 34.18 GB + support_discard: '0' + vendor: null + virtual: 1 + nvme0n1: + holders: [] + host: '' + links: + ids: [] + labels: [] + masters: [] + uuids: [] + model: Micron MTFDKBA1T0TFH + partitions: + nvme0n1p1: + holders: [] + links: + ids: [] + labels: [] + masters: [] + uuids: [] + sectors: 614400 + sectorsize: 512 + size: 300.00 MB + start: '4096' + uuid: null + nvme0n1p2: + holders: + - luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7 + links: + ids: [] + labels: [] + masters: + - dm-0 + uuids: [] + sectors: 1928101461 + sectorsize: 512 + size: 919.39 GB + start: '618496' + uuid: null + nvme0n1p3: + holders: + - luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f + links: + ids: [] + labels: [] + masters: + - dm-1 + uuids: [] + sectors: 71677778 + sectorsize: 512 + size: 34.18 GB + start: '1928719957' + uuid: null + removable: '0' + rotational: '0' + sas_address: null + sas_device_handle: null + scheduler_mode: none + sectors: 2000409264 + sectorsize: '512' + serial: 222538DCB6A6 + size: 953.87 GB + support_discard: '512' + vendor: null + virtual: 1 + sda: + holders: [] + host: '' + links: + ids: [] + labels: [] + masters: [] + uuids: [] + model: 1081CS0 + partitions: {} + removable: '1' + rotational: '0' + sas_address: null + sas_device_handle: null + scheduler_mode: mq-deadline + sectors: 0 + sectorsize: '512' + size: 0.00 Bytes + support_discard: '0' + vendor: NORELSYS + virtual: 1 + sdb: + holders: [] + host: '' + links: + ids: [] + labels: [] + masters: [] + uuids: [] + model: 1081CS1 + partitions: {} + removable: '1' + rotational: '0' + sas_address: null + sas_device_handle: null + scheduler_mode: mq-deadline + sectors: 0 + sectorsize: '512' + size: 0.00 Bytes + support_discard: '0' + vendor: NORELSYS + virtual: 1 + sdc: + holders: [] + host: '' + links: + ids: [] + labels: [] + masters: [] + uuids: [] + model: CT1000X8SSD9 + partitions: + sdc1: + holders: [] + links: + ids: [] + labels: [] + masters: [] + uuids: [] + sectors: 1953521664 + sectorsize: 512 + size: 931.51 GB + start: '2048' + uuid: null + removable: '0' + rotational: '1' + sas_address: null + sas_device_handle: null + scheduler_mode: mq-deadline + sectors: 1953525168 + sectorsize: '512' + size: 931.51 GB + support_discard: '0' + vendor: Micron + virtual: 1 +ansible_distribution: Ubuntu +ansible_distribution_file_parsed: true +ansible_distribution_file_path: /etc/os-release +ansible_distribution_file_variety: Debian +ansible_distribution_major_version: '22' +ansible_distribution_release: jammy +ansible_distribution_version: '22.04' +ansible_dns: + nameservers: + - 10.50.0.3 + options: + edns0: true + trust-ad: true + search: + - speedport.ip +ansible_domain: '' +ansible_effective_group_id: 1000 +ansible_effective_user_id: 1000 +ansible_env: + HOME: /home/jonnybravo + LC_CTYPE: C.UTF-8 + LOGNAME: jonnybravo + MOTD_SHOWN: pam + PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin + PWD: /home/jonnybravo + SHELL: /bin/bash + SHLVL: '0' + SSH_CLIENT: 172.23.0.1 59494 22 + SSH_CONNECTION: 172.23.0.1 59494 172.23.0.187 22 + SSH_TTY: /dev/pts/1 + TERM: tmux-256color + USER: jonnybravo + XDG_RUNTIME_DIR: /run/user/1000 + XDG_SESSION_CLASS: user + XDG_SESSION_ID: '6' + XDG_SESSION_TYPE: tty + _: /bin/sh +ansible_fibre_channel_wwn: [] +ansible_fips: false +ansible_flags: +- fpu +- vme +- de +- pse +- tsc +- msr +- pae +- mce +- cx8 +- apic +- sep +- mtrr +- pge +- mca +- cmov +- pat +- pse36 +- clflush +- dts +- acpi +- mmx +- fxsr +- sse +- sse2 +- ss +- ht +- tm +- pbe +- syscall +- nx +- pdpe1gb +- rdtscp +- lm +- constant_tsc +- art +- arch_perfmon +- pebs +- bts +- rep_good +- nopl +- xtopology +- nonstop_tsc +- cpuid +- aperfmperf +- tsc_known_freq +- pni +- pclmulqdq +- dtes64 +- monitor +- ds_cpl +- vmx +- est +- tm2 +- ssse3 +- sdbg +- fma +- cx16 +- xtpr +- pdcm +- pcid +- sse4_1 +- sse4_2 +- x2apic +- movbe +- popcnt +- tsc_deadline_timer +- aes +- xsave +- avx +- f16c +- rdrand +- lahf_lm +- abm +- 3dnowprefetch +- cpuid_fault +- epb +- cat_l2 +- cdp_l2 +- ssbd +- ibrs +- ibpb +- stibp +- ibrs_enhanced +- tpr_shadow +- flexpriority +- ept +- vpid +- ept_ad +- fsgsbase +- tsc_adjust +- bmi1 +- avx2 +- smep +- bmi2 +- erms +- invpcid +- rdt_a +- avx512f +- avx512dq +- rdseed +- adx +- smap +- avx512ifma +- clflushopt +- clwb +- intel_pt +- avx512cd +- sha_ni +- avx512bw +- avx512vl +- xsaveopt +- xsavec +- xgetbv1 +- xsaves +- split_lock_detect +- user_shstk +- dtherm +- ida +- arat +- pln +- pts +- hwp +- hwp_notify +- hwp_act_window +- hwp_epp +- hwp_pkg_req +- vnmi +- avx512vbmi +- umip +- pku +- ospke +- avx512_vbmi2 +- gfni +- vaes +- vpclmulqdq +- avx512_vnni +- avx512_bitalg +- avx512_vpopcntdq +- rdpid +- movdiri +- movdir64b +- fsrm +- avx512_vp2intersect +- md_clear +- ibt +- flush_l1d +- arch_capabilities +ansible_form_factor: Notebook +ansible_fqdn: localhost +ansible_host0: + active: true + device: host0 + ipv4: + address: 172.23.0.187 + broadcast: 172.23.0.255 + netmask: 255.255.255.0 + network: 172.23.0.0 + prefix: '24' + ipv6: + - address: fe80::7815:ceff:fe98:b5ed + prefix: '64' + scope: link + macaddress: 7a:15:ce:98:b5:ed + mtu: 1500 + promisc: false + speed: 10000 + type: ether +ansible_hostname: dan-jam-01 +ansible_hostnqn: '' +ansible_interfaces: +- lo +- host0 +ansible_is_chroot: true +ansible_iscsi_iqn: '' +ansible_kernel: 6.12.4-1-MANJARO +ansible_kernel_version: '#1 SMP PREEMPT_DYNAMIC Mon, 09 Dec 2024 11:58:37 +0000' +ansible_lo: + active: true + device: lo + ipv4: + address: 127.0.0.1 + broadcast: '' + netmask: 255.0.0.0 + network: 127.0.0.0 + prefix: '8' + ipv6: + - address: ::1 + prefix: '128' + scope: host + mtu: 65536 + promisc: false + type: loopback +ansible_loadavg: + 15m: 0.37646484375 + 1m: 1.17431640625 + 5m: 0.80224609375 +ansible_local: {} +ansible_locally_reachable_ips: + ipv4: + - 127.0.0.0/8 + - 127.0.0.1 + - 172.23.0.187 + ipv6: + - ::1 + - fe80::7815:ceff:fe98:b5ed +ansible_lsb: + codename: jammy + description: Ubuntu 22.04.5 LTS + id: Ubuntu + major_release: '22' + release: '22.04' +ansible_lvm: N/A +ansible_machine: x86_64 +ansible_machine_id: 74fa9d4996124ff58eea3b7b9f53f38f +ansible_memfree_mb: 15518 +ansible_memory_mb: + nocache: + free: 23611 + used: 8203 + real: + free: 15518 + total: 31814 + used: 16296 + swap: + cached: 8 + free: 34976 + total: 34996 + used: 20 +ansible_memtotal_mb: 31814 +ansible_mounts: +- block_available: 162114263 + block_size: 4096 + block_total: 236947382 + block_used: 74833119 + device: /dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7 + dump: 0 + fstype: ext4 + inode_available: 58698830 + inode_total: 60260352 + inode_used: 1561522 + mount: / + options: rw,noatime,idmapped,bind + passno: 0 + size_available: 664020021248 + size_total: 970536476672 + uuid: N/A +- block_available: 162114263 + block_size: 4096 + block_total: 236947382 + block_used: 74833119 + device: /dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7 + dump: 0 + fstype: ext4 + inode_available: 58698830 + inode_total: 60260352 + inode_used: 1561522 + mount: /run/host/os-release + options: ro,nosuid,nodev,noexec,noatime,bind + passno: 0 + size_available: 664020021248 + size_total: 970536476672 + uuid: N/A +ansible_nodename: dan-jam-01 +ansible_os_family: Debian +ansible_pkg_mgr: apt +ansible_proc_cmdline: + BOOT_IMAGE: /boot/vmlinuz-6.12-x86_64 + cryptdevice: UUID=9cf04ebe-7c4d-4987-afa5-0585f14cd1d7:luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7 + nmi_watchdog: '0' + nowatchdog: true + quiet: true + reboot: acpi + resume: /dev/mapper/luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f + root: + - UUID=38f88aa5-03f0-4608-ac46-6b9cad7cb1c4 + - /dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7 + rw: true + splash: true + udev.log_priority: '3' +ansible_processor: +- '0' +- GenuineIntel +- 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz +- '1' +- GenuineIntel +- 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz +- '2' +- GenuineIntel +- 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz +- '3' +- GenuineIntel +- 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz +- '4' +- GenuineIntel +- 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz +- '5' +- GenuineIntel +- 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz +- '6' +- GenuineIntel +- 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz +- '7' +- GenuineIntel +- 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz +ansible_processor_cores: 4 +ansible_processor_count: 1 +ansible_processor_nproc: 8 +ansible_processor_threads_per_core: 2 +ansible_processor_vcpus: 8 +ansible_product_name: 20XW0055GE +ansible_product_serial: NA +ansible_product_uuid: NA +ansible_product_version: ThinkPad X1 Carbon Gen 9 +ansible_python: + executable: /usr/bin/python3 + has_sslcontext: true + type: cpython + version: + major: 3 + micro: 12 + minor: 10 + releaselevel: final + serial: 0 + version_info: + - 3 + - 10 + - 12 + - final + - 0 +ansible_python_version: 3.10.12 +ansible_real_group_id: 1000 +ansible_real_user_id: 1000 +ansible_selinux: + status: disabled +ansible_selinux_python_present: true +ansible_service_mgr: systemd +ansible_ssh_host_key_ecdsa_public: AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBlQf89/mIPEp3lsLUSkqVWQaU1yvskxPFbvnedoV0f+vi5vQKUoUfcX//3jqIKgjdH6fnqiQRfROO+seF+mjjo= +ansible_ssh_host_key_ecdsa_public_keytype: ecdsa-sha2-nistp256 +ansible_ssh_host_key_ed25519_public: AAAAC3NzaC1lZDI1NTE5AAAAIIZpUjgZziEasuYZLOLxU/ex4HiuyOf6oofL1DqM55xx +ansible_ssh_host_key_ed25519_public_keytype: ssh-ed25519 +ansible_ssh_host_key_rsa_public: AAAAB3NzaC1yc2EAAAADAQABAAABgQCxAnj9PVaIaAMaRExN0t0cW+7mu2QOum1BowLjoWFhgNcYeoev38a0FqUy49WE9+wIYG+URr1vIjO2F5Udd6QRtm8//wbcdBA4sbc5JKmd+ILMpy2FI6rmAjAfzYQkxLxGB+AwblAKTAJgoFn6/stXELiY8QYfVf2+SKTVk96gvVlMsIuFQy36PSjS2nSwdovTML4N/KrwJdUMDp7ysJ8bOB3NyXY/hBy+dgzGZ8ezYx5pkg7PRR+Y5rRh++dsfrkm+8e4gHi6uY+mwitpxodNMzVBRI6KzijUhbj4bTU7ASCwfmQSoNBZrY+4Xb9DiI421GP9/TWxAOz7vLWNcnkKtVeZpzXrxH5mmAbKJqu6vFhOkkz4IGz/mvvAAOgX/J6ILgT+1VHAIooQVfIDoOE/9GfDEPmWpjCmP1IQRokJwIy3isUZwMoN4V0rYfZ2YDW8YHwgirRXa6eEBXKZzkHAnqCt+WSss6jVdGW+1PjiakG1N1NL+dUI0NcPHgiuZIM= +ansible_ssh_host_key_rsa_public_keytype: ssh-rsa +ansible_swapfree_mb: 34976 +ansible_swaptotal_mb: 34996 +ansible_system: Linux +ansible_system_capabilities: +- '' +ansible_system_capabilities_enforced: 'True' +ansible_system_vendor: LENOVO +ansible_systemd: + features: +PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL + +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK + +PCRE2 -PWQUALITY -P11KIT -QRENCODE +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -XKBCOMMON +UTMP + +SYSVINIT default-hierarchy=unified + version: 249 +ansible_uptime_seconds: 73395 +ansible_user_dir: /home/jonnybravo +ansible_user_gecos: Jonny Bravo,,, +ansible_user_gid: 1000 +ansible_user_id: jonnybravo +ansible_user_shell: /bin/bash +ansible_user_uid: 1000 +ansible_userspace_architecture: x86_64 +ansible_userspace_bits: '64' +ansible_virtualization_role: guest +ansible_virtualization_tech_guest: +- container +- systemd-nspawn +ansible_virtualization_tech_host: +- kvm +- virtualbox +ansible_virtualization_type: systemd-nspawn +gather_subset: +- all +module_setup: true