pulumi/pkg/codegen
Zaid Ajaj f74a5dfec1
[nodejs] First-class output-versioned invokes (#17237)
### Description 

Partially addressing https://github.com/pulumi/pulumi/issues/12710

This PR extends the nodejs SDK with functions `invokeOutput` and
`invokeSingleOutput` which are the output-versioned equivalent of the
plain `invoke` and `invokeSingle`. The underlying implementation doesn't
rely on the plain one and properly implements output deserialization
such that secrets are maintained from the invoke response.

Then we extend the SDK-gen part of nodejs such that output-versioned
invokes use the new primitives `invokeOutput` and `invokeSingleOutput`
in their generated function body without wrapping the plain invoke.
2024-09-16 15:39:46 +00:00
..
cgstrings Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
convert Have `Host.Provider` accept a `PackageDescriptor` (#17244) 2024-09-12 13:17:30 +00:00
docs Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
dotnet Add packageReferences feature flag (#17153) 2024-09-13 14:32:53 +00:00
gen_program_test all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
go Add packageReferences feature flag (#17153) 2024-09-13 14:32:53 +00:00
hcl2 Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
nodejs [nodejs] First-class output-versioned invokes (#17237) 2024-09-16 15:39:46 +00:00
pcl Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
python Add packageReferences feature flag (#17153) 2024-09-13 14:32:53 +00:00
report Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
schema Have `Host.Provider` accept a `PackageDescriptor` (#17244) 2024-09-12 13:17:30 +00:00
testing Upgrade pulumi-dotnet to 3.67.1 (#17262) 2024-09-13 23:47:54 +00:00
README.md Document code generation concepts (#17162) 2024-09-05 13:12:59 +00:00
docs.go Support "lifting" single-valued method returns to their return type (#8111) 2021-10-01 11:33:02 -07:00
docs_test.go ci: radical idea - what if slow tests & no stdout makes GH consider runner dead? 2022-03-06 14:52:13 -08:00
programs.md Document code generation concepts (#17162) 2024-09-05 13:12:59 +00:00
sdks.md Document code generation concepts (#17162) 2024-09-05 13:12:59 +00:00
utilities.go Use slice.Prealloc instead of make([]T, 0, ...) 2023-06-29 11:27:50 +01:00
utilities_test.go ci: radical idea - what if slow tests & no stdout makes GH consider runner dead? 2022-03-06 14:52:13 -08:00
utilities_types.go Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00

README.md

(codegen)= (crosscode)=

Code generation

Code generation is essential to Pulumi's ability to support both a variety of programming languages and a variety of cloud providers. This package defines the core components of Pulumi's code generation functionality (known as Pulumi CrossCode). At a high level, code generation is used to manage three categories of output: SDKs, programs, and documentation. At a lower level, these all make use of a number of shared concepts such as schema and Pulumi Configuration Language (PCL).

:::{toctree} :maxdepth: 1 :titlesonly:

/pkg/codegen/sdks.md /pkg/codegen/programs.md /pkg/codegen/docs/README /pkg/codegen/schema/README /pkg/codegen/pcl/README :::