Helper package to make running Ansible a bit smoother
Project description
ansible_please
Helper package to make running Ansible a bit smoother
- Run Ansible tasks and playbooks from python with ease!
Overview
Main Components:
-
Inventory - Handles ansible inventory creation from input:
- Basic input:
hosts: master_host: - 'localhost' host_info: '127.0.0.1': 'python_path': /usr/bin/python3
-
AnsibleTask - Handles individual ansible task creation
- Docker Task creation
from ansible_please.task_templates.docker_container import DockerContainer docker_container_task = DockerContainer( task_description="start-test-redis", name="test-redis", image="redis:latest", )
- converts to yaml:
- name: '[up] start-test-redis' docker_container: name: test-redis image: redis:latest user: nobody keep_volumes: false detach: true tty: false interactive: false network_mode: host container_default_behavior: compatibility tags: - up
- converts to yaml:
up
to start the container,down
to tear it down
- Docker Task creation
-
Playbook - Handles playbook creation
from ansible_please.playbook import Playbook p = Playbook(name="Set up master_host", hosts="master_host", tasks=[docker_container_task.up(), docker_container_task.down()])
- converts to yaml:
- name: Set up master_host hosts: master_host gather_facts: true tasks: - name: '[up] start-test-redis' docker_container: name: test-redis image: redis:latest user: nobody keep_volumes: false detach: true tty: false interactive: false network_mode: host container_default_behavior: compatibility tags: - up - name: '[down] start-test-redis' docker_container: name: test-redis state: absent user: nobody keep_volumes: false detach: true tty: false interactive: false network_mode: host container_default_behavior: compatibility tags: - down
- converts to yaml:
-
AnsibleRunner - main handler for running playbooks
r = AnsibleRunner(playbook=p, input_path="test_input.yml") # or pass in Inventory class r.up()
Free software: MIT license
Documentation: https://ansible-please.readthedocs.io.
Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
History
0.1.0 (2020-12-22)
- First release on PyPI.
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
ansible_please-0.1.11.tar.gz
(25.8 kB
view hashes)
Built Distribution
Close
Hashes for ansible_please-0.1.11-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e9ae7eb917b8b1ac27663ba23306e0b711090cefd5c49113e8f554d9503b4c4 |
|
MD5 | c2087428102f1843f1b582a24ef46968 |
|
BLAKE2b-256 | d117ed9541f4575d706926946707e96dfc6d8eecd2921a236e67ab4b6dbfda72 |