AWS EC2 Metadata Imposter Service
This service was created to ease the usage of AWS SDK tools with using assumed roles in your development environment.
pip install imposter
Launching the service
imposter --profile <AWS CLI profile name> [--bind [host]:port](169.254.169.254:80) [-D] (daemonize)
If the service detects you do not have the private IP address 169.254.169.254, it will attempt to create it for you with sudo. It will also ask for credentials so that you can run the service on privileged ports.
Stopping the service
imposter --profile <AWS CLI profile name>
If the service is running, it will attempt to switch the active role. If not, it will launch it. Switching roles is equivalent to running
curl -XPOST http://169.254.169.254/roles/<profilename>
Checking service status
Your AWS CLI config
Your AWS CLI config should not have credentials in the default profile, otherwise the AWS SDK will look there for credentials before looking for the EC2 Metadata service. Instead, have your config profiles point to a separate, non-default section with your credentials, e.g.
[profile teamrole1] role_arn = arn:aws:iam::123456789012:role/teamrole1 source_profile = myidentity role_session_name = teamrole1 [profile teamrole2] role_arn = arn:aws:iam::123456789012:role/teamrole2 source_profile = myidentity role_session_name = teamrole2 [myidentity] aws_access_key_id = ABCDEFGHIJKLMNOPQRST aws_secret_access_key = abcdefghij1234567890abcdefghij1234567890
Release history Release notifications
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|
|imposter-0.0.13-py2-none-any.whl (8.5 kB) Copy SHA256 hash SHA256||Wheel||2.7|
|imposter-0.0.13.tar.gz (7.5 kB) Copy SHA256 hash SHA256||Source||None|