A simple facade for boto3
Project description
boto3facade
=========================
[![Build Status](https://travis-ci.org/InnovativeTravel/boto3facade.svg?branch=master)](https://travis-ci.org/InnovativeTravel/boto3facade)
[![PyPI](https://img.shields.io/pypi/v/humilis.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/InnovativeTravel/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 instnce 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 the `boto3` are 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
```
## Who do I ask?
* German Gomez-Herrero, <german@innovativetravel.eu>
=========================
[![Build Status](https://travis-ci.org/InnovativeTravel/boto3facade.svg?branch=master)](https://travis-ci.org/InnovativeTravel/boto3facade)
[![PyPI](https://img.shields.io/pypi/v/humilis.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/InnovativeTravel/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 instnce 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 the `boto3` are 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
```
## Who do I ask?
* German Gomez-Herrero, <german@innovativetravel.eu>
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.2.3.tar.gz
(16.0 kB
view details)
File details
Details for the file boto3facade-0.2.3.tar.gz
.
File metadata
- Download URL: boto3facade-0.2.3.tar.gz
- Upload date:
- Size: 16.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8009aeacf6a33415c8764cf7dc3313d64e1fc1066a7bc3642e56dca007a9545c |
|
MD5 | aa6964214f911b5aae003ac99aed921a |
|
BLAKE2b-256 | 5b15e45e5c44bea1d5b723cf954d477e20cdce6d3169bdb900a9467c9903c058 |