pulumi/cmd/lumi
joeduffy c53ddeb678 Overhaul resources, planning, and environments
This change, part of pulumi/lumi#90, overhauls quite a bit of the
core resource, planning, environments, and related areas.

The biggest amount of movement comes from the splitting of pkg/resource
into multiple sub-packages.  This results in:

- pkg/resource: just the core resource data structures.

- pkg/resource/deployment: all planning and deployment logic.

- pkg/resource/environment: all environment, configuration, and
      serialized checkpoint structures and logic.

- pkg/resource/plugin: all dynamically loaded analyzer and
      provider logic, including the actual loading and RPC mechanisms.

This also splits the resource abstraction up.  We now have:

- resource.Resource: a shared interface.

- resource.Object: a resource that is connected to a live object
      that will periodically observe mutations due to ongoing
      evaluation of computations.  Snapshots of its state may be
      taken; however, this is purely a "pre-planning" abstraction.

- resource.State: a snapshot of a resource's state that is frozen.
      In other words, it is no longer connected to a live object.
      This is what will store provider outputs (ID and properties),
      and is what may be serialized into a deployment record.

The branch is in a half-baked state as of this change; more changes
are to come...
2017-06-13 07:10:13 -07:00
..
config.go Finish scrubbing TODOs 2017-06-06 06:05:35 -07:00
deploy.go Pretty print outputs during planning 2017-06-01 10:52:25 -07:00
destroy.go Rearrange some deployment logic 2017-06-01 08:36:43 -07:00
env.go Overhaul resources, planning, and environments 2017-06-13 07:10:13 -07:00
env_init.go Reclassify Lumi under the Apache 2.0 license 2017-05-18 14:51:52 -07:00
env_ls.go Create a plan plugin host 2017-06-01 11:41:24 -07:00
env_rm.go Reclassify Lumi under the Apache 2.0 license 2017-05-18 14:51:52 -07:00
env_select.go Reclassify Lumi under the Apache 2.0 license 2017-05-18 14:51:52 -07:00
lumi.go Tidy up project loading for pack commands 2017-06-02 12:43:04 -07:00
main.go Reclassify Lumi under the Apache 2.0 license 2017-05-18 14:51:52 -07:00
pack.go Tidy up project loading for pack commands 2017-06-02 12:43:04 -07:00
pack_eval.go Finish scrubbing TODOs 2017-06-06 06:05:35 -07:00
pack_get.go Reclassify Lumi under the Apache 2.0 license 2017-05-18 14:51:52 -07:00
pack_info.go Tidy up project loading for pack commands 2017-06-02 12:43:04 -07:00
pack_verify.go Tidy up project loading for pack commands 2017-06-02 12:43:04 -07:00
plan.go Finish scrubbing TODOs 2017-06-06 06:05:35 -07:00
version.go Reclassify Lumi under the Apache 2.0 license 2017-05-18 14:51:52 -07:00