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
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************')
Test it
To verify that the configuration has been correctly stored, you can run the following test. This test only checks that your user is registered and enabled on the AWS account set in the client’s configuration.
import awspice
aws = awspice.connect(profile='<YOUR_PROFILE>')
aws.test()
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
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
File details
Details for the file awspice-1.4.1.tar.gz
.
File metadata
- Download URL: awspice-1.4.1.tar.gz
- Upload date:
- Size: 24.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6570b98b62ec8cd58c164299cbb9a509f9be6a81c1fa0c597dc6e26aeae8a51b |
|
MD5 | 500cf98d93457108439094c94e3eebe7 |
|
BLAKE2b-256 | 137d2af284026c847aab14202bdd9a84f2ffbeaebc75d26c7e4e510027e28a8c |