Cloud Auxiliary (lite) is a python wrapper and orchestration module for interacting with cloud providers
Project description
cloudaux-lite
Special Note: This is a slimmed-down fork of Netflix-Skunkworks/cloudaux
The original source for CloudAux is mostly not supported and contains a lot of code that has breaking changes with updates to boto over time. It also contained support for non-AWS cloud providers which have breaking library changes over time as well. This fork removes all the problematic components and non-supported components to make this library only consist of AWS support for the following very simple things:
- Decorator for STS role assumption
- Decorator for pagination
- The CloudAux object
What was removed?
This fork removed the following components:
- All things non AWS, like GCP, Azure, and OpenStack
- The orchestration logic
- The
iter_account_region
decorator - The
rate_limited
decorator
The primary things left are:
- The
sts_conn
decorator - The
pagination
decorator - The
CloudAux
class
If you use the above 3 things only, then this is a drop-in replacement. The imports and everything are exactly the same. Simply pip install cloudaux-lite
instead of cloudaux
and you should be good to go!
Older support?
If you have a need to supporting the older CloudAux stuff, then continue using the Netflix cloudaux package version < 2.
Features
- Intelligent connection caching.
- Handles pagination for certain client methods.
- Multi-account sts:assumerole abstraction.
Install
pip install cloudaux-lite
AWS Example
# Using the CloudAux class
from cloudaux import CloudAux
CloudAux.go('kms.client.list_aliases', **conn_details)
ca = CloudAux(**conn_details)
ca.call('kms.client.list_aliases')
# directly asking for a boto3 connection:
from cloudaux.aws.sts import boto3_cached_conn
conn = boto3_cached_conn('ec2', **conn_details)
# Over your entire environment:
from cloudaux.decorators import iter_account_region
accounts = ['000000000000', '111111111111']
conn_details = {
'assume_role': 'MyRole',
'session_name': 'MySession',
'conn_type': 'boto3'
}
# If you want your role to be read-only, you can assume your role and add the read_only flag to connection details
# to inherit the AWS ReadOnlyAccess policy. This flag defaults to False
# The permissions from the role being assumed will be limited to Read and List only
conn_details = {
'account_number': '111111111111',
'assume_role': 'MyRole',
'session_name': 'MySession',
'region': 'us-east-1',
'read_only': True
}
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
Built Distribution
File details
Details for the file cloudaux-lite-1.0.0.tar.gz
.
File metadata
- Download URL: cloudaux-lite-1.0.0.tar.gz
- Upload date:
- Size: 12.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 691dd92638aa6642e467fe818c2a677709cc268870ab079be27ef7d206cbc3dd |
|
MD5 | d1e17989af9a9a6881bd224684a082eb |
|
BLAKE2b-256 | 235e3b9a4228723b108cf8981e8cf7caffb5a40909e4903460506ce4430387aa |
File details
Details for the file cloudaux_lite-1.0.0-py2.py3-none-any.whl
.
File metadata
- Download URL: cloudaux_lite-1.0.0-py2.py3-none-any.whl
- Upload date:
- Size: 11.8 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab321e63ca2eb660ae08f3e15b223d9138f7741d692e706628d48b5642814429 |
|
MD5 | cbac83db22944cefe26f79ecdd8d3d00 |
|
BLAKE2b-256 | 950594021979157bb8a4060036904d678bc8380ed9dffef93043ea94e3ab03fd |