注解
从 Automation Controller Version 4.0.0 开始,清单脚本已弃用。
如果您使用自定义清单脚本,请迁移至从项目中获取这些脚本。如需更多详情,请参阅后续部分中的 清单文件导入,并参阅 Automation Controller User Guide 中的 清单源。
控制器提供了从 Amazon AWS、Google Compute Engine 等云环境中同步动态清单的内置支持。控制器还能够使用自定义脚本从您自己的清单源中拉取。
注解
只要 --overwrite_vars
**没有**设置,对清单进行同步后编辑和添加的 Inventory 主机变量仍然会保持。
要管理控制器中的自定义清单脚本,请点左侧导航栏中的 Inventory Scripts。
要添加一个新的自定义清单脚本,请点击 按钮。
输入脚本的名称以及可选的描述。然后选择该脚本所属的 Organization。
然后,您可以将本地系统上的脚本拖放到 Custom Script 文本框中,或者剪切并粘贴清单脚本的内容。
您可以使用控制器机器上安装的任何动态语言(如 shell 或 python)编写清单脚本。它们必须以普通的脚本 shebang 行(如 #!/bin/bash
或 #!/usr/bin/python
)开头。它们以 awx
用户身份运行。清单脚本调用 '--list'
来列出返回 JSON 哈希/字典的清单。
通常,它们连接到网络以从其他来源检索清单。在启用多租户安全时(详情请参阅 Security),清单脚本将无法访问大多数控制器机器。如果需要访问本地控制器机器,请在 /etc/tower/conf.d/custom.py
中进行配置。
如需有关动态清单脚本以及如何编写这些脚本的更多信息,请参阅 Ansible 文档的 Intro to Dynamic Inventory 和 Developing Dynamic Inventory Sources 部分,或者参阅 GitHub 上的 example dynamic inventory scripts。