Skip to main content

Awspice is a wrapper tool of Boto3 library to list inventory and manage your AWS infrastructure The objective of the wrapper is to abstract the use of AWS, being able to dig through all the data of our account

Project description

Read the Docs Version Codacy

Table of content (Full doc in ReadTheDocs) :

What is Awspice?

Is a wrapper tool of Boto3 library to list inventory and manage your AWS infrastructure The objective of the wrapper is to abstract the use of AWS, being able to dig through all the data of our account, and for example you will be able of:

  • Run a ssh-command for all instances in all regions
  • List all instances with exposed critical ports like 22 or 3389
  • Get info about all certificates of your account/s
  • Obtain all the infrastructure after a domain associated with a balancer

Installation

pip install awspice

Configuration

The client is built and configured using awspice.connect(). This method indicates the type of authentication and region on which you are going to work.

import awspice

aws = awspice.connect() # Region: eu-west-1 | Profile: Default

aws = awspice.connect(region='us-west-2', profile='dev_profile')
aws = awspice.connect('us-west-2', access_key='AKIA***********', secret_key='/HR$4************')

Usage

Example: Get balancer and instances behind a domain.

aws = awspice.connect()

elb = aws.service.elb.get_loadbalancer_by('domain', 'choosetravel.es')
for elb_instance in elb['Instances']:
  instance = aws.service.ec2.get_instance_by('id', elb_instance['InstanceId'])

Example: List all unused volumes

regions = aws.service.ec2.get_regions()
volumes = awsmanager.service.ec2.get_volumes_by('status', 'available', regions=regions)

Example: Search instance in all accounts and regions by Public IP

profiles = aws.service.ec2.get_profiles()
regions = aws.service.ec2.get_regions()

for profile in profiles:
    aws.service.ec2.change_profile(profile)

    instance = aws.service.ec2.get_instance_by('publicip', '35.158.163.235', regions=regions)

    if instance:
        print 'Instance found: %s (Account: %s, Region: %s)' % (instance['InstanceId'], instance['RegionName'], instance['Authorization']['Value'])
        break

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
awspice-1.5.tar.gz (28.5 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page