Skip to main content

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 (recommended)

pip install -U ansible-generator

Source

git clone https://github.com/kkirsche/ansible-generator.git
cd ansible-generator
curl -sSL https://install.python-poetry.org | python3 -
poetry build

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ansible-generator-3.1.1.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

ansible_generator-3.1.1-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file ansible-generator-3.1.1.tar.gz.

File metadata

  • Download URL: ansible-generator-3.1.1.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.10.5 Darwin/21.6.0

File hashes

Hashes for ansible-generator-3.1.1.tar.gz
Algorithm Hash digest
SHA256 0fa76e6d7f6c23cf9a900f2366d564767eccffc5cf39b987d00a43195a4cacd7
MD5 0564c0f2e27a9dc13d0b4a14ddec8474
BLAKE2b-256 ab4dfb94e0b94d7e9fcf0e6c0717fb37c1d700f66eaaeb316f8ca5b5a3360b6a

See more details on using hashes here.

File details

Details for the file ansible_generator-3.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ansible_generator-3.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 10f6a7cfa00a94850a52f390b2037a82c7072fdbb34cb6e519f15342bb9aa07f
MD5 ab36c345aa1ed4f387c434f1f348287a
BLAKE2b-256 35a85d3709478a16590704152ff6c18c5ac5625966c23348f54095908d9f1590

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page