Mitchell Hashimoto
3c1b55a75f
helper/schema: use the field reader/writer for state
2015-01-10 12:18:32 -08:00
Mitchell Hashimoto
e57f3f69b1
helper/schema: empty maps, support reading objects directly
2015-01-09 15:07:02 -08:00
Mitchell Hashimoto
f0af1c36f5
helper/schema: nested resource fields should be zero-valued on get
2015-01-09 11:51:29 -08:00
Mitchell Hashimoto
942a988ac2
helper/schema: zero value of a set should be a set
2015-01-08 18:48:03 -08:00
Mitchell Hashimoto
b4bf813151
helper/schema: too big to fail
2015-01-08 18:02:19 -08:00
Sander van Harmelen
83c760fcb3
core: refactoring the way sets work internally v2
...
This is a refactored solution for PR #616 . Functionally this is still
the same change, but it’s implemented a lot cleaner with less code and
less changes to existing parts of TF.
2014-12-12 23:21:20 +01:00
Mitchell Hashimoto
1792334ec4
fmt
2014-10-21 11:00:12 -07:00
Mitchell Hashimoto
d0ce67a5b7
helper/schema: on destroy/create, reset state to be empty [GH-464]
2014-10-21 00:28:53 -07:00
Mitchell Hashimoto
d1324678dd
helper/schema: setting empty map works [GH-464]
2014-10-21 00:17:17 -07:00
Mitchell Hashimoto
5390357e45
helper/schema: sets properly take into account the diff
2014-10-20 15:32:30 -07:00
Mitchell Hashimoto
59349cca11
helper/schema: sets must be treated atomically within ResourceData
...
This fixes a seemingly minor issue (GH-255) around plans showing changes
when in fact there are none. But in reality this turned out to uncover a
really terrible bug.
The effect of what was happening was that multiple items in a set were
being merged. Now, they were being merged in the right order, so if you
didn't have rich types (lists in a set) then you never saw the effect
since the later value would overwrite the earlier. But with lists (such
as in security groups), you would end up with the lists merging. So, if
you had one ingress rule with CIDR blocks and one with SGs, then after
the merge both ingress rules would have BOTH CIDR and SGs, resulting in
an incorrect plan (GH-255).
This fixes the issue by introducing a `getSourceExact` bitflag to the
ResourceData source. When this is set, ALL data must come from this
level, instead of merging lower levels. In the case of sets and diffs,
this is exactly what you want: "Get me the set 'foo' from the config and
the config ONLY (not the state or diff or w/e)".
Andddddd its fixed.
GH-255
2014-10-11 10:40:54 -07:00
Mitchell Hashimoto
3a107d2e50
helper/schema: set the field to empty if it is a list and computed
2014-10-10 15:58:38 -07:00
Mitchell Hashimoto
9b2b3a963f
ResourceDiff => InstanceDiff
2014-09-17 16:33:24 -07:00
Mitchell Hashimoto
81d9d70296
helper/schema: conforms to new API, tests pass
2014-09-16 17:07:13 -07:00
Mitchell Hashimoto
faa4e75960
helper/schema: Get on computed diff should be empty
2014-08-27 15:45:52 -07:00
Mitchell Hashimoto
87a488092c
helper/schema: support partial states
2014-08-26 20:19:44 -07:00
Mitchell Hashimoto
9ed601d541
helper/schema: store state with processed properly
2014-08-22 12:09:06 -07:00
Mitchell Hashimoto
50026a6d5c
helper/schema: When having a StateFunc, make sure NewExtra contains
...
original
2014-08-22 08:57:44 -07:00
Mitchell Hashimoto
d009ea800a
helper/schema: add support for StateFunc
2014-08-22 08:45:54 -07:00
Mitchell Hashimoto
7be2f1b091
helper/schema: add GetOk
2014-08-21 23:03:04 -07:00
Mitchell Hashimoto
37cf52fa27
helper/schema: if no ID is set then return nil
2014-08-21 22:19:33 -07:00
Mitchell Hashimoto
3d3789920d
helper/schema: can set conninfo
2014-08-21 22:15:47 -07:00
Mitchell Hashimoto
ca18e971d1
helper/schema: can set sets
2014-08-20 21:09:06 -07:00
Mitchell Hashimoto
9fe21f0423
helper/schema: verify that sets remove duplicates
2014-08-20 21:09:06 -07:00
Mitchell Hashimoto
56dde5c0c1
helper/schema: can read and get the state of sets
2014-08-20 21:09:06 -07:00
Mitchell Hashimoto
5fc41cc272
helper/schema: properly put "id" into attributes
2014-08-20 10:38:51 -07:00
Mitchell Hashimoto
ee0acc4a5d
helper/schema: support bools
2014-08-19 16:46:36 -07:00
Mitchell Hashimoto
ba819d1f37
helper/schema: don't include zero count in state
2014-08-18 19:12:49 -07:00
Mitchell Hashimoto
1b85f3a565
helper/schema: SetDependencies
2014-08-18 15:41:12 -07:00
Mitchell Hashimoto
dfede5791c
helper/schema: use reflection to set maps
2014-08-18 15:17:18 -07:00
Mitchell Hashimoto
3800dffdeb
helper/schema: computed values should not be Get-able
2014-08-18 15:10:53 -07:00
Mitchell Hashimoto
4ae1673580
helper/schema: support for NewRemoved
2014-08-18 15:07:09 -07:00
Mitchell Hashimoto
4c9271160e
helper/schema: can handle maps
2014-08-18 14:00:03 -07:00
Mitchell Hashimoto
66d7003e6f
helper/schema: HasChange
2014-08-18 10:00:41 -07:00
Mitchell Hashimoto
f1f4836c99
helper/schema: GetChange
2014-08-18 09:58:44 -07:00
Mitchell Hashimoto
539e4da03f
helper/schema: more tests
2014-08-17 20:48:50 -07:00
Mitchell Hashimoto
c3f1f49640
helper/schema: final state for lists/objects works
2014-08-17 14:12:54 -07:00
Mitchell Hashimoto
06d30a559a
helper/schema: Set object
2014-08-17 11:38:16 -07:00
Mitchell Hashimoto
2d74a3cadd
helper/schema: basic set
2014-08-16 15:02:51 -07:00
Mitchell Hashimoto
bf6ad07505
helper/schema: ResourceData.Get can get the full object
2014-08-16 13:55:10 -07:00
Mitchell Hashimoto
43e4921bd9
helper/schema: more tests, todo tests for computedwhen
2014-08-16 13:32:21 -07:00
Mitchell Hashimoto
1d9528e595
helper/schema: ResourceData.Get works in most cases
2014-08-15 17:39:08 -07:00
Mitchell Hashimoto
31067ee8f6
helper/schema: ResourceData, starting tests
2014-08-15 16:32:43 -07:00