-
Notifications
You must be signed in to change notification settings - Fork 258
Open
Labels
kind/epicLarge new features or investmentsLarge new features or investments
Description
The overview page for each language (e.g. https://www.pulumi.com/docs/iac/languages-sdks/javascript/) except YAML should be about the basic requirements and capabilities of the language and include each of the following sections:
- Intro:
- Explain the main advantages of general purpose languages: familiar syntax, ability to consume packages from the language ecosystem, all tooling (IDEs, unit testing, etc.) works as-expected with no additional stuff (like plugins) required.
- Installation requirements
- Runtime: What versions do we support?
- Package managers: What versions do we support, and to what extent? (Made up example: npm is supported, bun is experimental)
- If applicable (Node, .NET, Java), what languages do we support on top of the runtime, and to what extent? (IOW, what's possible vs. explicitly supported by Pulumi.)
- Entrypoint:
- The fastest way to get started is to use
pulumi new $LANGUAGE. We have more templates that can be discovered viapulumi newwith no params, or you can initialize a Pulumi program by supplying a specific URL to thepulumi newcommand, and give an example. See thepulumi newcommand docs for full details. - Explain how the engine finds the entrypoint of a program written in the language.
- The fastest way to get started is to use
- Defining resources: Explain in brief what writing a Pulumi program entails
- Declare resources, usually using constructors (Go uses factory methods)
- Resources are immutable once declared in your program
- Stack outputs can be used to allow values in your program to be read from the command line or other Pulumi programs
- The Pulumi SDK provides constructs (? - find a better word here) for working with working with key Pulumi concepts like inputs and outputs, stack outputs, etc. (link to specific Concepts pages)
- Useful links (link where it's applicable in the text):
- Program execution:
- Explain that programs are most commonly executed via the Pulumi CLI
- Automation API allows you to flip this dependency and control the Pulumi CLI as if it was an SDK, allowing you to embed Pulumi operations in regular $LANGUAGE code and execute your Pulumi code like any other CLI program in $LANGUAGE.
- Standard links for every language:
- Pulumi SDK (explain what it contains), also note dev version support if needed
- Pulumi Policy SDK (if it exists for the language)
- See the Registry for docs and examples for specific resources tied to a given provider
- Unit testing
- Integration testing
- Additional links for any language-specific sub-pages (or put them inline when they are more relevant)
Individual issues for each language:
- Languages Pages Update: Node #16440
- Python: TODO
- Go: TODO
- .NET: TODO
- Java: TODO
Metadata
Metadata
Assignees
Labels
kind/epicLarge new features or investmentsLarge new features or investments