pulumi/pkg/resource/deploy
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
..
deploytest Add methods lifecycle tests (#7488) 2021-07-12 15:51:11 -07:00
providers Respect provider aliases (#7166) 2021-07-28 12:12:53 -07:00
builtins.go Initial support for resource methods (authoring from Node.js, calling from Python) (#7363) 2021-06-30 07:48:56 -07:00
deployment.go Respect provider aliases (#7166) 2021-07-28 12:12:53 -07:00
deployment_executor.go Include children when targeting components. (#7605) 2021-07-27 19:17:54 -07:00
deployment_test.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
doc.go Document Go packages (#6009) 2021-01-11 11:07:59 -07:00
import.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
snapshot.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
source.go Initial support for resource methods (authoring from Node.js, calling from Python) (#7363) 2021-06-30 07:48:56 -07:00
source_error.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
source_eval.go [engine] expand dependencies in step gen 2021-08-20 10:22:57 -07:00
source_eval_test.go Add `replaceOnChanges` resource option (#7226) 2021-07-01 13:32:08 -06:00
source_fixed.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
source_null.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
source_query.go [query] Do not access config with a nil Target. (#7460) 2021-07-08 19:57:47 -07:00
source_query_test.go Initial support for resource methods (authoring from Node.js, calling from Python) (#7363) 2021-06-30 07:48:56 -07:00
step.go Respect provider aliases (#7166) 2021-07-28 12:12:53 -07:00
step_executor.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
step_generator.go [engine] expand dependencies in step gen 2021-08-20 10:22:57 -07:00
step_generator_test.go Fix rendering of diffs for resource without DetailedDiffs (#7500) 2021-07-13 08:39:48 -06:00
target.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
urn_set.go [engine] expand dependencies in step gen 2021-08-20 10:22:57 -07:00