pulumi/pkg
joeduffy fe0bb4a265 Support replacement IDs
This change introduces a new RPC function to the provider interface;
in pseudo-code:

    UpdateImpact(id ID, t Type, olds PropertyMap, news PropertyMap)
        (bool, PropertyMap, error)

Essentially, during the planning phase, we will consult each provider
about the nature of a proposed update.  This update includes a set of
old properties and the new ones and, if the resource provider will need
to replace the property as a result of the update, it will return true;
in general, the PropertyMap will eventually contain a list of all
properties that will be modified as a result of the operation (see below).

The planning phase reacts to this by propagating the change to dependent
resources, so that they know that the ID will change (and so that they
can recalculate their own state accordingly, possibly leading to a ripple
effect).  This ensures the overall DAG / schedule is ordered correctly.

This change is most of pulumi/coconut#105.  The only missing piece
is to generalize replacing the "ID" property with replacing arbitrary
properties; there are hooks in here for this, but until pulumi/coconut#90
is addressed, it doesn't make sense to make much progress on this.
2017-03-01 09:08:53 -08:00
..
compiler Ensure configuration round-trips in Huskfiles 2017-02-28 15:43:46 -08:00
config Coconut! 2017-02-25 07:25:33 -08:00
diag Allow restarting from partial failures 2017-02-28 16:09:56 -08:00
encoding Coconut! 2017-02-25 07:25:33 -08:00
eval Print more details when an unhandled exception occurs 2017-02-28 13:15:28 -08:00
graph Coconut! 2017-02-25 07:25:33 -08:00
pack Coconut! 2017-02-25 07:25:33 -08:00
resource Support replacement IDs 2017-03-01 09:08:53 -08:00
tokens Permit dots in names 2017-02-28 12:07:18 -08:00
util Fix some go vet issues 2017-02-28 11:02:33 -08:00
workspace Implement a coco husk ls command 2017-02-26 13:06:33 -08:00