aws-terminator-implement

Implements terminator classes and IAM permission blocks in the aws-terminator repository.

8|7|Updated Feb 14, 2023
One-click install
npx skills add https://github.com/eclipse-slm/slm --skill aws-terminator-implement-eclipse-slm
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: aws-terminator-implement
Source: https://github.com/eclipse-slm/slm/tree/main/.agents/skills/aws-terminator-implement
Command: npx skills add https://github.com/eclipse-slm/slm --skill aws-terminator-implement-eclipse-slm

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Contributing new AWS resource cleanup logic to the mattclay/aws-terminator repository requires writing terminator classes that follow strict Terminator/DbTerminator patterns and crafting least-privilege IAM policy blocks, which is error-prone and time-consuming when done manually. ## Core Features & Use Cases - Terminator Class Generation: Creates Python terminator classes following Terminator or DbTerminator base class patterns, with correct id, name, created_time properties and terminate logic. - IAM Permission Blocks: Generates resource-scoped and global IAM permission blocks in the appropriate YAML policy file, alphabetically ordered and deduplicated. - Validation & PR Preparation: Runs Python/YAML syntax checks, tox tests (pycodestyle, pylint, yamllint), duplicate detection, and produces an implementation summary ready for PR submission. - Use Case: After analyzing an Ansible collection PR that introduces new AWS resources (e.g., MediaLive channels), use this Skill to generate the corresponding terminator classes in application_services.py and matching IAM permissions in application-services.yaml, then validate everything before opening a PR. ## Quick Start Ask the assistant to implement the terminators and IAM permissions based on the prior aws-terminator analysis for your AWS service.

Frequently Asked Questions about aws-terminator-implement

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new terminator class to aws-terminator?▼

Generate a class inheriting from Terminator (if the resource has a creation timestamp) or DbTerminator (if not), implementing create, id, name, and terminate members. Insert it alphabetically into the appropriate file under aws/terminator/ and validate with tox.

How do I write IAM permissions for aws-terminator policies?▼

Create a resource-scoped block with Create, Delete, Describe, Update, and Tag actions bound to a specific ARN pattern, plus a global block with List/Describe actions on Resource '*'. Insert blocks alphabetically by Sid into the matching YAML file under aws/policy/.

When should I use Terminator vs DbTerminator base class?▼

Use Terminator when the AWS resource describe response includes a timestamp field such as CreatedTime or LaunchTime, enabling age-based cleanup. Use DbTerminator when no timestamp exists, in which case cleanup relies on database-tracked naming instead.

Does this skill require a fork of aws-terminator?▼

Yes, you must fork mattclay/aws-terminator on GitHub and clone your fork locally, with an upstream remote pointing to the original repository. The gh CLI must be authenticated for PR creation.

Why do tox tests fail after adding terminator code?▼

Failures typically come from pycodestyle or pylint violations in the new Python class, yamllint issues in policy YAML, or duplicate permissions. Run python3 -m py_compile and YAML safe_load checks first to catch syntax errors before tox.