Last updated:
0 purchases
ansibleplease 0.1.20
ansible_please
Helper package to make running Ansible a bit smoother
Run Ansible tasks and playbooks from python with ease!
Installation
To install python package from pypi:
python -m pip install ansible-please
From source:
python setup.py install
To install ansible plugins, like docker_container
ansible-galaxy collection install community.docker
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
up to start the container, down to tear it down
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
AnsibleRunner - main handler for running playbooks
r = AnsibleRunner(playbook=p, input_path="test_input.yml") # or pass in Inventory class
r.up()
See full examples
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.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.