pulumi/pkg/codegen
Zaid Ajaj 04c49122c1
[TF circular reference] Allow specifying mutually dependant components in PCL (#17761)
Fixes #17760 by changing the condition to error out when encountering
circular references. For PCL components we don't error with a circular
ref when the components
 - are not self-referencing
 - have mutual dependencies with other components

Added unit tests to assert the new behavior 

Breaking the circular reference will be a responsibility of each of the
target languages we support.
2024-11-14 22:09:55 +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 [PCL] Support generating invokes options from PCL for invokes (#17696) 2024-11-11 13:01:24 +00:00
pcl [TF circular reference] Allow specifying mutually dependant components in PCL (#17761) 2024-11-14 22:09:55 +00:00
python [PCL] Support generating invokes options from PCL for invokes (#17696) 2024-11-11 13:01:24 +00:00
report Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
schema Implement plugin download cancellation (#17621) 2024-11-12 18:04:25 +00:00
testing [PCL] Support generating invokes options from PCL for invokes (#17696) 2024-11-11 13:01:24 +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 :::