pulumi/pkg/codegen
Julien cfd7ce00ef
[Node.js] Allow specifiying dependencies for output invokes (#17632)
Provider functions that take inputs as arguments, and return an output
(aka output invokes), now allow specifying a `dependsOn` option. This
allows programs to ensure that invokes are executed after things they
depend on, similar to the [`depdendsOn` resource
option](https://www.pulumi.com/docs/iac/concepts/options/dependson/).

This is based on https://github.com/pulumi/pulumi/pull/16560 which was
reverted in https://github.com/pulumi/pulumi/pull/16642. Unlike the
previous PR, this only adds the `dependsOn` option to output invokes
(those that return an output, and use SDK invokeOutput function
internally).

https://github.com/pulumi/pulumi/discussions/17710

Fixes https://github.com/pulumi/pulumi/issues/17748
2024-11-20 16:03:11 +00:00
..
cgstrings Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
convert Bump gRPC dependencies and migrate `grpc.Dial` (#17701) 2024-11-06 18:36:10 +00:00
docs Add `codegen/docs.NewContext` and supported methods (#17711) 2024-11-07 17:02:12 +00:00
dotnet [PCL] Support generating invokes options from PCL for invokes (#17696) 2024-11-11 13:01:24 +00:00
gen_program_test Don't publish test code in `pkg/codegen` (#17517) 2024-10-09 11:09:54 +00:00
go [PCL] Support generating invokes options from PCL for invokes (#17696) 2024-11-11 13:01:24 +00:00
hcl2 [go/conformance] Fix l2-resource-primitives test (#17332) 2024-09-26 05:15:38 +00:00
nodejs [Node.js] Allow specifiying dependencies for output invokes (#17632) 2024-11-20 16:03:11 +00:00
pcl [Python] Allow specifiying dependencies for output invokes (#17751) 2024-11-20 12:28:41 +00:00
python [Python] Allow specifiying dependencies for output invokes (#17751) 2024-11-20 12:28:41 +00:00
report Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
schema Reject duplicate schema paths (#17797) 2024-11-18 16:21:09 +00:00
testing Reject duplicate schema paths (#17797) 2024-11-18 16:21:09 +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 :::