mirror of https://github.com/pulumi/pulumi.git
d00528918e
This adds a conformance test checking we can use map keys like "MY_KEY" and maintain their casing through program gen. For Python we need to simplify the type passed to genObjectConsExpression so that we can reliably determine the target type and check if it's a `TypedDict` or not, otherwise we might treat it as a plain object and preserve the keys, instead of `PyName`ing them. This deletes the "typeddict" test from the codegen tests. Firstly this is now covered by these conformance tests, secondly it wasn't actually valid because the schema it was testing against wasn't a valid schema, and the program snapshot was only how it was because of a bug in programgen. That bug is now fixed in this change which fixes https://github.com/pulumi/pulumi/issues/17294. --------- Co-authored-by: Julien Poissonnier <julien@caffeine.lu> |
||
---|---|---|
.. | ||
cgstrings | ||
convert | ||
docs | ||
dotnet | ||
gen_program_test | ||
go | ||
hcl2 | ||
nodejs | ||
pcl | ||
python | ||
report | ||
schema | ||
testing | ||
README.md | ||
docs.go | ||
docs_test.go | ||
programs.md | ||
sdks.md | ||
utilities.go | ||
utilities_test.go | ||
utilities_types.go |
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 :::