当前位置: 首页 > 知识库问答 >
问题:

ansible插件的动态清单组:nmap

劳烨
2023-03-14

我试图使用ansible中的nmap插件创建一个动态清单,然后对插件返回的东西进行分组。不幸的是,我错过了一些东西,因为我似乎无法创建一个组。
在这个场景中,我有两个名为unknownxxxxxxxx的主机,我想对它们进行分组。

plugin: nmap
strict: false
address: 10.0.1.0/24   
ports: no
groups:
  unknown: "'unknown' in hostname"

我运行我的插件-ansible-inventory-i nmap.yml--export--output=inv--list

但回报总是一样的...

谁能帮我弄明白我对Jinja做错了什么?

也许我需要使用compose:keyed_groups:

共有1个答案

晋言
2023-03-14

我显然错过了一些基本的东西...

我不确定你是不是。我同意,根据文档,nmap插件应该按照您试图使用它的方式工作,但与您一样,我无法按照描述的方式获得compose键。

幸运的是,我们可以通过直接使用构造的库存插件来解决这个问题。

[defaults]
inventory = inventory
plugin: nmap
strict: false
address: 10.0.1.0/24   
ports: false
plugin: constructed
strict: False

groups:
  unknown: "'unknown' in inventory_hostname"

我们将文件命名为10nmap.yml20constructed.yml,因为我们需要确保constructed插件在nmap插件之后运行(另外,我们在这里检查inventory_hostname,因为这是Ansible目录中主机的规范名称)。

所有这些就绪后,您应该会看到您正在寻找的行为:inventory_hostname变量中包含unknown的主机将最终进入unknown组。

 类似资料:
  • 问题内容: 我基本上是在寻找组合的 python版本 给定一个列表列表,我需要一个新列表,该列表给出列表之间所有可能的项目组合。 列表的数量是未知的,因此我需要一些适用于所有情况的列表。奖励积分,尽享优雅! 问题答案: 你需要:

  • 我有一组名为到的主机。它们在Ansible主机目录中被分组为。我想排除一个主机子集,如下所示: 根据Ansible文档,这似乎应该排除到。但是,我得到了“不能匹配主机模式,忽略vm[8-10]-prod”,就像它在读取实际主机名“vm[8-10]-prod”而不是数组一样。 我还尝试了,但也出现了同样的错误。 怎么啦?

  • 本文向大家介绍Python中的 ansible 动态Inventory 脚本,包括了Python中的 ansible 动态Inventory 脚本的使用技巧和注意事项,需要的朋友参考一下 1.Ansible Inventory  介绍; Ansible Inventory 是包含静态 Inventory 和动态 Inventory 两部分的,静态 Inventory 指的是在文件中指定的主机和组,

  • 通过使用保留的<component>元素,并对其is特性进行动态绑定,你可以在同一个挂载点动态切换多个组件: var vm = new Vue({ el: '#example', data: { currentView: 'home' }, components: { home: { /* ... */ }, posts: { /* ... */ },

  • 我们使用变量vagrant_network_ip重用了Vagrantfile中的IP地址。但是,我们仍然需要在我们的库存中设置这个IP地址。是否可以在清单文件中使用ansible变量作为主机?简单地在清单中使用是行不通的。 或者,有没有一种方法可以让这变得更容易呢?如果可能的话,我们希望在一个文件中配置盒子的IP地址。

  • 我使用了,并在那里声明了manifestEntries。 从