Skip to content

Update the Terraform module docs for the hcl provider - #20709

Merged
cnunciato merged 5 commits into
masterfrom
cnunciato/rename-terraform-module
Aug 6, 2026
Merged

Update the Terraform module docs for the hcl provider#20709
cnunciato merged 5 commits into
masterfrom
cnunciato/rename-terraform-module

Conversation

@cnunciato

@cnunciato cnunciato commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Updates the Terraform-module docs for the hcl provider (the Registry's "Any HCL Module" package):

  • Renames pulumi package add terraform-module to pulumi package add hcl module and refers to the package as "Any HCL Module" in prose; links it from the Terraform-to-Pulumi walkthrough.
  • Adds a section on loading a module at runtime with hcl.Module.
  • Switches the get-started and use-terraform-module examples from the VPC/RDS modules to the simpler, self-contained s3-bucket module (which deploys cleanly and avoids incidental complexity), and corrects example property names for the hcl-generated SDKs.
  • Uses @-delimited version syntax for Pulumi Cloud converted packages.
  • Replaces the obsolete "Configuring Terraform Providers" example with a note on ambient provider config, fixes the relative-paths troubleshooting to use the runtime loader, and drops sections that documented terraform-module-only behavior.

Examples compile-verified (go build, tsc, dotnet build).

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>
@cnunciato
cnunciato requested a review from iwahbe August 4, 2026 23:31
@cnunciato
cnunciato marked this pull request as ready for review August 4, 2026 23:31
@github-actions github-actions Bot added review:triaging Claude Triage is currently classifying the PR domain:docs PR touches technical docs domain:mixed PR touches more than one domain domain:blog PR touches blog posts or customer stories and removed review:triaging Claude Triage is currently classifying the PR labels Aug 4, 2026

## Load a module at runtime

Generating an SDK gives you strongly typed inputs and outputs, IDE completion, and a package you can pin and share across your team. When you'd rather trade that type safety for flexibility — for example, to load a module whose address isn't known until runtime — you can use the [`hcl` provider](/registry/packages/hcl/) instead of generating an SDK.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feel free to change the name of this if it should be called something else (the "HCL Module provider", maybe?).

@github-actions github-actions Bot added the review:in-progress Claude review is currently running label Aug 4, 2026
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Pre-merge Review — Last updated 2026-08-04T23:38:34Z

Tip

Summary: This PR renames the Terraform-module CLI invocation from pulumi package add terraform-module … to pulumi package add hcl module … across four docs pages and one blog post, and adds a new "Load a module at runtime" section to the Terraform-modules get-started page with hcl.Module examples in all six languages. The rename itself is right — the hcl provider is the current home for this functionality — but the rename was applied mechanically and kept a trailing package-name argument that the hcl provider does not accept. pulumi package add hcl module parameterizes as module <source> [version]; a third positional argument makes the provider return expected a source and an optional version constraint, got 3 arguments after "module", so every command line in this PR that ends in a package name (vpc, localmod, rdsmod, mylocalmod, <name>, <pulumi-package-name>) fails as written. That's the one class of wrongness that blocks a reader: they copy the command and it errors out immediately. Passes run: fact-check across 48 extracted claims, frontmatter sweep, Hugo/link preflight (skipped — content-only), code-examples specialists, Vale style, and a cross-sibling sweep of the comparisons and get-started peers.

Review confidence:

Dimension Level Notes
mechanics HIGH Frontmatter, links, and shortcodes clean; no Hugo or link-integrity findings.
facts HIGH The blocking finding was independently corroborated against pulumi-hcl's parameterize.go and pulumi's package_add.go, not just the verification step's output.
coherence HIGH New runtime-loading section reads well and is correctly positioned as the trade-off against SDK generation.
cross-sibling consistency MEDIUM Swept all 14 discovered siblings for pulumi package add usage (no hits) and read the authoritative hcl-component-reference.md, but did not read each sibling end-to-end.
code correctness HIGH All six hcl.Module snippets match the shapes published by the hcl provider's own registry docs.
Investigation log
  • Cross-sibling reads: 1 of 14 siblings read end-to-end; all 14 swept for pulumi package add usage (no hits), plus a targeted read of content/docs/iac/languages-sdks/hcl/hcl-component-reference.md as the authoritative command reference
  • External claim verification: 42 of 48 claims verified (0 unverifiable, 5 contradicted) · 4 specialists (numerical, cross-reference, capability, framing); 0 cross-specialist corroborations · routed: 0 inline, 46 Pass 1, 0 Pass 2, 2 Pass 3 (verified 1, contradicted 1, unverifiable 0).
  • Cited-claim spot-checks: not run (no cited claims)
  • Frontmatter sweep: ran on body + meta_desc
  • Temporal-trigger sweep: ran (recency words present in diff; spot-check in-review)
  • Code execution: not run (no static/programs/ change)
  • Code-examples checks: ran (3 specialists: structural, existence, body-code-coverage); 0 findings
  • Editorial-balance pass: ran (single-subject, N/A)
🚨 Outstanding ⚠️ Low-confidence 💡 Pre-existing ✅ Resolved
5 0 0 0

🔍 Verification trail

48 claims extracted · 42 verified · 0 unverifiable · 5 contradicted
  • L319 in content/blog/terraform-to-pulumi-cloud-hands-on/index.md "The @pulumi/hcl npm package can be installed via npm install @pulumi/hcl." → ✅ verified (evidence: pulumi/pulumi-hcl CHANGELOG (v0.13.0) states: "[runtime] Move to pulumi/pulumi-hcl; rename the SDK packages to @pulumi/hcl, pulumi_hcl and Pulumi.Hcl", and the registry doc + sibling blog post both `import * as hcl from "@pulumi/hc…; source: gh search code --owner pulumi "@pulumi/hcl" (pulumi/pulumi-hcl:CHANGELOG.md, pulumi/pulumi-hcl:registry/_index.md))
  • L319 in content/blog/terraform-to-pulumi-cloud-hands-on/index.md "There is a TypeScript module named @pulumi/hcl located at the registry path /registry/packages/hcl/." → ✅ verified (evidence: pulumi/registry repo contains themes/default/content/registry/packages/hcl/_index.md (rendered at /registry/packages/hcl/), which itself shows import * as hcl from "@pulumi/hcl";, and pulumi-hcl's changelog confirms the SDK package was r…; source: gh api repos/pulumi/registry/contents/themes/default/content/registry/packages/hcl (path exists); gh search code "@pulumi/hcl" showing pulumi/pulumi-hcl:registry/_index.md and CHANGELOG.md renaming SDK to @pulumi/hcl)
  • L321-322 in content/blog/terraform-to-pulumi-cloud-hands-on/index.md "The @pulumi/hcl module can be installed via npm install @pulumi/hcl." → ✅ verified (evidence: pulumi/pulumi-hcl changelog confirms "rename the SDK packages to @pulumi/hcl, pulumi_hcl and Pulumi.Hcl" and registry docs use import * as hcl from "@pulumi/hcl", confirming the npm package name matches the claim.; source: gh search code --owner pulumi "@pulumi/hcl" (pulumi/pulumi-hcl:.changes/v0.13.0.md, pulumi/pulumi-hcl:registry/_index.md))
  • L54 in content/docs/iac/comparisons/terraform-cloud.md "Pulumi programs in any language can consume Terraform modules natively using the command pulumi package add hcl module <source> <version> <name>, resolving f…" (also L92, L127) → ❌ contradicted (framing: Claim adds a nonexistent trailing <name> argument to the documented/implemented CLI signature <source> [version].; evidence: Official Pulumi source and docs consistently show the command signature as pulumi package add hcl module <source> [version] (e.g. pulumi-hcl parameterize.go: "parameterizeArgs handles pulumi package add hcl module <source> [version]",…; source: gh search code --owner pulumi "pulumi package add hcl module"; repo:pulumi/pulumi-hcl pkg/server/parameterize.go; content/docs/iac/languages-sdks/hcl/hcl-component-reference.md; intuition: The 4-token command signature with a trailing name arg doesn't match any documented or source-code form of this command.)
  • L56 in content/docs/iac/comparisons/terraform-cloud.md "Existing .tf consumers of a published module continue to resolve the module over the Terraform protocol after it is published to Pulumi Cloud's registry." → ✅ verified (evidence: The linked page content/docs/idp/concepts/terraform-modules.md states verbatim: "Conversion is additive: existing .tf consumers keep resolving the module over the Terraform protocol," matching the claim exactly.; source: repo:content/docs/idp/concepts/terraform-modules.md)
  • L56 in content/docs/iac/comparisons/terraform-cloud.md "Existing go-tfe or hashicorp/tfe provider pipelines can be pointed at tf.pulumi.com, supplied a Pulumi access token, and run unchanged." → ✅ verified (evidence: The Pulumi docs page content/docs/idp/concepts/terraform-modules.md states: "Pulumi Cloud's publish API is wire-compatible with HCP Terraform's private registry. Existing HCP migration tooling works unmodified, pointed at the new host," an…; source: repo:content/docs/idp/concepts/terraform-modules.md)
  • L90 in content/docs/iac/comparisons/terraform-cloud.md "In Terraform, reuse and abstraction are limited to the module system." → ✅ verified (framing: Source describes modules as Terraform's abstraction/reuse container without asserting exclusivity, but no competing abstraction mechanism is documented elsewhe…; evidence: Terraform's own documentation confirms modules are the primary reuse/abstraction construct: "You can use modules to create lightweight abstractions, so that you can describe your infrastructure in terms of its architecture, rather than dir…; source: https://www.terraform.io/docs/language/modules/develop/index.html)
  • L90 in content/docs/iac/comparisons/terraform-cloud.md "Pulumi supports Python, TypeScript, JavaScript, Go, C#, and Java as general-purpose languages, plus YAML." → ✅ verified (evidence: The Languages & SDKs index page states: "Pulumi supports TypeScript, JavaScript, Python, Go, .NET, Java, YAML, and HCL." This matches the claim's list of general-purpose languages (Python, TypeScript, JavaScript, Go, C#/.NET, Java) plus YA…; source: repo:content/docs/iac/languages-sdks/_index.md)
  • L90 in content/docs/iac/comparisons/terraform-cloud.md "Pulumi's general-purpose language support includes native testing, IDE support, and package management." → ➖ not-a-claim (evidence: This is a restatement of the document's own established positioning (line 68: "the testing frameworks, linters, and IDE tooling... your teams already rely on... dependency management through the same package managers"), consistent with Pul…; source: repo:content/docs/iac/comparisons/terraform-cloud.md (lines 68, 90))
  • L90 in content/docs/iac/comparisons/terraform-cloud.md "terraform test covers native unit testing for Terraform." → ✅ verified (evidence: HashiCorp's terraform test command (introduced in Terraform 1.6) is the native mechanism for writing and running unit/integration tests against Terraform configurations, matching the doc's characterization "terraform test covers native u…; source: content/docs/iac/comparisons/terraform-cloud.md L60, L90 (internal consistency) + general knowledge of HashiCorp's terraform test feature)
  • L92 in content/docs/iac/comparisons/terraform-cloud.md "The CLI command for pulling existing Terraform modules into a Pulumi program in any language is pulumi package add hcl module." → ✅ verified (evidence: The sibling doc terraform-modules.md documents pulumi package add hcl module <source> [version] as the command to add Terraform modules, and shows identical usage across TypeScript, Python, Go, C#, Java, and YAML examples, confirming it…; source: repo:content/docs/iac/get-started/terraform/terraform-modules.md; pulumi/registry:themes/default/content/registry/packages/hcl/_index.md)
  • L127 in content/docs/iac/comparisons/terraform-cloud.md "The command pulumi package add hcl module <source> <version> <name> makes a Terraform module available to a Pulumi program in any language, resolving from th…" → ❌ contradicted (framing: Claim invents a fourth CLI argument () not present in the actual command syntax pulumi package add hcl module <source> [version].; evidence: Actual command signature (per pulumi/pulumi-hcl registry/_index.md and pulumi/docs hcl-component-reference.md) is pulumi package add hcl module <source> [version] — there is no trailing <name> argument. E.g. "pulumi package add hcl mod…; source: gh api repos/pulumi/pulumi-hcl/contents/registry/_index.md; content/docs/iac/languages-sdks/hcl/hcl-component-reference.md; intuition: Command signature includes an extra arg that doesn't match the documented/source CLI usage.)
  • L129 in content/docs/iac/comparisons/terraform-cloud.md "Existing go-tfe or hashicorp/tfe provider pipelines can migrate to Pulumi Cloud's registry by changing the host to tf.pulumi.com." → ✅ verified (evidence: The linked concept page /docs/idp/concepts/terraform-modules/ states: "Pulumi Cloud's publish API is wire-compatible with HCP Terraform's private registry. Existing HCP migration tooling works unmodified, pointed at the new host," with wor…; source: repo:content/docs/idp/concepts/terraform-modules.md)
  • L129 in content/docs/iac/comparisons/terraform-cloud.md "The Pulumi Cloud registry's publish API is wire-compatible with HCP Terraform's publish API." → ✅ verified (evidence: The sibling docs page content/docs/idp/concepts/terraform-modules.md states verbatim: "Pulumi Cloud's publish API is wire-compatible with HCP Terraform's private registry. Existing HCP migration tooling works unmodified, pointed at the new…; source: repo:content/docs/idp/concepts/terraform-modules.md)
  • L18 in content/docs/iac/get-started/terraform/terraform-modules.md "Using existing Terraform modules via Pulumi allows access to thousands of existing modules without rewriting them in Pulumi." → ✅ verified (evidence: The pulumi-hcl provider README (pulumi/pulumi-hcl) confirms the hcl provider supports consuming Terraform modules from multiple sources including the Terraform Registry ("Terraform Registry, and HTTP archives... Modules map to Pulumi com…; source: gh api repos/pulumi/pulumi-hcl/contents/README.md; content/docs/iac/get-started/terraform/terraform-modules.md)
  • L18-19 in content/docs/iac/get-started/terraform/terraform-modules.md "The hcl provider turns any Terraform or OpenTofu module into a Pulumi component, either as a strongly typed SDK or loaded dynamically at runtime." → ✅ verified (evidence: pulumi-hcl README states "Modules map to Pulumi component resources... All source types are supported" and can be "published as reusable Pulumi components consumable from any language"; the schema doc describes "Instantiate a Terraform/Ope…; source: gh search code --owner pulumi repo:pulumi/pulumi-hcl "component" (README.md, pkg/server/module_resource_schema.go, pkg/server/module_resource.go))
  • L27 in content/docs/iac/get-started/terraform/terraform-modules.md "The CLI command pulumi package add hcl module <source> [version] [name] is the current syntax for adding a Terraform/OpenTofu module via the hcl provider (…" (also L30, L51, L167, L281, L418, L565, L709) → ✅ verified (evidence: The pulumi-hcl provider's own registry page confirms the syntax: "pulumi package add hcl module [version]" and "For example, pulumi package add hcl module terraform-aws-modules/vpc/aws 5.0.0". The reviewed doc file at all cited…; source: gh api repos/pulumi/pulumi-hcl/contents/registry/_index.md; gh search code --owner pulumi "add hcl module")
  • L30 in content/docs/iac/get-started/terraform/terraform-modules.md "The command pulumi package add hcl module ./path/to/module localmod adds a local module." → ✅ verified (evidence: pulumi-hcl's own registry docs confirm the command syntax pulumi package add hcl module <source> [version], and the CLI accepts a local path as <source> plus a trailing name argument; the parameterize.go source comments confirm this is…; source: gh search code --owner pulumi "pulumi package add hcl module"; pulumi/pulumi-hcl:registry/_index.md and pkg/server/parameterize.go)
  • L51 in content/docs/iac/get-started/terraform/terraform-modules.md "The command pulumi package add hcl module terraform-aws-modules/vpc/aws 6.0.0 vpc adds the VPC module referenced in this example." → ✅ verified (evidence: The pulumi-hcl registry source documents the exact syntax: "pulumi package add hcl module [version]" with the example "pulumi package add hcl module terraform-aws-modules/vpc/aws 5.0.0", confirming the command form used in the doc…; source: gh search code --owner pulumi pulumi-hcl:registry/_index.md; content/docs/iac/get-started/terraform/terraform-modules.md)
  • L167 in content/docs/iac/get-started/terraform/terraform-modules.md "The command pulumi package add hcl module terraform-aws-modules/vpc/aws 6.0.0 vpc adds the VPC module referenced in this example." → ✅ verified (evidence: The hcl provider registry docs show the exact syntax pulumi package add hcl module <source> [version] with example pulumi package add hcl module terraform-aws-modules/vpc/aws 5.0.0, and the same file consistently uses `pulumi package a…; source: pulumi/registry:themes/default/content/registry/packages/hcl/_index.md; content/docs/iac/get-started/terraform/terraform-modules.md L167)
  • L281 in content/docs/iac/get-started/terraform/terraform-modules.md "The command pulumi package add hcl module terraform-aws-modules/vpc/aws 6.0.0 vpc adds the VPC module referenced in this example." → ✅ verified (evidence: The hcl provider registry docs confirm the CLI syntax pulumi package add hcl module <source> [version], e.g. "pulumi package add hcl module terraform-aws-modules/vpc/aws 5.0.0", and this same doc consistently uses `pulumi package add hcl…; source: pulumi/registry:themes/default/content/registry/packages/hcl/_index.md; content/docs/iac/get-started/terraform/terraform-modules.md L281)
  • L418 in content/docs/iac/get-started/terraform/terraform-modules.md "The command pulumi package add hcl module terraform-aws-modules/vpc/aws 6.0.0 vpc adds the VPC module referenced in this example." → ✅ verified (evidence: The command syntax pulumi package add hcl module terraform-aws-modules/vpc/aws 6.0.0 vpc matches the documented CLI usage pattern pulumi package add hcl module <source> [version] found in pulumi/pulumi-hcl and pulumi/registry docs, and…; source: repo:content/docs/iac/get-started/terraform/terraform-modules.md; gh search code --owner pulumi "pulumi package add hcl module")
  • L565 in content/docs/iac/get-started/terraform/terraform-modules.md "The command pulumi package add hcl module terraform-aws-modules/vpc/aws 6.0.0 vpc adds the VPC module referenced in this example." → ✅ verified (evidence: The doc's own Java example at line 565 shows $ pulumi package add hcl module terraform-aws-modules/vpc/aws 6.0.0 vpc, consistent with the identical command used in every other language variant (TypeScript, Python, Go, C#, YAML) in the sa…)
  • L709 in content/docs/iac/get-started/terraform/terraform-modules.md "The command pulumi package add hcl module terraform-aws-modules/vpc/aws 6.0.0 vpc adds the VPC module referenced in this example." → ✅ verified (evidence: The CLI syntax pulumi package add hcl module <source> [version] is documented in pulumi/registry and pulumi/pulumi-hcl, and the exact command pulumi package add hcl module terraform-aws-modules/vpc/aws 6.0.0 vpc appears consistently at…; source: repo:content/docs/iac/get-started/terraform/terraform-modules.md (lines 27, 51, 167, 281, 418, 565, 709); pulumi/registry:themes/default/content/registry/packages/hcl/_index.md)
  • L813 in content/docs/iac/get-started/terraform/terraform-modules.md "The hcl provider is available at the registry path /registry/packages/hcl/." → ✅ verified (evidence: The pulumi/registry repo contains content/registry/packages/hcl/_index.md, confirming the hcl provider page is published at the /registry/packages/hcl/ path referenced in the doc's link "hcl provider".; source: gh api repos/pulumi/registry/contents/themes/default/content/registry/packages/hcl)
  • L813 in content/docs/iac/get-started/terraform/terraform-modules.md "You can use the hcl provider instead of generating an SDK when you want flexibility over type safety, such as when a module's address isn't known until runti…" → ✅ verified (evidence: The pulumi-hcl registry page (/registry/packages/hcl/) states: "The Module resource above takes its source at runtime, so its inputs and outputs are untyped maps. To get a strongly typed SDK for a specific module, generate a parameteri…; source: gh api repos/pulumi/registry/contents/themes/default/content/registry/packages/hcl/_index.md)
  • L815 in content/docs/iac/get-started/terraform/terraform-modules.md "The Module resource constructor takes a module source, an optional version, and a map of inputs." → ✅ verified (evidence: The pulumi-hcl registry README (registry/_index.md) states: "Point the Module resource at a module source — a Terraform registry reference, a Git URL, or a local path — pass its input variables, and consume its outputs" and shows the con…; source: gh api repos/pulumi/pulumi-hcl/contents/registry/_index.md)
  • L815 in content/docs/iac/get-started/terraform/terraform-modules.md "The Module resource exposes the module's outputs as an untyped map." → ✅ verified (evidence: pulumi-hcl's module_resource_schema.go defines outputs as mapOfAny() — a TypeSpec of type "object" with AdditionalProperties: {Ref: "pulumi.json#/Any"} — described as "The module's output values, keyed by output name." This is exactl…; source: gh api repos/pulumi/pulumi-hcl/contents/pkg/server/module_resource_schema.go)
  • L815 in content/docs/iac/get-started/terraform/terraform-modules.md "The hcl provider's Module resource can be used to load a desired module at runtime after adding the hcl provider to your project." → ✅ verified (evidence: pulumi-hcl changelog v0.8.0: "[resource-host] Add the pulumi-resource-hcl provider, exposing an hcl:index:Module resource that instantiates a module from a runtime source"; docs sample shows importing @pulumi/hcl and using hcl.Module after…; source: gh_query: pulumi/pulumi-hcl:.changes/v0.8.0.md and content/docs/iac/get-started/terraform/terraform-modules.md lines 811-963)
  • L822-835 in content/docs/iac/get-started/terraform/terraform-modules.md "In TypeScript, the hcl provider's module is imported as @pulumi/hcl and instantiated via new hcl.Module(name, { source, version, inputs }), with outputs…" → ✅ verified (evidence: The pulumi/pulumi-hcl registry docs (registry/_index.md) show the exact TypeScript example: import * as hcl from "@pulumi/hcl"; ... const vpc = new hcl.Module("vpc", { source: "...", version: "5.0.0", inputs: {...} }); ... `export cons…; source: gh api repos/pulumi/pulumi-hcl/contents/registry/_index.md)
  • L826-827 in content/docs/iac/get-started/terraform/terraform-modules.md "The example VPC module used across all language examples is terraform-aws-modules/vpc/aws version 6.0.0." (also L846-847, L871-872, L900-901, L932-933, L956-957) → ✅ verified (evidence: The doc consistently uses terraform-aws-modules/vpc/aws version 6.0.0 across all language examples (TypeScript L826-827, Python L845-847, Go L871-872, C# L900-901, Java L932-933, YAML L956-957), and GitHub confirms v6.0.0 is a real pub…; source: gh api repos/terraform-aws-modules/terraform-aws-vpc/releases/tags/v6.0.0; repo:content/docs/iac/get-started/terraform/terraform-modules.md)
  • L841-853 in content/docs/iac/get-started/terraform/terraform-modules.md "In Python, the hcl provider's Module resource is imported from pulumi_hcl and instantiated as hcl.Module('vpc', source=..., version=..., inputs={...}),…" → ✅ verified (evidence: The upstream pulumi-hcl registry docs (registry/_index.md) show the identical Python example: "import pulumi_hcl as hcl\n\nvpc = hcl.Module("vpc",\n source="terraform-aws-modules/vpc/aws",\n version="5.0.0",\n inputs={...})\…; source: gh api repos/pulumi/pulumi-hcl/contents/registry/_index.md (master))
  • L860-885 in content/docs/iac/get-started/terraform/terraform-modules.md "In Go, the hcl provider package is github.com/pulumi/pulumi-hcl/sdk/go/hcl, and a module is created via hcl.NewModule(ctx, name, &hcl.ModuleArgs{Source, V…" → ✅ verified (evidence: pulumi/pulumi-hcl registry/_index.md Go example imports "github.com/pulumi/pulumi-hcl/sdk/go/hcl" and calls vpc, err := hcl.NewModule(ctx, "vpc", &hcl.ModuleArgs{Source: "...", Version: pulumi.StringRef("5.0.0"), Inputs: pulumi.Map{...}})…; source: gh api repos/pulumi/pulumi-hcl/contents/registry/_index.md)
  • L891-914 in content/docs/iac/get-started/terraform/terraform-modules.md "In C#, the hcl provider namespace is Pulumi.Hcl, and a module is created via new Module(name, new ModuleArgs { Source, Version, Inputs }), with outputs a…" → ✅ verified (evidence: The pulumi/pulumi-hcl registry docs C# example shows: using Pulumi.Hcl; ... var vpc = new Module(\"vpc\", new ModuleArgs { Source = \"...\", Version = \"5.0.0\", Inputs = {...} }); and vpc.Outputs.Apply(o => o[\"vpc_id\"]), matching…; source: gh api repos/pulumi/pulumi-hcl/contents/registry/_index.md (master))
  • L920-943 in content/docs/iac/get-started/terraform/terraform-modules.md "In Java, the hcl provider is imported via com.pulumi.hcl.Module and com.pulumi.hcl.ModuleArgs, and a module is created via `new Module(name, ModuleArgs.b…" → ✅ verified (evidence: The pulumi/pulumi-hcl registry doc's Java example shows exactly this pattern: "import com.pulumi.hcl.Module; import com.pulumi.hcl.ModuleArgs;" then "var vpc = new Module("vpc", ModuleArgs.builder().source("terraform-aws-modules/vpc/aws…; source: gh api repos/pulumi/pulumi-hcl/contents/registry/_index.md (java choosable section))
  • L949-963 in content/docs/iac/get-started/terraform/terraform-modules.md "In a Pulumi YAML program, the hcl provider's module resource type is hcl:index:Module, configured with properties.source, properties.version, and prop…" → ✅ verified (evidence: pulumi-hcl registry docs (registry/_index.md) show the identical YAML shape: type: hcl:index:Modulewithproperties: source, version, inputsandoutputs: vpcId: ${vpc.outputs["vpc_id"]}`. The pulumi-hcl source confirms the resource to…; source: pulumi/pulumi-hcl:registry/_index.md; pulumi/pulumi-hcl:pkg/server/module_resource_schema.go)
  • L53-56 in content/docs/iac/guides/building-extending/using-existing-tools/use-terraform-module.md "To use a Terraform module in Pulumi, you add it to your project using the pulumi package add hcl module <module-source> [<version>] <pulumi-package-name> com…" → ❌ contradicted (framing: Claim adds a required trailing <pulumi-package-name> argument to the CLI invocation that the actual parameterize-args parser does not accept; source only sup…; evidence: The pulumi-hcl provider source (pkg/server/parameterize.go) parses pulumi package add hcl module <source> [version] and explicitly rejects any other argument count with the error: "the hcl provider is parameterized as "module […; source: gh api repos/pulumi/pulumi-hcl/contents/pkg/server/parameterize.go; gh api repos/pulumi/pulumi-hcl/contents/registry/_index.md; intuition: The extra trailing package-name argument doesn't match the provider's own documented/parsed syntax, which caps at 2 arg…)
  • L65-68 in content/docs/iac/guides/building-extending/using-existing-tools/use-terraform-module.md "The AWS VPC module from the Terraform Registry can be added with the command pulumi package add hcl module terraform-aws-modules/vpc/aws 5.19.0 vpc." → ✅ verified (evidence: pulumi-hcl registry docs confirm the exact CLI syntax pulumi package add hcl module <source> [version] with terraform-aws-modules/vpc/aws as an example module source, and the docs page consistently uses `terraform-aws-modules/vpc/aws 5…; source: gh search code --owner pulumi "pulumi package add hcl module" (pulumi/pulumi-hcl:registry/_index.md, pulumi/docs:content/docs/iac/languages-sdks/hcl/hcl-component-reference.md))
  • L71 in content/docs/iac/guides/building-extending/using-existing-tools/use-terraform-module.md "Running the pulumi package add hcl module command generates a local SDK in your programming language that you can import into your Pulumi program." → ✅ verified (evidence: The pulumi/pulumi-hcl registry docs (mirrored in pulumi/registry) state: "pulumi package add hcl module terraform-aws-modules/vpc/aws 5.0.0 generates a local SDK whose resource exposes that module's variables and outputs as first-class, ty…; source: gh api repos/pulumi/registry/contents/themes/default/content/registry/packages/hcl/_index.md (mirrors pulumi/pulumi-hcl registry/_index.md))
  • L79-82 in content/docs/iac/guides/building-extending/using-existing-tools/use-terraform-module.md "Local Terraform modules can be added using the command pulumi package add hcl module ./path/to/module localmod." → ✅ verified (evidence: The registry docs and pulumi-hcl repo confirm the syntax pulumi package add hcl module <source> [version] and the same file's own example shows the full form `pulumi package add hcl module [] <pulumi-package-name…; source: gh search code --owner pulumi "pulumi package add hcl module"; pulumi/registry:themes/default/content/registry/packages/hcl/_index.md)
  • L85 in content/docs/iac/guides/building-extending/using-existing-tools/use-terraform-module.md "Any directory containing .tf files, and optionally variables.tf and outputs.tf, is considered a valid Terraform module." → ✅ verified (evidence: The pulumi/pulumi-terraform-module README states verbatim: "Local modules are supported. Any directory with .tf files and optionally variables.tf and outputs.tf is a module." This matches the doc's claim almost word for word.; source: gh search code --owner pulumi repo:pulumi/pulumi-terraform-module "variables.tf" (README.md))
  • L105-109 in content/docs/iac/guides/building-extending/using-existing-tools/use-terraform-module.md "The AWS RDS module (version 6.10.0) can be installed with the command pulumi package add hcl module terraform-aws-modules/rds/aws 6.10.0 rdsmod." → ✅ verified (evidence: The doc's own general syntax section states pulumi package add hcl module <module-source> [<version>] <pulumi-package-name>, matching the exact form used in the example: `pulumi package add hcl module terraform-aws-modules/rds/aws 6.10.0…; source: repo:content/docs/iac/guides/building-extending/using-existing-tools/use-terraform-module.md and pulumi/registry:themes/default/content/registry/packages/hcl/_index.md)
  • L112 in content/docs/iac/guides/building-extending/using-existing-tools/use-terraform-module.md "After running pulumi package add hcl module commands, the project's Pulumi.yaml file is updated and any necessary dependencies are added to the project." → ✅ verified (evidence: Pulumi CLI source (pkg/cmd/pulumi/packagecmd/package_add.go) states: "When run inside a Pulumi project or plugin, the package is also recorded in Pulumi.yaml or PulumiPlugin.yaml." The code path calls packages.InstallPackage and target.pro…; source: gh api repos/pulumi/pulumi/contents/pkg/cmd/pulumi/packagecmd/package_add.go)
  • L303-306 in content/docs/iac/guides/migration/migrating-to-pulumi/from-terraform.md "Adding a Terraform module to a Pulumi project via pulumi package add hcl module generates a local SDK in the user's programming language that can be imported…" → ✅ verified (evidence: Both the Pulumi registry docs and pulumi-hcl source confirm: pulumi package add hcl module <source> [version] and the docs state it "will generate a local SDK in your programming language that you can import into your Pulumi program... u…; source: gh search code --owner pulumi "pulumi package add hcl module"; repo:content/docs/iac/guides/migration/migrating-to-pulumi/from-terraform.md)
  • L309-312 in content/docs/iac/guides/migration/migrating-to-pulumi/from-terraform.md "The command pulumi package add hcl module terraform-aws-modules/vpc/aws 5.19.0 vpc adds the AWS VPC module from the Terraform Registry to a Pulumi project." → ❌ contradicted (framing: Claim asserts a specific CLI invocation with 4 positional args is valid/functional; source code shows the CLI only supports 2 positional args (source, version)…; evidence: The actual pulumi-hcl provider source (pkg/server/parameterize.go, parameterizeArgs) only accepts 1 or 2 arguments after "module" — source and an optional version. Code: `switch rest := args[1:]; len(rest) { case 1: source = rest[0]; case…; source: gh api repos/pulumi/pulumi-hcl/contents/pkg/server/parameterize.go (parameterizeArgs function); intuition: Sibling docs (hcl-component-reference.md, registry _index.md) all use the 2-arg form without a trailing package name, m…)
  • L315 in content/docs/iac/guides/migration/migrating-to-pulumi/from-terraform.md "Using pulumi package add hcl module to add a Terraform module generates a local SDK in the user's programming language that can be imported into a Pulumi pro…" → ✅ verified (evidence: The sibling hcl-component-reference.md doc confirms: "Pulumi downloads the module and every module it references, bundles the tree into the package so it resolves without further network access, and generates the SDK... Once added, the com…; source: repo:content/docs/iac/languages-sdks/hcl/hcl-component-reference.md)
  • L439-443 in content/docs/iac/guides/migration/migrating-to-pulumi/from-terraform.md "The pulumi package add hcl module feature works with local Terraform modules, using the command pulumi package add hcl module ./path/to/module mylocalmod." → ❌ contradicted (framing: Claim invents a command name ('hcl module') not used anywhere in Pulumi's docs/product source; correct command is 'terraform-module', not 'hcl module'.; evidence: (escalated from pass1 after exhausting its 12-turn cap) The official docs and GitHub README consistently show the command as pulumi package add terraform-module ./path/to/module mylocalmod, not pulumi package add hcl module. Pulumi's l…; source: https://www.pulumi.com/docs/iac/adopting-pulumi/migrating-to-pulumi/from-terraform/; intuition: Command name 'pulumi package add hcl module' does not match any documented Pulumi CLI subcommand; likely a mis-transcri…)
  • L445 in content/docs/iac/guides/migration/migrating-to-pulumi/from-terraform.md "There is a guide titled 'Use a Terraform Module in Pulumi' located at /docs/iac/guides/building-extending/using-existing-tools/use-terraform-module/ that provi…" → ✅ verified (evidence: The target file content/docs/iac/guides/building-extending/using-existing-tools/use-terraform-module.md has title "Use a Terraform Module in Pulumi" and its path corresponds exactly to the linked URL /docs/iac/guides/building-extending/usi…; source: repo:content/docs/iac/guides/building-extending/using-existing-tools/use-terraform-module.md)

📊 Editorial balance

Single-subject post; balance check N/A.

🚨 Outstanding in this PR

These must be resolved or refuted before merging.

  • [L54] content/docs/iac/comparisons/terraform-cloud.md"Pulumi programs in any language can consume Terraform modules natively using the command pulumi package add hcl module <source> <version> <name>, resolving f…" — verdict: contradicted; framing: Claim adds a nonexistent trailing <name> argument to the documented/implemented CLI signature <source> [version].; evidence: Official Pulumi source and docs consistently show the command signature as pulumi package add hcl module <source> [version] (e.g. pulumi-hcl parameterize.go: "parameterizeArgs handles pulumi package add hcl module <source> [version]",…; source: gh search code --owner pulumi "pulumi package add hcl module"; repo:pulumi/pulumi-hcl pkg/server/parameterize.go; content/docs/iac/languages-sdks/hcl/hcl-component-reference.md; intuition: The 4-token command signature with a trailing name arg doesn't match any documented or source-code form of this command.

    Confirmed. The terraform-module provider took a trailing package name; the hcl provider does not. pulumi package add passes everything after the provider name straight through as parameterization arguments, and hcl's parameterizer accepts only module <source> [version] — a third positional argument is rejected outright. Drop the <name>:

    -Pulumi programs in any language can [consume Terraform modules natively](/docs/iac/get-started/terraform/terraform-modules/) with `pulumi package add hcl module <source> <version> <name>`, resolving from the Terraform Registry, a private registry, or a local path.
    +Pulumi programs in any language can [consume Terraform modules natively](/docs/iac/get-started/terraform/terraform-modules/) with `pulumi package add hcl module <source> [version]`, resolving from the Terraform Registry, a private registry, or a local path.

    The same trailing-name form needs removing everywhere else the rename touched it — see the other bullets in this section, and the eight command lines in content/docs/iac/get-started/terraform/terraform-modules.md (L27, L30, L51, L167, L281, L418, L565, L709), each of which ends in vpc or localmod.

  • [L127] content/docs/iac/comparisons/terraform-cloud.md"The command pulumi package add hcl module <source> <version> <name> makes a Terraform module available to a Pulumi program in any language, resolving from th…" — verdict: contradicted; framing: Claim invents a fourth CLI argument () not present in the actual command syntax pulumi package add hcl module <source> [version].; evidence: Actual command signature (per pulumi/pulumi-hcl registry/_index.md and pulumi/docs hcl-component-reference.md) is pulumi package add hcl module <source> [version] — there is no trailing <name> argument. E.g. "pulumi package add hcl mod…; source: gh api repos/pulumi/pulumi-hcl/contents/registry/_index.md; content/docs/iac/languages-sdks/hcl/hcl-component-reference.md; intuition: Command signature includes an extra arg that doesn't match the documented/source CLI usage.

    Confirmed — same root cause as the L54 finding, in the FAQ answer. Because this page carries faq_schema frontmatter, the wrong command also ends up in the page's structured FAQ markup, where answer engines can lift it verbatim. Worth fixing carefully:

    -Yes, without modifying them. `pulumi package add hcl module <source> <version> <name>` makes a module available to a Pulumi program in any language, resolving from the Terraform Registry, a private registry, or a local path.
    +Yes, without modifying them. `pulumi package add hcl module <source> [version]` makes a module available to a Pulumi program in any language, resolving from the Terraform Registry, a private registry, or a local path.
  • [L53-56] content/docs/iac/guides/building-extending/using-existing-tools/use-terraform-module.md"To use a Terraform module in Pulumi, you add it to your project using the pulumi package add hcl module <module-source> [<version>] <pulumi-package-name> com…" — verdict: contradicted; framing: Claim adds a required trailing <pulumi-package-name> argument to the CLI invocation that the actual parameterize-args parser does not accept; source only sup…; evidence: The pulumi-hcl provider source (pkg/server/parameterize.go) parses pulumi package add hcl module <source> [version] and explicitly rejects any other argument count with the error: "the hcl provider is parameterized as "module […; source: gh api repos/pulumi/pulumi-hcl/contents/pkg/server/parameterize.go; gh api repos/pulumi/pulumi-hcl/contents/registry/_index.md; intuition: The extra trailing package-name argument doesn't match the provider's own documented/parsed syntax, which caps at 2 arg…

    Confirmed, and this one matters most: it's the page's canonical syntax line, so every example below it inherits the wrong shape.

    -pulumi package add hcl module <module-source> [<version>] <pulumi-package-name>
    +pulumi package add hcl module <module-source> [<version>]

    Then drop the trailing name from this page's three worked examples too — … terraform-aws-modules/vpc/aws 5.19.0 vpc (L65-68), … ./path/to/module localmod (L79-82), and … terraform-aws-modules/rds/aws 6.10.0 rdsmod (L105-109). The hcl provider derives the package name from the module source itself, so there's nothing to replace the argument with. Compare content/docs/iac/languages-sdks/hcl/hcl-component-reference.md L121, which already uses the two-argument form.

  • [L309-312] content/docs/iac/guides/migration/migrating-to-pulumi/from-terraform.md"The command pulumi package add hcl module terraform-aws-modules/vpc/aws 5.19.0 vpc adds the AWS VPC module from the Terraform Registry to a Pulumi project." — verdict: contradicted; framing: Claim asserts a specific CLI invocation with 4 positional args is valid/functional; source code shows the CLI only supports 2 positional args (source, version)…; evidence: The actual pulumi-hcl provider source (pkg/server/parameterize.go, parameterizeArgs) only accepts 1 or 2 arguments after "module" — source and an optional version. Code: `switch rest := args[1:]; len(rest) { case 1: source = rest[0]; case…; source: gh api repos/pulumi/pulumi-hcl/contents/pkg/server/parameterize.go (parameterizeArgs function); intuition: Sibling docs (hcl-component-reference.md, registry _index.md) all use the 2-arg form without a trailing package name, m…

    Confirmed. Same trailing-argument problem in the migration guide's step-by-step:

    -$ pulumi package add hcl module terraform-aws-modules/vpc/aws 5.19.0 vpc
    +$ pulumi package add hcl module terraform-aws-modules/vpc/aws 5.19.0

    If the surrounding prose refers to the module by the name that argument used to set, reword it to point at the generated package name the provider chooses instead.

  • [L439-443] content/docs/iac/guides/migration/migrating-to-pulumi/from-terraform.md"The pulumi package add hcl module feature works with local Terraform modules, using the command pulumi package add hcl module ./path/to/module mylocalmod." — verdict: contradicted; framing: Claim invents a command name ('hcl module') not used anywhere in Pulumi's docs/product source; correct command is 'terraform-module', not 'hcl module'.; evidence: (escalated from pass1 after exhausting its 12-turn cap) The official docs and GitHub README consistently show the command as pulumi package add terraform-module ./path/to/module mylocalmod, not pulumi package add hcl module. Pulumi's l…; source: https://www.pulumi.com/docs/iac/adopting-pulumi/migrating-to-pulumi/from-terraform/; intuition: Command name 'pulumi package add hcl module' does not match any documented Pulumi CLI subcommand; likely a mis-transcri…

    Confirmed, but for a different reason than recorded above. The hcl module rename this PR makes is correct — the recorded evidence came from the currently published page, which predates the rename, so the "should be terraform-module" part of that verdict is stale. The real problem on this line is the same trailing package name as the other findings:

    -pulumi package add hcl module ./path/to/module mylocalmod
    +pulumi package add hcl module ./path/to/module

⚠️ Low-confidence

No low-confidence findings.

💡 Pre-existing issues in touched files (optional)

No pre-existing issues in touched files.

✅ Resolved since last review

No items resolved since the last review.

📜 Review history

  • 2026-08-04T23:38:34Z — The terraform-modulehcl module rename is correct, but 5 blocking findings: the renamed commands keep a trailing package-name argument that the hcl provider rejects, so they fail as written across all four docs pages (1526853)

  • Refresh this review — comment @claude #update-review. Say what you fixed, or which finding you dispute and why; both work in the same mention.
  • Ask for anything else — comment @claude with no hashtag (questions, one-off fixes). Leaves this review untouched.

Important

Please don't hide, resolve, or delete this comment! It breaks things!

📖 How pre-merge review works — the full lifecycle, short-circuits, and escape hatches.

@github-actions github-actions Bot added review:outstanding-issues Claude review completed; outstanding has author-actionable findings and removed review:in-progress Claude review is currently running labels Aug 4, 2026
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Social Media Review

content/blog/terraform-to-pulumi-cloud-hands-on/index.md

X — missing

LinkedIn — missing

Bluesky — missing

  • No social: block in frontmatter at all — the post would not be promoted on any platform.
  • Copy drafted from the blog body below for all three platforms.

Suggested copy

X (237/255 chars):

We took one small Terraform project — a single S3 bucket — and moved it into Pulumi Cloud without rewriting a line: its state, a published module, then consumed from TypeScript and from native HCL.

Here's the step-by-step walkthrough.

LinkedIn (664/2950 chars):

A Terraform project usually comes with real history: state that has been through dozens of applies, and modules your team wrote and maintains. Moving to Pulumi has traditionally meant leaving that behind and starting fresh.

We walked one small project through the alternative. A single S3 bucket, provisioned with Terraform, had its state moved into Pulumi Cloud, now running remotely with human-approved deploys. The module behind it got published to a shared registry, then consumed from a TypeScript program, and again from HCL, now a first-class language in the Pulumi engine.

Same module, three languages, zero rewrites.

Here is the full step-by-step tour.

Bluesky (240/300 chars):

A single Terraform-managed S3 bucket, walked end to end into Pulumi Cloud: its state migrated, its module published to a shared registry, then reused from a TypeScript program and from native HCL, no rewrites.

Full step-by-step tour below.


Updated for commit 15268536fc4face11c23e51158e20515a161b8e9 (short: 1526853) at $(date -u '+%Y-%m-%d %H:%M UTC').

@iwahbe iwahbe left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I marked a bunch of them, but there are more. pulumi package add hcl module takes inputs in this shape:

pulumi package add hcl module <source> [version]

sources is required. version` is optional. There is no way now to pass a name, and doing so will error:

𝛌 pulumi package add hcl module terraform-aws-modules/vpc/aws 6.0.0 vpc
error: failed to get schema: parameterize: rpc error: code = InvalidArgument desc = the hcl provider is parameterized as "module <source> [version]": expected a source and an optional version constraint, got 3 arguments after "module"

Comment thread content/docs/iac/comparisons/terraform-cloud.md Outdated
Comment thread content/docs/iac/comparisons/terraform-cloud.md Outdated
```bash
# Add a module from the Terraform Registry
$ pulumi package add terraform-module terraform-aws-modules/vpc/aws 6.0.0 vpc
$ pulumi package add hcl module terraform-aws-modules/vpc/aws 6.0.0 vpc

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
$ pulumi package add hcl module terraform-aws-modules/vpc/aws 6.0.0 vpc
$ pulumi package add hcl module terraform-aws-modules/vpc/aws 6.0.0

Comment thread content/docs/iac/get-started/terraform/terraform-modules.md Outdated
Comment thread content/docs/iac/get-started/terraform/terraform-modules.md Outdated
Comment thread content/docs/iac/get-started/terraform/terraform-modules.md Outdated
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>
@github-actions github-actions Bot added review:stale New commits since last Claude review; refresh on next ready-transition or @claude mention and removed review:outstanding-issues Claude review completed; outstanding has author-actionable findings labels Aug 5, 2026
@cnunciato
cnunciato requested a review from iwahbe August 5, 2026 22:17
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>
@cnunciato

cnunciato commented Aug 5, 2026

Copy link
Copy Markdown
Contributor Author

@iwahbe Ok, I think this is all good now. Some of the code was outdated as well, so I've corrected that — but you might notice that the examples now use a different module (terraform-aws-modules/s3-bucket/aws), because during testing, I hit a failure:

➜ pulumi preview 
Previewing update (dev)

View in Browser (Ctrl+O): https://app.pulumi.com/cnunciato/pulumi-terraform-modules-test/dev/previews/c5e9e988-e6d1-4e42-87ef-cf5048fc003a

     Type                 Name                               Plan       Info
 +   pulumi:pulumi:Stack  pulumi-terraform-modules-test-dev  create     1 error
 +   └─ vpc:index:Module  my-vpc                             create     

Diagnostics:
  pulumi:pulumi:Stack (pulumi-terraform-modules-test-dev):
    error: vpc:index:Module resource 'my-vpc' has a problem: executing module "vpc": materializing expansion cells: Cycle found

This also happens with the terraform-aws-modules/ec2-instance/aws module, so I'm guessing it may be some sort of a side-by-side/collision issue with the Pulumi AWS provider.

Filed pulumi/pulumi-hcl#514.

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>
@cnunciato
cnunciato requested a review from CamSoper August 6, 2026 02:47
@cnunciato cnunciato changed the title Rename package add command to hcl module and document runtime loading Update the Terraform module docs for the hcl provider Aug 6, 2026
@cnunciato
cnunciato requested a review from fnune August 6, 2026 08:47

@CamSoper CamSoper left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great, Chris!

@cnunciato
cnunciato merged commit fcebb5a into master Aug 6, 2026
14 checks passed
@cnunciato
cnunciato deleted the cnunciato/rename-terraform-module branch August 6, 2026 15:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

domain:blog PR touches blog posts or customer stories domain:docs PR touches technical docs domain:mixed PR touches more than one domain review:stale New commits since last Claude review; refresh on next ready-transition or @claude mention

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants