https://github.com/findhotel/boto3facade
A facade that simplifies boto3's interface to AWS
https://github.com/findhotel/boto3facade
Last synced: 6 months ago
JSON representation
A facade that simplifies boto3's interface to AWS
- Host: GitHub
- URL: https://github.com/findhotel/boto3facade
- Owner: FindHotel
- License: other
- Archived: true
- Created: 2015-09-28T12:55:04.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2018-02-25T10:05:28.000Z (over 8 years ago)
- Last Synced: 2026-01-04T01:02:18.076Z (6 months ago)
- Language: Python
- Homepage:
- Size: 118 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
boto3facade
=========================
[](https://travis-ci.org/FindHotel/boto3facade)
[](https://pypi.python.org/pypi/boto3facade)
A simple facade for [boto3][boto3] that makes some common tasks easier. The
`boto3facade` module is not intended to be used directly but as a shared
components of projects that use boto3.
[boto3]: https://github.com/boto/boto3
## Installation
To install the development version:
```
pip install git+https://github.com/FindHotel/boto3facade
```
To install the latest stable release:
```
pip install boto3facade
```
## Quickstart
The `boto3facade` package contains a collection of modules that implement
facades to different AWS services. For instance the `boto3facade.ec2` module
implements the facade to [AWS EC2 service][ec2]. Each of these modules
typically contain just one class, named as the corresponding AWS service. E.g.
the `boto3facade.ec2` module contains an `Ec2` class. In some cases, there may
also be public module functions that implement utilities that don't require
access to the [AWS boto3 SDK][boto3]. For instance in the EC2 facade:
[ec2]: https://aws.amazon.com/ec2/
```python
import boto3facade.ec2 as ec2
# Get the name of the role associated to the EC2 instance
if ec2.in_ec2():
# If this code is running in an EC2 instance
role_name = ec2.get_instance_profile_role()
else:
role_name = None
```
Facade methods that actually use `boto3` are always implemented as instance
methods:
```python
from boto3facade.ec2 import Ec2
# Create the facade object
my_ec2_facade = Ec2()
# Get the list of AMIs that have tags matching the provided ones
ami_tags = {'Name': 'niceimage', 'Version', 'latest'}
ami_list = my_ec2_facade.get_ami_by_tag(ami_tags)
# Get the SecurityGroup boto3 resource with a certain name
my_sg = my_ec2_facade.get_sg_by_name('sgname')
```
## Development
```
make develop
. .env/bin/activate
```
## Contact
If you have questions, bug reports, suggestions, etc. please create an issue on
the [GitHub project page](http://github.com/FindHotel/boto3facade).
## License
This software is licensed under the [MIT license](http://en.wikipedia.org/wiki/MIT_License)
See [License file](https://github.com/FindHotel/boto3facade/blob/master/LICENSE)
© 2016 German Gomez-Herrero, and FindHotel.