ansible-please 0.1.20

Creator: coderz1093

Last updated:

Add to Cart

Description:

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.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.