A simple facade for Boto3
Project description
boto3facade
=========================
[![Build Status](https://travis-ci.org/FindHotel/boto3facade.svg?branch=master)](https://travis-ci.org/FindHotel/boto3facade)
[![PyPI](https://img.shields.io/pypi/v/boto3facade.svg?style=flat)](https://pypi-hypernode.com/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.
=========================
[![Build Status](https://travis-ci.org/FindHotel/boto3facade.svg?branch=master)](https://travis-ci.org/FindHotel/boto3facade)
[![PyPI](https://img.shields.io/pypi/v/boto3facade.svg?style=flat)](https://pypi-hypernode.com/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.
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
boto3facade-0.5.2.tar.gz
(16.6 kB
view details)
File details
Details for the file boto3facade-0.5.2.tar.gz
.
File metadata
- Download URL: boto3facade-0.5.2.tar.gz
- Upload date:
- Size: 16.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 529796cf631e3cc3a6c4a44f9846df561a0e47e6f45d24cea253853ae4e4f85c |
|
MD5 | c2f75c9b29f71b0bfe618c48fd30a61e |
|
BLAKE2b-256 | 0b12bf17cd4a19b467af3882d956daa62bbd9df6fcdf311bddd2c9f76f4dc03e |