Starting with a controlled target

I used Terraform against infrastructure small enough to inspect but real enough to expose state, dependencies, provider behavior, and destructive changes. AI assistance helped draft resources and explain unfamiliar arguments, but every useful iteration still began with a defined target and ended with a plan I could read line by line.

The assistant can draft, not decide

Generated configuration still needs a human-readable goal, provider knowledge, state awareness, plan review, and validation in the actual environment.

Use assistance to expose assumptions

The best prompts ask for tradeoffs, failure modes, dependencies, and review checklists. That is more valuable than asking for a large block of configuration with no explanation.

Keep the workflow reproducible

The finished infrastructure should be understandable from versioned configuration and documentation, not from a conversation that cannot be reconstructed later.

The review loop matters more than generation

The safest speed came from a repeatable loop: describe the intent, generate a small change, format and validate it, inspect the plan, question every replacement or deletion, and record why the final configuration exists. The assistant accelerated exploration, while state, version control, and human review kept authority over the environment.

Where assistance helps and where it stops

AI is especially useful when I need a first draft, an explanation of an unfamiliar provider argument, a comparison of implementation patterns, or a checklist of failure modes. Those tasks reduce the distance between an idea and a reviewable configuration without pretending that generated code understands the environment where it will run.

The boundary appears at authority. The assistant does not own the state file, understand every dependency, know which resources contain valuable data, or decide whether downtime is acceptable. Before applying anything, I inspect the Terraform plan for replacements, deletions, permission changes, unexpected defaults, and values that should remain secret.

Keeping each change small makes that review possible. The configuration is formatted, validated, versioned, and documented so the final environment can be reconstructed without relying on the original conversation. Assistance makes exploration faster, but the durable product is still understandable code, a known state, and a human-approved record of why the change was made.