Skip to main content

A CLI tool for scaffolding Ansible Content.

Project description

PyPI - Status PyPI - Version PyPI - Python Version License Ansible Code of Conduct GitHub issues

ansible-creator

A CLI tool for scaffolding all your Ansible Content.

Installation

$ pip install ansible-creator

Usage

$ ansible-creator --help
usage: ansible-creator [-h] [--version] {init} ...

Tool to scaffold Ansible Content. Get started by looking at the help text.

optional arguments:
  -h, --help  show this help message and exit
  --version   Print ansible-creator version and exit.

Commands:
  {init}      The subcommand to invoke.
    init      Initialize an Ansible Collection.

Initialize an Ansible Collection skeleton with 'init'

$ ansible-creator init --help
usage: ansible-creator init [-h] [--na] [--lf LOG_FILE] [--ll {notset,debug,info,warning,error,critical}] [--la {true,false}] [--json] [-v]
                            [--init-path INIT_PATH] [--force]
                            collection

Creates the skeleton framework of an Ansible collection.

positional arguments:
  collection            The collection name in the format ``<namespace>.<collection>``.

optional arguments:
  -h, --help            show this help message and exit
  --na, --no-ansi       Disable the use of ANSI codes for terminal color.
  --lf LOG_FILE, --log-file <file> LOG_FILE
                        Log file to write to.
  --ll {notset,debug,info,warning,error,critical}, --log-level <level> {notset,debug,info,warning,error,critical}
                        Log level for file output.
  --la {true,false}, --log-append <bool> {true,false}
                        Append to log file.
  --json                Output messages as JSON
  -v, --verbose         Give more Cli output. Option is additive, and can be used up to 3 times.
  --init-path INIT_PATH
                        The path in which the skeleton collection will be created. The default is the current working directory.
  --force               Force re-initialize the specified directory as an Ansible collection.
$ ansible-creator init testns.testname --init-path $HOME/collections/ansible_collections
    Note: collection testns.testname created at /home/ansible-dev/collections/ansible_collections

Running the above command generates an Ansible Collection with the following structure:

$ tree -lla /home/ansible-dev/collections/ansible_collections
.
├── CHANGELOG.rst
├── changelogs
│   └── config.yaml
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING
├── docs
│   ├── docsite
│   │   └── links.yml
│   └── .keep
├── extensions
│   ├── eda
│   │   └── rulebooks
│   │       └── rulebook.yml
│   └── molecule
│       ├── integration_hello_world
│       │   └── molecule.yml
│       └── utils
│           ├── playbooks
│           │   ├── converge.yml
│           │   └── noop.yml
│           └── vars
│               └── vars.yml
├── galaxy.yml
├── .github
│   └── workflows
│       └── test.yml
├── .isort.cfg
├── LICENSE
├── MAINTAINERS
├── meta
│   └── runtime.yml
├── plugins
│   ├── action
│   │   └── __init__.py
│   ├── cache
│   │   └── __init__.py
│   ├── filter
│   │   ├── hello_world.py
│   │   └── __init__.py
│   ├── inventory
│   │   └── __init__.py
│   ├── modules
│   │   └── __init__.py
│   ├── module_utils
│   │   └── __init__.py
│   ├── plugin_utils
│   │   └── __init__.py
│   ├── sub_plugins
│   │   └── __init__.py
│   └── test
│       └── __init__.py
├── .pre-commit-config.yaml
├── .prettierignore
├── pyproject.toml
├── README.md
├── tests
│   ├── .gitignore
│   ├── integration
│   │   ├── __init__.py
│   │   ├── targets
│   │   │   └── hello_world
│   │   │       └── tasks
│   │   │           └── main.yml
│   │   └── test_integration.py
│   └── unit
│       └── .keep
└── .vscode
    └── extensions.json

Upcoming features

  • Scaffold Ansible plugins of your choice with the create action. Switch to the create branch and try it out!

Licensing

GNU General Public License v3.0 or later.

See LICENSE to see the full text.

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-creator-0.0.1a4.tar.gz (46.8 kB view details)

Uploaded Source

Built Distribution

ansible_creator-0.0.1a4-py3-none-any.whl (49.3 kB view details)

Uploaded Python 3

File details

Details for the file ansible-creator-0.0.1a4.tar.gz.

File metadata

  • Download URL: ansible-creator-0.0.1a4.tar.gz
  • Upload date:
  • Size: 46.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for ansible-creator-0.0.1a4.tar.gz
Algorithm Hash digest
SHA256 5268a262ce642dc6df425c5e5687deb13e0c0c07fe1ea809a537420c100cfc69
MD5 e25c034782e701a72a5741217bad416b
BLAKE2b-256 e358b19dc2762f8c32b8271e13c4ce74b3f5e04a290a1dba55264bcb4e2003a5

See more details on using hashes here.

File details

Details for the file ansible_creator-0.0.1a4-py3-none-any.whl.

File metadata

File hashes

Hashes for ansible_creator-0.0.1a4-py3-none-any.whl
Algorithm Hash digest
SHA256 be9f41760e7d99363d96ed0d81adf8b91e07c4d067522db4049e031961e2482d
MD5 415a32e838eaf217b3591427299d9a42
BLAKE2b-256 75229891cf1bcfa19ee864fe1cdd2bb3311885c7b0a8be96467656ac3e7416ba

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