Ashon / ei

AWS CLI for human

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A[ei]WS CLI

AWS CLI for humans. PyPI version

codecov CI-Python-3.7 CI-Python-3.8 CI-Python-3.9 CI-Python-3.10 CI-Python-3.11

Installation

Install via pypi

pip install ei-cli

Install via github

pip install git+https://github.com/ashon/ei

Configuration

# set environment variables

# comma seperated account ids
EI_ACCOUNT_IDS='000000000000,111111111111'

# comma seperated region list
EI_REGIONS='ap-northeast-1,ap-northeast-2,ca-central-1,eu-west-2'

# sts assume role pattern for cross account
EI_ASSUME_ROLE_ARN_PATTERN='arn:aws:iam::{account_id}:role/my-awesome-role'
EI_ASSUME_ROLE_SESSION_NAME='AssumeRoleEi'

# use aws-vault for resolve aws environment vars
AWS_REGION=None
AWS_ACCESS_KEY_ID=None
AWS_SECRET_ACCESS_KEY=None
AWS_SECURITY_TOKEN=None
AWS_SESSION_EXPIRATION=None

Run

ei

Using aws-vault for cross account, region resource retrieving.

# list vpcs across all regions, and all accounts ($EI_REGIONS, $EI_ACCOUNT_IDS)
$ aws-vault exec {aws-vault-profile} -- ei ec2 vpc list --all-regions --all-accounts

# same as ec2
$ aws-vault exec {aws-vault-profile} -- ei ec2 instance list --all-regions --all-accounts

...

Development

This project controlled by Hatch.

$ pip install hatch

# install package as editable mode
$ pip install -e .

# testing commands
$ hatch run lint
$ hatch run test
$ hatch run typecheck

About

AWS CLI for human


Languages

Language:Python 97.8%Language:Shell 2.2%