69ba47cff2
The PCL binder has supported resource options for some time, but these options haven't been used or processed by the various code generators. These options--particularly the parent and provider options0--are critical for import codegen. These changes implement the basic set of options, and add a note about fleshing out the rest as necessary. One component of these changes is a new rewriter that rewrites property references into property paths that are understood by the Pulumi engine. This rewriter is used to preprocess the contents of the `ignoreChanges` resource option. These changes also hack around a weakness in the HCL2 type system: In Go, references to resources should be typed as `hcl2.ResourceType`. Unfortunately, this breaks the existing collection semantics associated with resources. Because of this, the Go code generator does not have enough information to know that it should generate a `[]pulumi.Resource` for lists of resources. These changes hack around that limitation using a Go-specific opaque type and some hardcoded comparisons in `argumentTypeName`. Fixes #4923. |
||
---|---|---|
.. | ||
doc.go | ||
doc_test.go | ||
gen.go | ||
gen_intrinsics.go | ||
gen_program.go | ||
gen_program_expressions.go | ||
gen_program_lower.go | ||
gen_program_test.go | ||
importer.go | ||
utilities.go |