生成ansible目录结构
ansible-generator的Python项目详细描述
ansible生成器
说明
ansible generator是一个python程序,旨在简化创建新的 为用户创建必要的目录结构 基于ansibe的最佳实践,如content organization best practices所述。
安装
PIP
pip install -U ansible-generator
来源
无品牌
git clone https://github.com/kkirsche/ansible-generator.git
cd ansible-generator
pip install -U wheel
python setup.py bdist_wheel --universal
pip install -U dist/*.whl
带品牌
git clone https://github.com/kkirsche/ansible-generator.git
cd ansible-generator
make wheel
pip install -U dist/*.whl
用法
帮助文本
usage: ansible-generate [-h] [-a] [-i INVENTORIES [INVENTORIES ...]]
[-r ROLES [ROLES ...]] [-v]
[-p PROJECTS [PROJECTS ...]] [--version]
Generate an ansible playbook directory structure
optional arguments:
-h, --help show this help message and exit
-a, --alternate-layout
-i INVENTORIES [INVENTORIES ...], --inventories INVENTORIES [INVENTORIES ...]
-r ROLES [ROLES ...], --roles ROLES [ROLES ...]
-v, --verbose
-p PROJECTS [PROJECTS ...], --projects PROJECTS [PROJECTS ...]
--version show program's version number and exit
默认值
alternate-layout
---False
verbose
---False
inventories
---['production', 'staging']
roles
---[]
projects
---[]
示例
当前目录
ansible-generate
新项目
ansible-generate -p playbook_name
备用布局
ansible-generate -a
定制库存
ansible-generate -i production staging lab
角色
ansible-generate -p playbook_name
ansible-generate -a
ansible-generate -i production staging lab
角色
这部分工具依赖于ansibe的ansible-galaxy
命令行
应用程序
ansible-generate -r role1 role2
输出
~/Downloads ❯❯❯ ansible-generate -i production staging lab -r common ubuntu centos -a -p network_security_baseline
creating directory /Users/example_user/Downloads/network_security_baseline/roles
creating directory /Users/example_user/Downloads/network_security_baseline/inventories/production/group_vars
creating directory /Users/example_user/Downloads/network_security_baseline/inventories/production/host_vars
creating directory /Users/example_user/Downloads/network_security_baseline/inventories/staging/group_vars
creating directory /Users/example_user/Downloads/network_security_baseline/inventories/staging/host_vars
creating directory /Users/example_user/Downloads/network_security_baseline/inventories/lab/group_vars
creating directory /Users/example_user/Downloads/network_security_baseline/inventories/lab/host_vars
creating file /Users/example_user/Downloads/network_security_baseline/inventories/production/hosts
creating file /Users/example_user/Downloads/network_security_baseline/inventories/staging/hosts
creating file /Users/example_user/Downloads/network_security_baseline/inventories/lab/hosts
creating file /Users/example_user/Downloads/network_security_baseline/site.yml
ansible galaxy output for role common:
- common was created successfully
ansible galaxy output for role ubuntu:
- ubuntu was created successfully
ansible galaxy output for role centos:
- centos was created successfully