pulumi / pulumi-yaml

YAML language provider for Pulumi
Apache License 2.0
38 stars 11 forks source link

Unable to access nested values during preview #489

Closed iwahbe closed 1 year ago

iwahbe commented 1 year ago

What happened?

I saw the bridge's CI fail: https://github.com/pulumi/pulumi-terraform-bridge/issues/1335. I investigated and found this issue. Bisecting shows that https://github.com/pulumi/pulumi-yaml/pull/483 is the culprit.

Expected Behavior

That a type-checked program doesn't see access errors such as those show below.

Steps to reproduce

Run pulumi preview on the following program:

name: repro
runtime: yaml
resources:
  res:
    type: aws:cognito:UserPool
outputs:
  actual: ${res.schemas[0]}

On v1.2.0 I get this:

𝛌 AWS_REGION=us-west-2 pulumi preview
Previewing update (test)

View in Browser (Ctrl+O): https://app.pulumi.com/pulumi/stack/test/previews/1c24a489-8c94-4daa-ba56-c891eb9f7534

     Type                     Name                     Plan       Info
 +   pulumi:pulumi:Stack      secret-random-yaml-test  create     2 errors
 +   └─ aws:cognito:UserPool  res                      create     

Diagnostics:
  pulumi:pulumi:Stack (secret-random-yaml-test):
    error: receiver must be a list or object, not pulumi.AnyOutput

      on Pulumi.yaml line 17:
      17:   actual: ${res.schemas[0]}
    error: an unhandled error occurred: waiting for RPCs: runtime error

Policy Packs run:
    Name                      Version
    pulumi-internal-policies  6

On v1.1.1 I get a clean preview.

Output of pulumi about

Version      3.75.0-dev.0
Go Version   go1.20.6
Go Compiler  gc

Plugins
NAME  VERSION
aws   unknown
yaml  unknown

Host     
OS       darwin
Version  13.4
Arch     arm64

This project is written in yaml

Current Stack: pulumi/dev/test

Found no resources associated with test

Found no pending operations associated with test

Backend        
Name           pulumi.com
URL            https://app.pulumi.com/pulumi-corp
User           iwahbe
Organizations  pulumi

No dependencies found

Pulumi locates its logs in /var/folders/fg/_1q36r4j6yx0rwz2fbhjd5y40000gn/T/ by default

Additional context

No response

Contributing

Vote on this issue by adding a 👍 reaction. To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).