Skip to content

feat(vpc): add azs output for consumer-side AZ wiring - #23

Merged
opariffazman merged 1 commit into
mainfrom
feat/vpc-azs-output
Jun 30, 2026
Merged

opariffazman merged 1 commit into
mainfrom
feat/vpc-azs-output

Conversation

@opariffazman

Copy link
Copy Markdown
Contributor

Summary

Add an azs output to vpc exposing the ordered AZ list it already computes (local.azs), so an
environment can wire an AZ-locked input cleanly instead of hardcoding an AZ string or adding its own
aws_availability_zones lookup. Closes #19.

Component(s)

vpc

Type

  • Added — new component or feature (MINOR)

Changes

  • vpc/terraform/outputs.tf — new azs output (value = local.azs); azs[i] is the AZ of
    private_subnet_ids[i] / public_subnet_ids[i] (both are built over range(var.az_count)).
  • vpc/README.md — Outputs table regenerated (terraform-docs); added a parallel
    "Consumed by ebs-volume" Dependencies bullet (azs[0] → an entry's availability_zone).
  • CHANGELOG.md — [Unreleased] → Added entry under vpc.

Purely additive — no existing input/output changed; vpc stays greenfield-plannable.

Validation

  • terraform fmt / validate / tflint pass on the changed components (the gate)
  • CHANGELOG.md [Unreleased] updated
  • Component README / root README updated if inputs or outputs changed

Expose the ordered AZ list vpc already computes (local.azs, sliced from
data.aws_availability_zones) so an environment can source an AZ-locked
input cleanly instead of hardcoding an AZ string or adding its own
aws_availability_zones lookup. azs[i] is the AZ of private_subnet_ids[i]
/ public_subnet_ids[i].

Concrete driver: the ebs-volume component takes a required, AZ-locked
availability_zone that must match the subnet its instance launches into;
the env now writes availability_zone = dependency.vpc.outputs.azs[0],
mirroring the existing private_subnet_ids[0] -> subnet_id pattern.

Purely additive; vpc stays greenfield-plannable. Closes #19.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@opariffazman
opariffazman requested a review from Lexxick as a code owner June 30, 2026 01:32
@github-actions

Copy link
Copy Markdown

📝 Changelog preview (draft)

Generated from Conventional Commits. Curate into CHANGELOG.md → ## [Unreleased] — trim noise, keep consumer-facing changes.

[Unreleased]

Added

  • vpc: Add azs output for consumer-side AZ wiring
  • ebs-volume: Add standalone persistent EBS data volume component
  • automation-roles: Allow CI role to manage scoped iam policies
  • iam-policy: Add generic IAM policy factory component

Fixed

  • ci: Guard against pre-commit Terraform hooks silently skipping changed .tf
  • release: Annotate the vX.Y.Z tag so tagging survives tag.gpgsign

@opariffazman
opariffazman merged commit 8213aaa into main Jun 30, 2026
13 checks passed
@opariffazman
opariffazman deleted the feat/vpc-azs-output branch June 30, 2026 01:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[change] vpc: add azs output for consumer-side AZ wiring

1 participant