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
dcaf653d6f
helper/schema: properly detect that a list is computed
2014-10-09 19:09:06 -07:00
Mitchell Hashimoto
753f6c6f8e
helper/schema: fix failing tests
2014-10-08 18:25:31 -07:00
Mitchell Hashimoto
00bdef3093
providers/aws: test tag removal
2014-10-08 18:21:21 -07:00
Mitchell Hashimoto
a7c321a028
helper/scheam: support UI defaults
2014-09-29 14:00:35 -07:00
Mitchell Hashimoto
99044a1f14
Add descriptions for AWS inputs
2014-09-29 13:30:28 -07:00
Mitchell Hashimoto
901c1448b4
command: make the UI a look nicer
2014-09-29 13:12:06 -07:00
Mitchell Hashimoto
d9596fa4d0
helper/schema: don't ask for input on fields that have a value
2014-09-29 11:16:19 -07:00
Mitchell Hashimoto
5aed997223
helper/schema: Input support
2014-09-29 10:25:43 -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
0250c17d6e
helper/schema: DefaultFunc for dynamic defaults
...
/cc @c4milo - This might be useful to you as well.
2014-09-09 21:33:08 -07:00
Mitchell Hashimoto
5919637456
helper/schema: Defaults [GH-245]
2014-09-09 21:17:29 -07:00
Mitchell Hashimoto
c9a541d95b
helper/schema: generate a full diff in destroy/create cycle
2014-08-27 15:45:52 -07:00
Mitchell Hashimoto
9d239eea60
helper/schema: detect no change computed for sets/lists properly
2014-08-27 15:03:42 -07:00
Mitchell Hashimoto
0c9b65f3f4
helper/schema: documentation
2014-08-26 21:52:09 -07:00
Mitchell Hashimoto
56cf1e6faa
Fix go vet complaints
2014-08-24 21:50:35 -07:00
Mitchell Hashimoto
95bd64132b
helper/schema: update docs
2014-08-24 16:53:42 -07:00
Mitchell Hashimoto
31cc3ffca1
helper/schema: one of Optional, Required, Computed must be set
2014-08-24 16:53:41 -07:00
Mitchell Hashimoto
eff8306a6c
helper/schema: don't mark things computed if an ID is set
2014-08-22 12:18:08 -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
4015d942ab
providers/aws: security group ingress rules treated as set [GH-87]
...
/cc @pearkes - !!!
2014-08-20 22:24:13 -07:00
Mitchell Hashimoto
e9cc09a886
helper/schema: improve InternalValidate for sets
2014-08-20 21:13:18 -07:00
Mitchell Hashimoto
9ab5577beb
helper/schema: set diff tests
2014-08-20 21:09:07 -07:00
Mitchell Hashimoto
475528adc3
helper/schema: Set operations
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
5e975e47cf
helper/schema: diffing should use ResourceData for guidance
2014-08-20 18:11:40 -07:00
Mitchell Hashimoto
c4664a81e6
helper/schema: show computed lists in diffs
2014-08-18 21:22:27 -07:00
Mitchell Hashimoto
5a5ef67d87
helper/schema: don't forward computing onto elements
2014-08-18 19:08:32 -07:00
Mitchell Hashimoto
801b220dc7
helper/schema: can diff lists more correctly
2014-08-18 16:54:30 -07:00
Mitchell Hashimoto
e70522f4ca
helper/schema: if you can't find the list, just fall through to return
...
nil
2014-08-18 15:46:26 -07:00
Mitchell Hashimoto
4ae1673580
helper/schema: support for NewRemoved
2014-08-18 15:07:09 -07:00
Mitchell Hashimoto
ce42845acd
helper/schema: use reflection to build []interface{}
2014-08-18 14:24:04 -07:00
Mitchell Hashimoto
17d29f7949
helper/schema: use reflection to verify list
2014-08-18 14:21:36 -07:00
Mitchell Hashimoto
4c9271160e
helper/schema: can handle maps
2014-08-18 14:00:03 -07:00
Mitchell Hashimoto
51a44db6c2
helper/schema: move InternalValidate to schemaMap
2014-08-17 14:50:44 -07:00
Mitchell Hashimoto
43e4921bd9
helper/schema: more tests, todo tests for computedwhen
2014-08-16 13:32:21 -07:00
Mitchell Hashimoto
7bc0be4b81
helper/schema: couple more tests around Computed (+ fix)
2014-08-16 09:49:22 -07:00
Mitchell Hashimoto
3a46d21527
helper/schema: computed fields cannot be set
2014-08-16 09:18:45 -07:00
Mitchell Hashimoto
90f462e609
helper/schema: detect invalid/unknown keys
2014-08-15 22:15:10 -07:00
Mitchell Hashimoto
4af387b986
helper/schema: validation
2014-08-15 22:00:16 -07:00
Mitchell Hashimoto
31067ee8f6
helper/schema: ResourceData, starting tests
2014-08-15 16:32:43 -07:00
Mitchell Hashimoto
660dc68a86
helper/schema: more tests
2014-08-15 10:39:40 -07:00
Mitchell Hashimoto
d05b9d6193
helper/schema: can diff complex resource
2014-08-15 10:25:25 -07:00
Mitchell Hashimoto
878d844f5c
helper/schema: comment
2014-08-14 23:33:30 -07:00
Mitchell Hashimoto
7f14708e71
helper/schema: list ForceNew
2014-08-14 23:32:20 -07:00
Mitchell Hashimoto
22e286ffd5
helper/schema: diff-ing lists at a basic level
2014-08-14 23:17:53 -07:00
Mitchell Hashimoto
46d911325a
helper/schema: Bools and ints can decode
2014-08-14 20:02:52 -07:00
Mitchell Hashimoto
efa2335886
helper/schema: start the Diff function
2014-08-14 19:55:47 -07:00