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. |
||
---|---|---|
.. | ||
aws-eks.pp | ||
aws-eks.pp.cs | ||
aws-eks.pp.go | ||
aws-eks.pp.py | ||
aws-eks.pp.ts | ||
aws-fargate.pp | ||
aws-fargate.pp.cs | ||
aws-fargate.pp.go | ||
aws-fargate.pp.py | ||
aws-fargate.pp.ts | ||
aws-s3-folder.pp | ||
aws-s3-folder.pp.cs | ||
aws-s3-folder.pp.go | ||
aws-s3-folder.pp.py | ||
aws-s3-folder.pp.ts | ||
aws-s3-logging.pp | ||
aws-s3-logging.pp.cs | ||
aws-s3-logging.pp.go | ||
aws-s3-logging.pp.py | ||
aws-s3-logging.pp.ts | ||
aws-webserver.pp | ||
aws-webserver.pp.cs | ||
aws-webserver.pp.go | ||
aws-webserver.pp.py | ||
aws-webserver.pp.ts | ||
aws.json | ||
resource-options.pp | ||
resource-options.pp.cs | ||
resource-options.pp.go | ||
resource-options.pp.py | ||
resource-options.pp.ts |