pulumi/pkg/resource
joeduffy 2ab2b09474 Introduce object resources
This change slightly refactors the way resources are created and
implemented.  We now have two implementations of the Resource interface:

* `resource` (in resource_value.go), which is a snapshot of a resource's
  state.  All values are resolved and there is no live reference to any
  heap state or objects.  This will be used when serializing and/or
  deserializing snapshots of deployments.

* `objectResource` (in resource_object.go), which is an implementation
  of the Resource interface that wraps an underlying, live runtime object.
  This currently introduces no functional difference, as fetching Inputs()
  amounts to taking a snapshot of the full state.  But this at least
  gives us a leg to stand on in making sure that output properties are
  read at the right times during evaluation.

This is a fundamental part of pulumi/lumi#90.
2017-06-08 09:26:06 -07:00
..
idl Make updates work in the face of output properties 2017-06-01 10:09:52 -07:00
analyzer.go Store both input and output properties distinctly 2017-06-04 19:24:48 -07:00
analyzer_plugin.go Store both input and output properties distinctly 2017-06-04 19:24:48 -07:00
asset.go Do an initial pass over TODOs 2017-06-05 18:11:51 -07:00
check.go Implement mapper.Encode "for real" 2017-06-05 17:49:00 -07:00
config.go Initial support for output properties (1 of 3) 2017-06-01 08:32:12 -07:00
context.go Do an initial pass over TODOs 2017-06-05 18:11:51 -07:00
deployment.go Fix pulumi/lumi#198 2017-06-06 16:42:14 -07:00
deployment_test.go Fix pulumi/lumi#198 2017-06-06 16:42:14 -07:00
env.go Fix pulumi/lumi#198 2017-06-06 16:42:14 -07:00
plan.go Introduce object resources 2017-06-08 09:26:06 -07:00
plan_graph.go Reclassify Lumi under the Apache 2.0 license 2017-05-18 14:51:52 -07:00
plan_test.go Store both input and output properties distinctly 2017-06-04 19:24:48 -07:00
plugin.go Do an initial pass over TODOs 2017-06-05 18:11:51 -07:00
properties.go Rename computed/output's eventual property to element 2017-06-08 06:48:23 -07:00
properties_diff.go Store both input and output properties distinctly 2017-06-04 19:24:48 -07:00
properties_diff_test.go Fix pulumi/lumi#198 2017-06-06 16:42:14 -07:00
provider.go Make updates work in the face of output properties 2017-06-01 10:09:52 -07:00
provider_host.go Fix two lint issues that crept in 2017-06-02 09:05:10 -07:00
provider_plugin.go Store both input and output properties distinctly 2017-06-04 19:24:48 -07:00
resource.go Introduce object resources 2017-06-08 09:26:06 -07:00
resource_graph.go Introduce object resources 2017-06-08 09:26:06 -07:00
resource_id.go Introduce object resources 2017-06-08 09:26:06 -07:00
resource_object.go Introduce object resources 2017-06-08 09:26:06 -07:00
resource_value.go Introduce object resources 2017-06-08 09:26:06 -07:00
rpc.go Rename computed/output's eventual property to element 2017-06-08 06:48:23 -07:00
snapshot.go Introduce object resources 2017-06-08 09:26:06 -07:00
stable.go Reclassify Lumi under the Apache 2.0 license 2017-05-18 14:51:52 -07:00
urn.go Reclassify Lumi under the Apache 2.0 license 2017-05-18 14:51:52 -07:00