Skip to main content

Cloud Auxiliary (lite) is a python wrapper and orchestration module for interacting with cloud providers

Project description

cloudaux-lite

Version

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:

  1. Decorator for STS role assumption
  2. Decorator for pagination
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cloudaux-lite-1.0.0.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

cloudaux_lite-1.0.0-py2.py3-none-any.whl (11.8 kB view details)

Uploaded Python 2 Python 3

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

Hashes for cloudaux-lite-1.0.0.tar.gz
Algorithm Hash digest
SHA256 691dd92638aa6642e467fe818c2a677709cc268870ab079be27ef7d206cbc3dd
MD5 d1e17989af9a9a6881bd224684a082eb
BLAKE2b-256 235e3b9a4228723b108cf8981e8cf7caffb5a40909e4903460506ce4430387aa

See more details on using hashes here.

File details

Details for the file cloudaux_lite-1.0.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for cloudaux_lite-1.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ab321e63ca2eb660ae08f3e15b223d9138f7741d692e706628d48b5642814429
MD5 cbac83db22944cefe26f79ecdd8d3d00
BLAKE2b-256 950594021979157bb8a4060036904d678bc8380ed9dffef93043ea94e3ab03fd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page