feat: flag unattached Elastic IPs

Open Beginner friendly
#158 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
aws, rust
Domain
backend, cloud

Research direction

Read docs/recipes/README.md and docs/recipes/add-a-finding.md, then wait for issue #157 to merge. In src/app/findings.rs, follow ec2_stopped_instances_unused and add the eip_unattached rule; check src/aws/pricing.rs for IPv4 hourly pricing. Add the model predicate and firing/quiet unit tests, update docs/findings-roadmap.md, and add a minor changeset. Done when the listed checks pass.

Written by the indexing model from the issue text.

Description

size: XS

Why

The classic waste finding.

Follow docs/recipes/add-a-finding.md.

Steps

  1. Predicate: no association ID.
  2. Rule eip_unattached (Waste, Medium). If the price book has an IPv4 hourly price, attach a cost with with_cost; look at how ec2_stopped_instances_unused does it. If not, leave cost as None and say so in the PR.
  3. Tests.

Where to look

  • src/app/findings.rs
  • src/aws/pricing.rs

Done when

  • Predicate on the model with unit tests (one firing case, one quiet case)
  • Rule added to FINDING_RULES with tests in src/app/findings.rs
  • docs/findings-roadmap.md lists the rule under Current Findings
  • Changeset added (minor)
  • cargo fmt --all, cargo clippy --all-targets -- -D warnings, and cargo test --all pass, with output pasted in the PR

Check against AWS

Optional. Unit tests are enough for this issue.

Blocked by

#157. Start this after that is merged.

Size: XS. Read docs/recipes/README.md before starting.

Dominant language
Rust
Stars
2
Forks
0
Avg merge
4h 8m
Merged PRs (30d)
8

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from fells-code/seamless-glance

All issues in fells-code/seamless-glance

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.