Cover the module and registry paths in the Terraform-user docs - #20732
Draft
fnune wants to merge 6 commits into
Draft
Cover the module and registry paths in the Terraform-user docs#20732fnune wants to merge 6 commits into
fnune wants to merge 6 commits into
Conversation
Update the `pulumi package add terraform-module` command to `pulumi package add hcl module` across the Terraform docs, add a runtime module-loading section using the hcl provider, and link the hcl package from the Terraform-to-Pulumi walkthrough. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Address review feedback on the hcl module docs: - Drop the trailing package name from `pulumi package add hcl module` commands; the name is derived from the module source, not passed. - Update use-terraform-module.md and terraform-modules.md examples to the derived package names (vpc, rds), real Pulumi.yaml package blocks (source: hcl), and generated Go import paths. - Use @-delimited version syntax for Pulumi Cloud converted packages. - Refer to the package as "Any HCL Module" in prose, matching the Registry. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The hcl provider translates Terraform snake_case variable names to camelCase, unlike the terraform-module provider. Update the VPC and RDS example programs to the correct per-language property names (camelCase for TypeScript/Java/YAML, PascalCase for Go/C#, snake_case unchanged for Python), and fix the C# example to construct the module with Module/ModuleArgs and import Pulumi.Aws.Ec2.Inputs. Verified with go build, tsc, and dotnet build against the generated SDKs. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The VPC and VPC+RDS examples used the terraform-aws-modules/vpc/aws
module, which fails to deploy through the hcl provider (a graph-cycle
bug), and pulled in incidental complexity (std/cidrsubnet, provider
config, multi-module wiring). Replace them with the simple, self-
contained terraform-aws-modules/s3-bucket/aws module, which deploys
cleanly and better illustrates the mechanics of consuming a module.
Also:
- Reword the "How It Works" step that inaccurately described translating
Pulumi declarations to Terraform.
- Replace the obsolete "Configuring Terraform Providers" section (its
Provider({ aws }) pattern doesn't exist on the hcl provider) with a
note on ambient provider configuration.
- Fix the relative-paths troubleshooting example to use the runtime
loader, since the typed SDK mis-infers the Lambda module's source_path.
- Remove the Limitations and output-type sections (unverified against
the hcl provider) and the redundant Conclusion.
All examples compile-verified (go build, tsc, dotnet build).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fix a missing article and reword two awkward sentences in the Terraform-module guides. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Follows #20709, which renames `pulumi package add terraform-module` to `pulumi package add hcl module`. These are the Terraform-facing pages that PR does not touch but that still describe an incomplete picture of what shipped in the August 2026 release. - `convert-hcl.md` presented converting and the HCL runtime as the only two options. It now names three alternatives to converting: run `.tf` files natively, consume a module as a package via Any HCL Module, or publish to the Pulumi Cloud registry and get conversion for free (Enterprise or Business Critical to publish; reading works on any plan). - The `Pulumi for Terraform Users` landing page listed five of the section's eight topics, omitting the HCL runtime and the Pulumi Cloud state backend. - `what-is-a-terraform-module.md` described module reuse without naming the mechanism or the Cloud registry as a place modules can live. - Four links in `cdktf.md` pointed at the pre-move `/docs/iac/using-pulumi/extending-pulumi/use-terraform-module/` path. ## Test plan 1. Automated checks - `node scripts/lint/lint-markdown.js`: 1845 files parsed, 0 errors 2. Manual checks - Plan names and the `tf.pulumi.com` source form verified against `content/docs/idp/concepts/terraform-modules.md` - `pulumi package add hcl module` syntax verified against #20709 - Grepped the repo (excluding `content/blog/`) for remaining `package add terraform-module`, `source: terraform-module`, and `pulumi-terraform-module` references: none outside example directory names
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #20709 — review that one first; the diff here is against its branch.
#20709 renames
pulumi package add terraform-moduletopulumi package add hcl moduleacross the six pages that carried the old syntax. This PR picks up the Terraform-facing pages it doesn't touch, which still describe an incomplete picture of what shipped in the August 2026 release.get-started/terraform/convert-hcl.mdpresented converting and the HCL runtime as the only two options. It now names three alternatives to converting: run.tffiles natively, consume a module as a package via Any HCL Module, or publish to the Pulumi Cloud registry and get conversion for free.get-started/terraform/_index.mdlisted five of the section's eight topics, omitting the HCL runtime and the Pulumi Cloud state backend / remote execution pages that live in the same section.what-is/what-is-a-terraform-module.mddescribed module reuse without naming the mechanism or mentioning that Pulumi Cloud's registry is a place Terraform modules can live.comparisons/cdktf.mdhad four links to the pre-move/docs/iac/using-pulumi/extending-pulumi/use-terraform-module/path.Plan names ("Enterprise or Business Critical") and the
tf.pulumi.com/<namespace>/<name>/<system>source form are taken fromcontent/docs/idp/concepts/terraform-modules.md; thepulumi package add hcl modulesyntax from #20709.Test plan
node scripts/lint/lint-markdown.js: 1845 files parsed, 0 errorscontent/blog/) for remainingpackage add terraform-module,source: terraform-module, andpulumi-terraform-modulereferences: none outside example directory names