pulumi/pkg/engine
Pat Gavlin f385127b6a [engine] expand dependencies in step gen
These changes implement a higher-level fix for #7780 by expanding the
dependencies of a resource as part of step generation.

Dependency expansion is responsible for expanding dependencies on
component resources into dependencies on the component resource _and_
the component resource's descendents _at the time the dependent is
registered_.

For example, given a dependency on Comp1 in the following parent/child
graph:

              Comp1
         _______|__________
         |      |          |
      Cust1   Comp2      Comp3
             ___|___       |
             |     |       |
           Cust2  Cust3  Comp4
             |             |
           Cust4         Cust5

The expanded dependencies set will be [Comp1, Cust1, Comp2, Comp3,
Cust2, Cust3, Comp4, Cust5]. Notably, Cust4 is *not* a member of the
set because it is a child of a custom resource.

These changes are complementary to the changes in #7788. The primary
benefit of the early expansion approach is that the expanded
dependencies will be present in events and the statefile, so downstream
consumers do not need to replicate the expansion logic in order to
understand the totality of a resource's dependencies.
2021-08-20 10:22:57 -07:00
..
lifeycletest [engine] expand dependencies in step gen 2021-08-20 10:22:57 -07:00
deployment.go [cli] Protect against panic when using incorrect token type in pulumi import (#7202) 2021-06-04 15:08:40 +03:00
destroy.go Respect provider aliases (#7166) 2021-07-28 12:12:53 -07:00
diff.go Ensure ResourceReference is included in printPropertyValue (#6962) 2021-05-04 19:34:28 +01:00
doc.go Document Go packages (#6009) 2021-01-11 11:07:59 -07:00
engine.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
errors.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
events.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
eventsink.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
import.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
journal.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
plugin_host.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
plugins.go Send plugin install output to stderr (#7115) 2021-05-25 19:02:09 -07:00
plugins_test.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
project.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
query.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
refresh.go Respect provider aliases (#7166) 2021-07-28 12:12:53 -07:00
snapshot.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
update.go Respect provider aliases (#7166) 2021-07-28 12:12:53 -07:00
update_test.go Improve PP naming for local PPs (#3839) 2020-01-30 13:31:41 -08:00