Ansible project generation tool
Project description
Ansible Generator
Description
Ansible Generator is a python program designed to simplify creating a new ansible playbook by creating the necessary directory structure for the user based on ansible's best practices, as outlined in content organization best practices.
Installation
PIP
pip install -U ansible-generator
Source
Without Make
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
With Make
git clone https://github.com/kkirsche/ansible-generator.git
cd ansible-generator
make wheel
pip install -U dist/*.whl
Usage
Help Text
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
Defaults
alternate-layout
---False
verbose
---False
inventories
---['production', 'staging']
roles
---[]
projects
---[]
Example
Current directory
ansible-generate
New-project
ansible-generate -p playbook_name
Alternate Layout
ansible-generate -a
Custom Inventories
ansible-generate -i production staging lab
Roles
This portion of the tool relies on Ansible's ansible-galaxy
command line
application
ansible-generate -r role1 role2
Output
~/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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for ansible_generator-3.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99178a3aef79d26453027d15a9888d1eb96800abb6b5caaf5e77d6092a6b819d |
|
MD5 | 5546e5c8eca32c0df64a7cb5614fbf94 |
|
BLAKE2b-256 | 74cf79c98a5cfced5b5953ebaa3538b148c055c2bdf1b36b9ec6d47995e5a8ff |