Commit Graph

253 Commits

Author SHA1 Message Date
Mitchell Hashimoto 582d81ed03 terraform: converge on calculated variables rather than caching 2014-07-06 23:03:51 -07:00
Mitchell Hashimoto f1b4f7ad40 terraform: simplify internals, remove unused vars 2014-07-06 21:53:22 -07:00
Mitchell Hashimoto cc0c32d5ca terraform: test for single index access of counts 2014-07-06 14:09:44 -07:00
Mitchell Hashimoto a01d979c1b terraform: outputs work with multi-variables 2014-07-05 10:48:47 -07:00
Mitchell Hashimoto 4b5f5aec65 terraform: outputs are computed for the state 2014-07-04 15:36:28 -07:00
Mitchell Hashimoto 3b3c9e140a terraform: tests for increasing count from 1 to > 1 2014-07-03 21:47:07 -07:00
Mitchell Hashimoto c5a0b9cb40 terraform: test case for decreasing the count 2014-07-03 21:42:18 -07:00
Mitchell Hashimoto a616218d13 terraform: planning and applying multi-count resources tests 2014-07-03 21:24:17 -07:00
Mitchell Hashimoto ba144ef933 terraform: clean up root deps on the graph 2014-07-03 20:51:31 -07:00
Mitchell Hashimoto e7b7644cbf terraform: turn multi-counts into multiple nodes 2014-07-03 20:42:29 -07:00
Mitchell Hashimoto 175e455999 terraform: add better logging 2014-07-03 12:32:00 -07:00
Mitchell Hashimoto 0298b47fd8 terraform: add happy path case for resource config 2014-07-03 12:31:26 -07:00
Mitchell Hashimoto ed57fe7083 terraform: ValidateResource is called 2014-07-03 12:30:51 -07:00
Mitchell Hashimoto 6508edaba9 terraform: Context.Validate checks ProviderConfig Validate 2014-07-03 12:17:56 -07:00
Mitchell Hashimoto a6ae7230d1 command: use new API 2014-07-03 11:46:40 -07:00
Mitchell Hashimoto adcd6486a2 terraform: Context doesn't need a sync.Cond 2014-07-03 11:33:45 -07:00
Mitchell Hashimoto 9e41c6335b terraform: remove unused options for making a plan 2014-07-03 11:33:05 -07:00
Mitchell Hashimoto 51396f02c6 terraform: Plan.Context 2014-07-03 11:32:44 -07:00
Mitchell Hashimoto 99757dc930 terraform: update state when refreshed 2014-07-03 11:30:16 -07:00
Mitchell Hashimoto d4591c03cc terraform: remove unused function 2014-07-03 11:29:44 -07:00
Mitchell Hashimoto 2b3855d5e2 terraform: make all actions cancellable in context 2014-07-03 11:28:47 -07:00
Mitchell Hashimoto 4ee6771d3a terraform: remove terraform.go 2014-07-03 11:28:04 -07:00
Mitchell Hashimoto 4f5f3a5502 terraform: Context.Stop 2014-07-03 11:27:30 -07:00
Mitchell Hashimoto 603ee36d92 terraform: Context.Apply 2014-07-03 11:04:04 -07:00
Mitchell Hashimoto 403876fff3 terraform: Context.Plan 2014-07-03 10:44:30 -07:00
Mitchell Hashimoto 2e10ddb878 terraform: Context.Refresh 2014-07-03 10:29:14 -07:00
Mitchell Hashimoto 947fa4e669 terraform: Context introduction 2014-07-03 10:14:17 -07:00
Mitchell Hashimoto c8c7d6baa3 terraform: add some semantic check functions 2014-07-02 20:47:10 -07:00
Mitchell Hashimoto d0577fda02 terraform: add ValidateResource API to ResourceProvider 2014-07-02 20:35:03 -07:00
Mitchell Hashimoto 770d4e1e71 terraform: destroy should remove from state 2014-07-02 19:56:29 -07:00
Mitchell Hashimoto 8625e8c2ac terraform: tests for Apply in areas of errors 2014-07-02 17:26:39 -07:00
Mitchell Hashimoto 8fba438cf0 terraform: bring order to the world
/cc @pearkes
2014-07-02 17:04:48 -07:00
Mitchell Hashimoto c51052541b Merge pull request #11 from hashicorp/f-cancel
Ctrl-C
2014-07-02 17:03:44 -07:00
Mitchell Hashimoto f7bc33812e terraform: use a panic mechanism for handling hooks 2014-07-02 16:27:50 -07:00
Jack Pearkes 8c330d9e4d terraform: register gob type for array 2014-07-02 16:17:26 -07:00
Mitchell Hashimoto 733752122a terraform: stopHook and tests 2014-07-02 16:16:38 -07:00
Mitchell Hashimoto c493d60358 terraform: register gob type that might be in config 2014-07-02 11:28:23 -07:00
Mitchell Hashimoto fb843ea5bf terraform: Added NewExtra field for providers to fill in data 2014-07-01 11:23:40 -07:00
Mitchell Hashimoto 2aed2fd96f Fix various order-dependent tests 2014-07-01 10:28:42 -07:00
Mitchell Hashimoto 4b74ddc9d1 terraform: fix data race 2014-07-01 10:11:07 -07:00
Mitchell Hashimoto 2ffbe56b1b terraform: graph root doesn't need to depend on providers 2014-07-01 10:01:27 -07:00
Mitchell Hashimoto 64363da9dd command/plan: add -destroy flag to plan a destroy 2014-07-01 09:12:05 -07:00
Mitchell Hashimoto fceea12ade terraform: some basic validation 2014-06-30 21:25:15 -07:00
Mitchell Hashimoto 8aa8d2183e terraform: clarify docs 2014-06-30 21:24:26 -07:00
Mitchell Hashimoto 93bf75f464 terraform: comments 2014-06-30 21:22:08 -07:00
Mitchell Hashimoto 0bd704b2f1 terraform: GraphOpts and unification into a single Graph function 2014-06-30 21:21:13 -07:00
Mitchell Hashimoto 361dbb14ae terraform: test for Resource.Vars 2014-06-30 20:59:23 -07:00
Mitchell Hashimoto ff79fa9c9f terraform: tests for ResourceDiff.Empty 2014-06-30 20:56:25 -07:00
Mitchell Hashimoto d026d4207e terraform: apply diff before apply 2014-06-30 19:29:07 -07:00
Mitchell Hashimoto 2d72164c6a terraform: graph can add "destroy" nodes 2014-06-30 19:10:44 -07:00
Mitchell Hashimoto 6f274eb7a9 terraform: GraphAddDiff works on a basic level 2014-06-30 18:18:56 -07:00
Mitchell Hashimoto 521b432728 terraform: add Dependencies to ResourceState 2014-06-30 17:40:56 -07:00
Mitchell Hashimoto b3de33cc69 terraform: failing test but fixes another bug 2014-06-30 11:14:03 -07:00
Mitchell Hashimoto acc6686cca terraform: Set Destroy: true to PlanOpts to delete everything 2014-06-29 16:28:50 -07:00
Mitchell Hashimoto 5c836ab861 terraform: PlanOpts for expanding plan configuration 2014-06-28 13:10:11 -07:00
Mitchell Hashimoto fe79e5df03 command/apply: can take a plan as an argument 2014-06-27 14:43:33 -07:00
Mitchell Hashimoto 5a84a24d12 terraform: pre/post apply hook 2014-06-26 22:09:16 -07:00
Mitchell Hashimoto ae6b85e11b terraform: diff hooks 2014-06-26 17:17:10 -07:00
Mitchell Hashimoto 01319e1dc9 Ui hook 2014-06-26 17:05:21 -07:00
Mitchell Hashimoto 501f926eba terraform: initial hook impl 2014-06-26 16:52:15 -07:00
Mitchell Hashimoto 6e995feb5e providers/aws: if no reservations, no instance 2014-06-26 09:58:38 -07:00
Mitchell Hashimoto 0ab7faf5c1 terraform: update test to latest 2014-06-25 22:19:27 -07:00
Mitchell Hashimoto 4147500fcc terraform: diff is not empty if it has to destroy 2014-06-25 22:10:25 -07:00
Mitchell Hashimoto 1d9d33c8a0 terraform: destroy orphans 2014-06-25 21:58:33 -07:00
Mitchell Hashimoto e8035a5c96 providers/aws: properly create an i nstance after destroy 2014-06-25 18:49:30 -07:00
Mitchell Hashimoto 5384f63b3d terraform: set type on apply 2014-06-25 18:33:32 -07:00
Mitchell Hashimoto 84a645712b terraform: Type should always be set on ResourceState 2014-06-25 18:29:36 -07:00
Mitchell Hashimoto d64ba66edb command: adhere to new API 2014-06-25 18:22:42 -07:00
Mitchell Hashimoto 4b263992cc terraform: remove unused code 2014-06-25 18:13:58 -07:00
Mitchell Hashimoto 0f2d7f430c terraform: all tests passing 2014-06-25 18:12:03 -07:00
Mitchell Hashimoto e9d1be397c terraform: Plan seems to work again 2014-06-25 17:40:50 -07:00
Mitchell Hashimoto c68cfc5e6f terraform: test that state is properly sent to Refresh 2014-06-25 15:52:15 -07:00
Mitchell Hashimoto 8a44ca984e terraform: Refresh tests 2014-06-25 15:39:44 -07:00
Mitchell Hashimoto abe205fc27 terraform: GraphFull tests 2014-06-25 14:53:32 -07:00
Mitchell Hashimoto 9d4f7b71c4 terraform: fill in the graph with the providers 2014-06-25 14:47:38 -07:00
Mitchell Hashimoto cdab89d7c1 terraform: getting closer to mapping resource providers properly 2014-06-25 12:58:27 -07:00
Mitchell Hashimoto 0bf394dfe2 terraform: make our own graph meta 2014-06-24 15:25:04 -07:00
Mitchell Hashimoto b6272a4a69 terraform: comments 2014-06-24 15:06:35 -07:00
Mitchell Hashimoto 1918f199d8 terraform: Graph, config: don't build graph 2014-06-24 14:58:57 -07:00
Mitchell Hashimoto 9d8c2790fa terraform: remove unused var 2014-06-24 13:08:56 -07:00
Mitchell Hashimoto 9c024994b7 terraform: diff has Destroy flag 2014-06-24 12:54:05 -07:00
Mitchell Hashimoto 4084ed9234 terraform: no longer store the graph on Terraform itself 2014-06-24 10:16:48 -07:00
Mitchell Hashimoto 1d724f3481 terraform :comments 2014-06-23 20:52:44 -07:00
Mitchell Hashimoto 24c9b7c987 terraform: make sure state is set to something on refresh 2014-06-23 20:40:32 -07:00
Mitchell Hashimoto c556e2ad48 providers/aws: start filling out 2014-06-23 19:01:57 -07:00
Mitchell Hashimoto c5a621a47a terraform: error if unknown variable retruned 2014-06-23 13:08:25 -07:00
Mitchell Hashimoto 175b720ab1 diff: mark diff properly with input/output 2014-06-23 12:49:30 -07:00
Mitchell Hashimoto 7eacacbff2 terraform: MergeDiff can take nil diff 2014-06-23 12:32:04 -07:00
Mitchell Hashimoto d93df76f66 terraform: some comments 2014-06-23 12:30:29 -07:00
Mitchell Hashimoto 9e8f578c8b terraform: test that varaibles from the plan are interpolated in 2014-06-23 12:28:02 -07:00
Mitchell Hashimoto 92ffbf2880 terraform: re-diff on apply 2014-06-23 12:19:41 -07:00
Mitchell Hashimoto 84cf644a30 command: apply uses the new plan structure 2014-06-20 12:51:42 -07:00
Mitchell Hashimoto 3aab0cd21b terraform: Apply takes a plan 2014-06-20 12:49:01 -07:00
Mitchell Hashimoto 2fd129ddc4 terraform: support both raw and clean config 2014-06-20 12:07:18 -07:00
Mitchell Hashimoto 686b563428 terraform: build a plan 2014-06-20 11:03:33 -07:00
Mitchell Hashimoto f7a6cbf247 terraform: rename Diff to Plan on Terraform API 2014-06-20 10:44:49 -07:00
Mitchell Hashimoto d2001275dc terraform: initial Plan structure
This is REALLY heavy and would be really hard to maintain any sort
of compatibility with, but it is what we're going to do during dev
initially (if we don't ship with it) in order to just get stuff working.
2014-06-20 10:33:26 -07:00
Mitchell Hashimoto dc193f5f33 terraform: call refresh before every diff
In the future, we'll make this a separate thing...
2014-06-19 21:22:07 -07:00
Mitchell Hashimoto 1449d8a510 terraform: Diff.Empty 2014-06-19 14:57:36 -07:00
Mitchell Hashimoto e8808db8c3 terraform: MergeDiff uses a Diff as an argument 2014-06-19 14:08:10 -07:00
Mitchell Hashimoto b62ff0412f terraform: apply works if no state is returned 2014-06-18 21:14:34 -07:00
Mitchell Hashimoto 2dff411679 terraform: read/write state to reader/writer 2014-06-18 20:54:22 -07:00
Mitchell Hashimoto 3b3ea2944c terraform: comments 2014-06-18 20:46:46 -07:00
Mitchell Hashimoto 333ad153d0 terraform: add a format byte to the diff file so we can iterate maybe 2014-06-18 20:46:13 -07:00
Mitchell Hashimoto e5b82931ff terraform: read/write diff to binary format 2014-06-18 20:34:39 -07:00
Mitchell Hashimoto 830ddf0c8e terraform: basic apply tests 2014-06-18 16:38:08 -07:00
Mitchell Hashimoto 9f5b6cc40f terraform: applyFn 2014-06-18 16:09:48 -07:00
Mitchell Hashimoto b3e20a3e85 terraform: basic apply, more tests needed 2014-06-18 15:35:03 -07:00
Mitchell Hashimoto a58b2c8675 terraform: ResourceState contains type 2014-06-18 09:30:59 -07:00
Mitchell Hashimoto f032ce6c1b terraform: ResourceDiff tests 2014-06-17 18:10:38 -07:00
Mitchell Hashimoto 6bef265514 terraform: IsSet can be called on nil 2014-06-12 23:23:15 -07:00
Mitchell Hashimoto c10eed752f terraform: tests for ResourceConfig.Get 2014-06-12 23:16:28 -07:00
Mitchell Hashimoto 9751878513 terraform: helpers on ResourceConfig 2014-06-12 23:08:47 -07:00
Mitchell Hashimoto 8a2eb95a42 terraform: Validate called on provider 2014-06-12 22:30:09 -07:00
Mitchell Hashimoto a256f27b24 terraform: pass through the unknown keys 2014-06-12 18:11:21 -07:00
Mitchell Hashimoto 7e421dd89b terraform: ResourceConfig 2014-06-12 17:59:59 -07:00
Mitchell Hashimoto fd39728cbb terraform: start using the RawConfig interpolations 2014-06-12 17:51:38 -07:00
Mitchell Hashimoto 997724dc57 terraform: know whether create or update resource 2014-06-10 11:37:04 -07:00
Mitchell Hashimoto 469d20afe3 terraform: note which attributes require a new resource 2014-06-10 11:33:59 -07:00
Mitchell Hashimoto fac68b0c09 terraform: match key lengths up in a diff 2014-06-10 11:30:54 -07:00
Mitchell Hashimoto 36a99b5920 terraform: alphabetize attributes in diff 2014-06-10 11:27:17 -07:00
Mitchell Hashimoto 32afc6dc70 terraform: Diff.String 2014-06-10 11:22:32 -07:00
Mitchell Hashimoto 061d96a08b terraform: test case for if diff returns nil 2014-06-10 10:50:23 -07:00
Mitchell Hashimoto 02a3603a9a rpc: Diff implementation 2014-06-06 00:48:32 -07:00
Mitchell Hashimoto 0561edc2fd terraform: check for errors initializing a provider 2014-06-06 00:28:57 -07:00
Mitchell Hashimoto ce0867fa09 terraform: call Configure on the provider 2014-06-06 00:20:23 -07:00
Mitchell Hashimoto 967d4a61c1 terraform: tests that computed placeholders get inserted proprely 2014-06-05 20:17:03 -07:00
Mitchell Hashimoto 796dfd54e9 terraform: just hardcode a UUID in there for computed placeholders 2014-06-05 20:03:16 -07:00
Mitchell Hashimoto d58feeeafe terraform: find configs for providers 2014-06-05 19:56:35 -07:00
Mitchell Hashimoto ebbc0047ce terraform: ignore ProviderConfig during walks 2014-06-05 13:05:26 -07:00
Mitchell Hashimoto 23d96248aa No need for a root name constant, just check for Meta == nil 2014-06-05 12:59:55 -07:00
Mitchell Hashimoto 9896d902ed terraform: use proper function name 2014-06-05 12:55:54 -07:00
Mitchell Hashimoto 4397c566a0 terraform: computed key 2014-06-05 12:09:25 -07:00
Mitchell Hashimoto 02fde14fb6 terraform: simplify semantic checks out into sep functions 2014-06-05 11:53:07 -07:00
Mitchell Hashimoto 9018beda81 terraform: placeholder key for computed values 2014-06-05 11:30:48 -07:00
Mitchell Hashimoto 63e1b6f6b7 terraform: no need to init state if we don't use 2014-06-05 11:12:10 -07:00
Mitchell Hashimoto e8f235f515 terraform: more efficient variable buildup 2014-06-05 11:08:27 -07:00
Mitchell Hashimoto d77a72ba84 terraform: take into account dependency variables in diffs 2014-06-05 07:27:01 -07:00
Mitchell Hashimoto 8358e7dc1f terraform: support MergeDiff for nil ResourceState 2014-06-05 07:04:44 -07:00
Mitchell Hashimoto 082e784566 terraform: computeID 2014-06-05 07:01:51 -07:00
Mitchell Hashimoto 7c6920bba1 terraform: diff/state work better together, merge 2014-06-05 06:57:06 -07:00
Mitchell Hashimoto e904fca3da terraform: Diff! 2014-06-05 02:32:10 -07:00
Mitchell Hashimoto d731d033f1 terraform: build resource graph, validate 2014-06-03 17:14:19 -07:00
Mitchell Hashimoto 9480783ee4 terraform: add Diff to ResourceProvider
rpc and plugin don't compile yet
2014-06-03 16:42:21 -07:00
Mitchell Hashimoto 8af8ecca20 terraform: todo 2014-06-03 16:12:35 -07:00
Mitchell Hashimoto 45c168bb5b terraform: multierrors 2014-06-03 16:11:02 -07:00
Mitchell Hashimoto 45a8deb388 terraform: store the configuration on the Terraform struct 2014-06-03 15:58:24 -07:00
Mitchell Hashimoto d2088463d3 terraform: validate required variables are all set 2014-06-03 15:56:43 -07:00
Mitchell Hashimoto c9d8413431 terraform: New happy path works decently well 2014-06-03 15:08:00 -07:00
Mitchell Hashimoto 0c1a341d90 terraform: Resources method for providers 2014-06-03 14:26:31 -07:00