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
Close
Hashes for ansible-ec2-inventory-0.1.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d64f7a9e9d66e704d330f5df833e5fdf842831338bbd6a56d4c52130e0e59a3 |
|
MD5 | 160256879a78abebaa877cf6d9d98fa9 |
|
BLAKE2b-256 | 0d6a99e691ff209baa37d6eed9413df4d4f352a118cb358578b90642c05291dd |