AWS CLI v2 for Python
Wrapper for AWS CLI v2.
Comes with zero dependencies, updates awscli
, gives access to all services!
Before you start
- This is not an official AWS CLI v2 application, rant there
- Check the source code of this app, as you are working with sensitive data
- By default this app uses amazon/aws-cli Docker image
- To use binaries for your OS, run
awsv2 --install
- Cross-check the source code again, probably I want to steal your credentials
Installation
python -m pip install awscliv2
You can add an alias to your ~/.bashrc
or ~/.zshrc
to use it as a regular AWS CLI v2
alias aws='awsv2'
Usage
Install AWS CLI v2
:
# do not worry if this fails, you can still use awsv2 if you have docker installed
awsv2 --install
Configure default profile if needed:
AWS_ACCESS_KEY_ID='my-access-key'
AWS_SECRET_ACCESS_KEY='my-secret-key'
# --configure <profile_name> <aws_access_key_id> <aws_secret_access_key> [<aws_session_token>]
awsv2 --configure default ${AWS_ACCESS_KEY_ID} ${AWS_SECRET_ACCESS_KEY}
awsv2 configure set region us-west-1
Use AWS CLI
as usual:
# alias for
# docker run --rm -i -v ~/.aws:/root/.aws -v $(pwd):/aws amazon/aws-cli $@
awsv2 s3 ls
# or as a python module
python -m awscliv2 s3 ls
Also, you can check scripts/example.sh
Docker fallback
Unless you run awsv2 --install
once, application will use amazon/aws-cli Docker image. The image is not ideal, and it uses root
user, so fix downloaded file permissions manually. Or just run awsv2 --install
Update it with docker pull amazon/aws-cli
.
Container uses two volumes:
$HOME/.aws
->/root/.aws
- credentials and config store$(cwd)
->/aws
- Docker image workdir
Extra commands
awscliv2
contains a few commands to make your life easier, especially in CI or any non-TTY environment.
awsv2 -U/--update/--install
- InstallAWS CLI v2
awsv2 --configure <profile_name> <aws_access_key_id> <aws_secret_access_key> [<aws_session_token>]
- set profile in~/.aws/credentials
awsv2 --assume-role <profile_name> <source_profile> <role_arn>
- create a new profile with assume role credentialsawsv2 -V/--version
- Outputawscliv2
andAWS CLI v2
versions
Development
- Install poetry
- Run
poetry install
- Use
black
formatter in your IDE
How to help
- Ping AWS team to release an official PyPI package
- Help me to test MacOS installer and add Windows installer
- Share your experience in issues
Versioning
awscliv2
version follows PEP 440.
Latest changes
Full changelog can be found in Changelog. Release notes can be found in Releases.