Metadata-Version: 2.4
Name: aws-annoying
Version: 0.8.0
Summary: Utils to handle some annoying AWS tasks.
Project-URL: Homepage, https://github.com/lasuillard/aws-annoying
Project-URL: Repository, https://github.com/lasuillard/aws-annoying.git
Project-URL: Issues, https://github.com/lasuillard/aws-annoying/issues
Author-email: Yuchan Lee <lasuillard@gmail.com>
License-Expression: MIT
License-File: LICENSE
Requires-Python: <4.0,>=3.9
Requires-Dist: boto3<2,>=1
Requires-Dist: pydantic<3,>=2
Requires-Dist: requests<3,>=2
Requires-Dist: tqdm<5,>=4
Requires-Dist: typer<1,>=0
Provides-Extra: dev
Requires-Dist: boto3-stubs[ec2,ecs,secretsmanager,ssm,sts]>=1.37.1; extra == 'dev'
Requires-Dist: mypy<1.17,>=1.15; extra == 'dev'
Requires-Dist: ruff<0.12.0,>=0.9.9; extra == 'dev'
Requires-Dist: types-requests>=2.31.0.6; extra == 'dev'
Provides-Extra: test
Requires-Dist: coverage<7.9,>=7.6; extra == 'test'
Requires-Dist: moto[ecs,secretsmanager,server,ssm]~=5.1.1; extra == 'test'
Requires-Dist: pytest-cov<6.2,>=6.0; extra == 'test'
Requires-Dist: pytest-env~=1.1.1; extra == 'test'
Requires-Dist: pytest-snapshot>=0.9.0; extra == 'test'
Requires-Dist: pytest-sugar~=1.0.0; extra == 'test'
Requires-Dist: pytest-xdist>=3.6.1; extra == 'test'
Requires-Dist: pytest~=8.3.2; extra == 'test'
Requires-Dist: testcontainers[localstack]>=4.9.2; extra == 'test'
Requires-Dist: toml>=0.10.2; extra == 'test'
Requires-Dist: types-toml>=0.10.8.20240310; extra == 'test'
Description-Content-Type: text/markdown

# aws-annoying

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![CI](https://github.com/lasuillard/aws-annoying/actions/workflows/ci.yaml/badge.svg)](https://github.com/lasuillard/aws-annoying/actions/workflows/ci.yaml)
[![codecov](https://codecov.io/gh/lasuillard/aws-annoying/graph/badge.svg?token=gbcHMVVz2k)](https://codecov.io/gh/lasuillard/aws-annoying)
![PyPI - Version](https://img.shields.io/pypi/v/aws-annoying)

Utils to handle some annoying AWS tasks.

## ❓ About

This project aims to provide a set of utilities and examples to help with some annoying tasks when working with AWS.

Major directories of the project:

- **aws_annoying** Python package containing CLI and utility functions.
- **console** Utilities to help working with AWS Console.
- **examples** Examples of how to use the package.

## 🚀 Installation

It is recommended to use [pipx](https://pipx.pypa.io/stable/) to install `aws-annoying`:

```bash
$ pipx install aws-annoying
$ aws-annoying --help

 Usage: aws-annoying [OPTIONS] COMMAND [ARGS]...

...
```

Available commands:

- **ecs** ECS utilities.
  - **task-definition-lifecycle** Help to manage ECS task definitions lifecycle.
  - **wait-for-deployment** Wait for ECS deployment to complete.
- **load-variables** Wrapper command to run command with variables from AWS resources injected as environment variables.
- **mfa** Commands to manage MFA authentication.
  - **configure** Configure AWS profile for MFA.
- **session-manager** AWS Session Manager CLI utilities.
  - **install** Install AWS Session Manager plugin.
  - **port-forward** Start a port forwarding session using AWS Session Manager.
  - **start** Start new session.
  - **stop** Stop running session for PID file.

Please refer to the CLI help for more information about the available commands and options.

## 💖 Contributing

Any feedback, suggestions or contributions are welcome! Feel free to open an issue or a pull request.
