Skip to content

Conversation

@jkodroff
Copy link
Member

Restructured the inputs and outputs documentation with better organization and added explanations of key concepts:

  • Added introductory section explaining what inputs and outputs are
  • Added "Why are inputs and outputs necessary?" section with clear explanation of declarative vs. imperative programming
  • Reorganized content into logical sections: "Working with inputs," "Working with outputs," and "Using inputs and outputs together"
  • Enhanced outputs section with practical examples and SDK reference links
  • Clarified distinction between resource outputs and stack outputs
  • Removed redundant "Tracking dependencies" section (content now integrated into earlier sections)

🤖 Generated with Claude Code

Restructured the inputs and outputs documentation with better organization and added explanations of key concepts:

- Added introductory section explaining what inputs and outputs are
- Added "Why are inputs and outputs necessary?" section with clear explanation of declarative vs. imperative programming
- Reorganized content into logical sections: "Working with inputs," "Working with outputs," and "Using inputs and outputs together"
- Enhanced outputs section with practical examples and SDK reference links
- Clarified distinction between resource outputs and stack outputs
- Removed redundant "Tracking dependencies" section (content now integrated into earlier sections)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@claude
Copy link
Contributor

claude bot commented Oct 24, 2025

Documentation Review

This PR significantly improves the structure and clarity of the inputs/outputs documentation. The reorganization into logical sections with introductory explanations makes the content much more accessible. Overall, this is a strong improvement.

Issues Found

Line 142: Missing punctuation

The sentence ends with a colon instead of a period, which is inconsistent with the surrounding prose style.

Current:

Inputs are generally representations of the parameters to the underlying API call of any resource that Pulumi is managing. The simplest way to create a resource with its required inputs is to use a plain value, like a string:

Suggested:

Inputs are generally representations of the parameters to the underlying API call of any resource that Pulumi is managing. The simplest way to create a resource with its required inputs is to use a plain value, like a string.

Lines 58-64: Declarative vs. imperative explanation could be more concise

While accurate, the explanation of declarative vs. imperative programming is somewhat verbose. Consider tightening it to improve readability.

Current text is clear but could be condensed. For example:

## Why are inputs and outputs necessary?

Pulumi inputs and outputs enable declarative infrastructure management using general-purpose programming languages.

In imperative programming, you write explicit step-by-step instructions. For example: "create a VPC, wait for it, get its ID, then create a subnet using that ID."

In declarative programming, you describe the desired end state, and the system determines how to achieve it. For example: "I want a VPC and a subnet in that VPC"—and the system automatically creates the VPC first, waits for it to be ready, then creates the subnet.

Pulumi's input and output system enables this declarative approach by automatically tracking dependencies. When you pass an output from one resource as an input to another, Pulumi records that dependency and ensures resources are created, updated, or destroyed in the correct order.

Line 226: Redundant statement

The phrase "All resources created by Pulumi" could be simplified to "Resources" since the context is already clear.

Suggested:

## Working with outputs

Resources in Pulumi have properties returned from the cloud provider API. These values are called outputs.

Positive Changes

  • ✓ Excellent addition of "What are inputs and outputs?" section providing context upfront
  • ✓ "Why are inputs and outputs necessary?" section clarifies the declarative vs. imperative distinction
  • ✓ Clear separation into "Working with inputs," "Working with outputs," and "Using inputs and outputs together" sections
  • ✓ Good use of info notes callouts to distinguish resource outputs from stack outputs
  • ✓ All internal links verified (apply.md and all.md exist)
  • ✓ File ends with newline as required
  • ✓ Headings follow correct case conventions (H2+ in sentence case)
  • ✓ No spelling or grammar errors detected
  • ✓ Code examples maintained correctly

Recommendation

Approve with minor suggestions. The issues identified are minor style improvements that don't affect the technical accuracy or overall quality of the documentation.


Mention @claude if you'd like me to review additional changes or help implement these suggestions.

@pulumi-bot
Copy link
Collaborator

@pulumi-bot
Copy link
Collaborator

@pulumi-bot
Copy link
Collaborator

Copy link
Contributor

@CamSoper CamSoper left a comment

Choose a reason for hiding this comment

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

This is great, I have no notes. Thanks!

@jkodroff jkodroff merged commit 501fc3b into master Oct 27, 2025
11 checks passed
@jkodroff jkodroff deleted the jkodroff/clarify-inputs-outputs branch October 27, 2025 16:42
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.

4 participants