cloudaux-lite


Namecloudaux-lite JSON
Version 1.0.0 PyPI version JSON
download
home_pagehttps://github.com/mikegrima/cloudaux-lite
SummaryCloud Auxiliary (lite) is a python wrapper and orchestration module for interacting with cloud providers
upload_time2023-05-30 20:22:23
maintainer
docs_urlNone
authorThe Cloudaux Developers
requires_python
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            # cloudaux-lite

[![Version](http://img.shields.io/pypi/v/cloudaux-lite.svg?style=flat)](https://pypi.python.org/pypi/cloudaux-lite/)

## Special Note: This is a slimmed-down fork of Netflix-Skunkworks/cloudaux
The original source for [CloudAux](https://github.org/Netflix-Skunkworks/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
    }




            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/mikegrima/cloudaux-lite",
    "name": "cloudaux-lite",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "The Cloudaux Developers",
    "author_email": "mike.r.grima@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/23/5e/3b9a4228723b108cf8981e8cf7caffb5a40909e4903460506ce4430387aa/cloudaux-lite-1.0.0.tar.gz",
    "platform": null,
    "description": "# cloudaux-lite\n\n[![Version](http://img.shields.io/pypi/v/cloudaux-lite.svg?style=flat)](https://pypi.python.org/pypi/cloudaux-lite/)\n\n## Special Note: This is a slimmed-down fork of Netflix-Skunkworks/cloudaux\nThe original source for [CloudAux](https://github.org/Netflix-Skunkworks/cloudaux) is mostly not supported and contains a lot of code that has breaking changes with updates to boto over time.\nIt 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\nonly consist of AWS support for the following very simple things:\n\n1. Decorator for STS role assumption\n2. Decorator for pagination\n3. The CloudAux object\n\n### What was removed?\nThis fork removed the following components:\n\n* All things non AWS, like GCP, Azure, and OpenStack\n* The orchestration logic\n* The `iter_account_region` decorator\n* The `rate_limited` decorator \n\nThe primary things left are:\n* The `sts_conn` decorator\n* The `pagination` decorator\n* The `CloudAux` class\n\nIf 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!\n\n## Older support?\nIf you have a need to supporting the older CloudAux stuff, then continue using the Netflix cloudaux package version < 2.\n\n## Features\n\n - Intelligent connection caching.\n - Handles pagination for certain client methods.\n - Multi-account sts:assumerole abstraction.\n\n## Install\n\n    pip install cloudaux-lite\n\n### AWS Example\n\n    # Using the CloudAux class\n    from cloudaux import CloudAux\n    CloudAux.go('kms.client.list_aliases', **conn_details)\n\n    ca = CloudAux(**conn_details)\n    ca.call('kms.client.list_aliases')\n\n    # directly asking for a boto3 connection:\n    from cloudaux.aws.sts import boto3_cached_conn\n    conn = boto3_cached_conn('ec2', **conn_details)\n\n    # Over your entire environment:\n    from cloudaux.decorators import iter_account_region\n\n    accounts = ['000000000000', '111111111111']\n\n    conn_details = {\n        'assume_role': 'MyRole',\n        'session_name': 'MySession',\n        'conn_type': 'boto3'\n    }\n\n    # If you want your role to be read-only, you can assume your role and add the read_only flag to connection details\n    # to inherit the AWS ReadOnlyAccess policy. This flag defaults to False\n    # The permissions from the role being assumed will be limited to Read and List only\n    conn_details = {\n        'account_number': '111111111111',\n        'assume_role': 'MyRole',\n        'session_name': 'MySession',\n        'region': 'us-east-1',\n        'read_only': True\n    }\n\n\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Cloud Auxiliary (lite) is a python wrapper and orchestration module for interacting with cloud providers",
    "version": "1.0.0",
    "project_urls": {
        "Homepage": "https://github.com/mikegrima/cloudaux-lite"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "950594021979157bb8a4060036904d678bc8380ed9dffef93043ea94e3ab03fd",
                "md5": "cbac83db22944cefe26f79ecdd8d3d00",
                "sha256": "ab321e63ca2eb660ae08f3e15b223d9138f7741d692e706628d48b5642814429"
            },
            "downloads": -1,
            "filename": "cloudaux_lite-1.0.0-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "cbac83db22944cefe26f79ecdd8d3d00",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": null,
            "size": 11758,
            "upload_time": "2023-05-30T20:22:21",
            "upload_time_iso_8601": "2023-05-30T20:22:21.364422Z",
            "url": "https://files.pythonhosted.org/packages/95/05/94021979157bb8a4060036904d678bc8380ed9dffef93043ea94e3ab03fd/cloudaux_lite-1.0.0-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "235e3b9a4228723b108cf8981e8cf7caffb5a40909e4903460506ce4430387aa",
                "md5": "d1e17989af9a9a6881bd224684a082eb",
                "sha256": "691dd92638aa6642e467fe818c2a677709cc268870ab079be27ef7d206cbc3dd"
            },
            "downloads": -1,
            "filename": "cloudaux-lite-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "d1e17989af9a9a6881bd224684a082eb",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 12520,
            "upload_time": "2023-05-30T20:22:23",
            "upload_time_iso_8601": "2023-05-30T20:22:23.098685Z",
            "url": "https://files.pythonhosted.org/packages/23/5e/3b9a4228723b108cf8981e8cf7caffb5a40909e4903460506ce4430387aa/cloudaux-lite-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-05-30 20:22:23",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "mikegrima",
    "github_project": "cloudaux-lite",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "tox": true,
    "lcname": "cloudaux-lite"
}
        
Elapsed time: 0.15702s