Extendable Python module for ansible EC2 inventories
Project description
Ansible EC2 inventory
=====================
This Python module is based on the [original Ansible EC2 inventory
script](https://raw.githubusercontent.com/ansible/ansible/devel/contrib/inventory/ec2.py)
that is linked in the [Ansible
docs](http://docs.ansible.com/ansible/intro_dynamic_inventory.html#example-aws-ec2-external-inventory-script).
The Python module in this repo fixes a few issues by being
- installable via `pip` / PyPi: no need to place code from the Ansible
repo in your inventory.
- extendable for your needs: the class `Ec2Inventory` can be used as a
base class for customizations.
Installation
------------
pip install ansible-ec2-inventory
Usage
-----
### As a script
ansible-ec2-inventory --config ec2.ini
*Note:* if you want to provide a boto profile, prefix the command with
`AWS_PROFILE=myprofile`.
### As a Python module
Example:
``` {.python}
from ansible_ec2_inventory import Ec2Inventory
import json
def main():
# get path of ec2.ini
path = os.path.dirname(os.path.realpath(__file__))
# get inventory
ec2inventory = Ec2Inventory(configfile=path + '/ec2.ini')
data = ec2inventory.get_inventory()
# print json
print(json.dumps(data, sort_keys=True, indent=2))
if __name__ == '__main__':
main()
```
=====================
This Python module is based on the [original Ansible EC2 inventory
script](https://raw.githubusercontent.com/ansible/ansible/devel/contrib/inventory/ec2.py)
that is linked in the [Ansible
docs](http://docs.ansible.com/ansible/intro_dynamic_inventory.html#example-aws-ec2-external-inventory-script).
The Python module in this repo fixes a few issues by being
- installable via `pip` / PyPi: no need to place code from the Ansible
repo in your inventory.
- extendable for your needs: the class `Ec2Inventory` can be used as a
base class for customizations.
Installation
------------
pip install ansible-ec2-inventory
Usage
-----
### As a script
ansible-ec2-inventory --config ec2.ini
*Note:* if you want to provide a boto profile, prefix the command with
`AWS_PROFILE=myprofile`.
### As a Python module
Example:
``` {.python}
from ansible_ec2_inventory import Ec2Inventory
import json
def main():
# get path of ec2.ini
path = os.path.dirname(os.path.realpath(__file__))
# get inventory
ec2inventory = Ec2Inventory(configfile=path + '/ec2.ini')
data = ec2inventory.get_inventory()
# print json
print(json.dumps(data, sort_keys=True, indent=2))
if __name__ == '__main__':
main()
```
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
File details
Details for the file ansible-ec2-inventory-0.1.8.tar.gz
.
File metadata
- Download URL: ansible-ec2-inventory-0.1.8.tar.gz
- Upload date:
- Size: 13.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1ad5bc371cea5b729635f1e8ef1f17737144bd4140b819e8719d052a6025f7d |
|
MD5 | a0b1d48bf09860b766e554335067def9 |
|
BLAKE2b-256 | 88d240aafcb87a7b97a0196dd7aa76fb19db9c303659bd7d0d8051800b737d08 |