// GetOutputChange searches the set of output value changes for one matching
// the given address, returning it if it exists.
//
// If no such change exists, nil is returned.
//
// The returned object is a deep copy of the change recorded in the plan, so
// callers may mutate it although it's generally better (less confusing) to
// treat planned changes as immutable after they've been initially constructed.
GetOutputChange searches the set of output value changes for one matching
the given address, returning it if it exists.

If no such change exists, nil is returned.

The returned object is a deep copy of the change recorded in the plan, so
callers may mutate it although it's generally better (less confusing) to
treat planned changes as immutable after they've been initially constructed.
// GetOutputChange searches the set of output value changes for one matching // the given address returning it if it exists . // // If no such change exists nil is returned . // // The returned object is a deep copy of the change recorded in the plan so // callers may mutate it although it ' s generally better ( less confusing ) to // treat planned changes as immutable after they ' ve been initially constructed .
func (cs *ChangesSync) GetOutputChange(addr addrs.AbsOutputValue) *OutputChangeSrc {
	if cs == nil {
		panic("GetOutputChange on nil ChangesSync")
	}
	cs.lock.Lock()
	defer cs.lock.Unlock()
	return cs.changes.OutputValue(addr)
}
func ( cs * ChangesSync ) GetOutputChange ( addr addrs . AbsOutputValue ) * OutputChangeSrc { if cs == nil { panic ( " " ) } cs . lock . Lock ( ) defer cs . lock . Unlock ( ) return cs . changes . OutputValue ( addr ) }
GetOutputChange searches the set of output value changes for one matching
the given address, returning it if it exists.
GetOutputChange searches the set of output value changes for one matching the given address returning it if it exists .