注意
从 Ansible Tower 版本 3.8.6 开始,清单脚本已弃用。
如果您使用自定义清单脚本,请迁移到从项目中获取这些脚本。请参阅后续部分中的 导入清单文件,并参考 清单源(位于 _Ansible Tower 用户指南_ 中)以了解更多详细信息。
Tower 包括对从云源(如 Amazon AWS、Google Compute Engine 等)同步动态清单的内置支持。Tower 还提供使用自定义脚本从您自己的清单源提取的能力。
注意
只要未设置 --overwrite_vars
,对清单主机变量的编辑和添加将在清单同步后持续存在。
要管理 Tower 中可用的自定义清单脚本,请从左侧导航栏中点击清单脚本()图标。
要添加新的自定义清单脚本,请点击按钮。
输入脚本的名称,以及可选的描述。然后选择此脚本所属的**组织**。
然后,您可以将本地系统上的脚本拖放到**自定义脚本**文本框中,或将清单脚本的内容剪切并粘贴到其中。
您可以使用安装在 Tower 机器上的任何动态语言(如 shell 或 python)编写清单脚本。它们必须以正常的脚本 shebang 行开头,例如 #!/bin/bash
或 #!/usr/bin/python
。它们以 awx
用户身份运行。清单脚本使用 '--list'
调用,以列出清单,它以 JSON 哈希/字典形式返回。
通常,它们连接到网络以从其他来源检索清单。在启用多租户安全时(有关详细信息,请参考 安全),清单脚本将无法访问大多数 Tower 机器。如果需要访问本地 Tower 机器,请在 /etc/tower/conf.d/custom.py
中配置它。
有关动态清单脚本及其编写方法的更多信息,请参阅 Ansible 文档中的 动态清单简介 和 开发动态清单源 部分,或查看 GitHub 上的 示例动态清单脚本。