Mark state snapshots for components
We need to mark the state snapshots for components, but were skipping this.
I believe this is the root cause for all occurrences of pulumi/pulumi#613.
@@ -268,7 +268,8 @@ func (s *UpdateStep) Apply(preview bool) (resource.Status, error) {
// In the case of an update, the URN, defaults, and ID are the same, however, the outputs remain unknown.
s.new.URN = s.old.URN
s.new.ID = s.old.ID
- } else if s.new.Custom {
+ } else {
+ if s.new.Custom {
// Invoke the Update RPC function for this provider:
prov, err := getProvider(s)
if err != nil {
@@ -284,6 +285,7 @@ func (s *UpdateStep) Apply(preview bool) (resource.Status, error) {
// Now copy any output state back in case the update triggered cascading updates to other properties.
s.new.ID = s.old.ID
s.new.Outputs = outs
+ }
// Mark the old state as having been processed, and add the new state.
s.iter.MarkStateSnapshot(s.old)
