Paul Hinze
afe4abb637
core: add prevent_destroy lifecycle flag
...
When the `prevent_destroy` flag is set on a resource, any plan that
would destroy that resource instead returns an error. This has the
effect of preventing the resource from being unexpectedly destroyed by
Terraform until the flag is removed from the config.
2015-04-17 10:40:04 -05:00
Paul Hinze
975a96f271
core: protect against count.index in modules
...
Modules should get a validation error just like outputs do.
refs #1528
2015-04-15 10:41:56 -05:00
Paul Hinze
347690a73e
core: don't crash when count.index is used in the wrong context
...
It's bad manners! :)
Also adds a validation error up at the configuration layer so the user
sees the case from #1528 as an error message.
fixes #1528
2015-04-15 10:23:53 -05:00
Mitchell Hashimoto
6514bf5f25
config: clarify unknown variable error [GH-1480]
2015-04-10 16:45:15 -07:00
Mitchell Hashimoto
fdded8ca14
config: allow atlas block
2015-03-24 13:30:22 -07:00
Mitchell Hashimoto
965fe45b9e
config: self var validation
2015-02-23 14:43:14 -08:00
Mitchell Hashimoto
a31f2a276b
Merge pull request #1015 from hashicorp/b-depends-on-var
...
config: depends on cannot contain interpolations [GH-985]
2015-02-23 13:49:34 -08:00
Mitchell Hashimoto
c14e84a657
config: validate provisioner splats can only reference others
2015-02-20 09:21:29 -08:00
Mitchell Hashimoto
90a6a627ed
config: validate configuration doens't contain splats to ourselves
2015-02-20 09:18:08 -08:00
Mitchell Hashimoto
0e7b150c5b
config: depends on cannot contain interpolations [GH-985]
2015-02-20 09:07:41 -08:00
Mitchell Hashimoto
4bcf6cf6b2
config: bare splat variables should not be allowed in provisioners
...
[GH-636]
2015-02-17 13:32:45 -08:00
Mitchell Hashimoto
a2e40ad731
config: multi-variable access in slice validation fixed [GH-798]
2015-01-15 09:40:13 -08:00
Mitchell Hashimoto
2abeb2d9ac
config: use new API
2015-01-14 22:03:15 -08:00
Mitchell Hashimoto
740c25d4ea
config: convert to config/lang
2015-01-13 10:27:57 -08:00
Mitchell Hashimoto
6b7dfb4c8f
config: some extra comments
2014-12-26 09:05:24 +05:30
Mitchell Hashimoto
d24082da1e
config: validate that module variables can go to ints, convert [GH-624]
2014-12-15 22:10:16 -08:00
Mitchell Hashimoto
4cb1ea6ae1
config: allow exact multi-resource references outside slices
2014-10-11 17:20:39 -07:00
Mitchell Hashimoto
7b48924532
config: validate that multi-variables are only used in slices
2014-10-09 21:15:08 -07:00
Mitchell Hashimoto
9dd7618fce
config: fix messaging for name symbols
2014-10-08 16:12:53 -07:00
Mitchell Hashimoto
67d9188a29
config: validate module names are valid
2014-10-08 16:03:22 -07:00
Mitchell Hashimoto
50e5eacc15
config: add NameRegexp
2014-10-08 15:06:04 -07:00
Mitchell Hashimoto
e922b16dba
Merge pull request #377 from hashicorp/f-path-var
...
Add ${path.X} variables for path referencing
2014-10-07 21:26:24 -07:00
Mitchell Hashimoto
c1fa4c2e4b
config: validate that module source can't contain interpolations
2014-10-07 20:19:32 -07:00
Mitchell Hashimoto
679ab1d515
config: parse ${path.module}
2014-10-07 18:03:11 -07:00
Mitchell Hashimoto
b484ec19b6
config: validate that count vars are valid types
2014-10-02 18:24:37 -07:00
Mitchell Hashimoto
bc26777963
config: count can't interpolate count variables
2014-10-02 18:22:32 -07:00
Mitchell Hashimoto
dd14303022
config: validate that count is an int
2014-10-02 16:51:20 -07:00
Mitchell Hashimoto
5090678168
config: validate that only proper variables can be in the count
2014-10-02 16:30:46 -07:00
Mitchell Hashimoto
101ac636a2
config: add Config method
2014-10-02 11:34:08 -07:00
Mitchell Hashimoto
8e2315599f
config: Count can be a string (for interpolation)
2014-10-02 11:14:50 -07:00
Armon Dadgar
1aaddafba0
terraform: Adding lifecycle config block
2014-09-29 15:20:02 -07:00
Armon Dadgar
a14ea76c84
config: Support create_before_destroy config
2014-09-29 15:18:49 -07:00
Mitchell Hashimoto
a36b3e1ec5
command: tests pass
2014-09-24 15:48:46 -07:00
Mitchell Hashimoto
292f57ea0a
config/module: validate outputs line up with ModuleVariables
2014-09-15 13:57:07 -07:00
Mitchell Hashimoto
b60da29d48
config: validate that variables reference valid modules
2014-09-15 11:45:41 -07:00
Mitchell Hashimoto
f8836290da
config: not directory that config was loaded from
2014-09-14 19:35:38 -07:00
Mitchell Hashimoto
8dc8eac4bf
config: change module syntax
2014-09-14 14:43:54 -07:00
Mitchell Hashimoto
dd6f536fab
config: Merge for modules works
2014-09-11 19:54:02 -07:00
Mitchell Hashimoto
610e92cab2
config: validate no duplicate modules
2014-09-11 16:02:36 -07:00
Mitchell Hashimoto
2a6990e2b9
config: `module` structures parse
2014-09-11 15:58:30 -07:00
Mitchell Hashimoto
3e3be5e2a3
config: only walk if non-nil
2014-08-11 21:55:47 -07:00
Mitchell Hashimoto
fe2a306341
config: validate no interp in var [GH-180]
2014-08-11 09:46:56 -07:00
Mitchell Hashimoto
f9f4e62411
config: validate that count is >= 1
2014-07-26 14:49:55 -07:00
Mitchell Hashimoto
20da842bcf
config: validate dependsOn
2014-07-22 17:16:48 -07:00
Mitchell Hashimoto
0699cde1d4
config: depends_on meta-parameter
2014-07-22 17:10:17 -07:00
Mitchell Hashimoto
b10b678326
config: fix error message in validation
2014-07-22 08:47:10 -07:00
Mitchell Hashimoto
f9e6754763
config: comments
2014-07-22 08:43:16 -07:00
Mitchell Hashimoto
61938c070f
config: validate type of default to string or mapping for var
2014-07-22 08:34:24 -07:00
Mitchell Hashimoto
fe2285898a
config: DefaultsMap should return nil if nil
2014-07-22 08:10:06 -07:00
Mitchell Hashimoto
c9a20c3c58
terraform: test that mapping lookups work
2014-07-22 08:06:09 -07:00
Mitchell Hashimoto
c988be9ce7
config: DefaultsMap
2014-07-22 07:41:55 -07:00
Mitchell Hashimoto
b772f8078d
config: detect UserMapVariable
2014-07-21 08:55:45 -07:00
Mitchell Hashimoto
b8a0a02217
config: TODO tests for validation
2014-07-21 08:34:44 -07:00
Mitchell Hashimoto
b0ce89b805
config: change Default to an interface{}
2014-07-21 07:32:36 -07:00
Mitchell Hashimoto
9d2e83d56d
config: Merge works properly
2014-07-20 17:17:03 -07:00
Mitchell Hashimoto
7bd7e4218f
config: make ProviderConfigs slice
2014-07-19 16:05:48 -07:00
Mitchell Hashimoto
3834846418
config: Outputs is now a slice
2014-07-18 22:21:52 -07:00
Mitchell Hashimoto
e4bcd3c448
config: Variables is now a slice
2014-07-18 17:48:30 -07:00
Mitchell Hashimoto
596e0f7f13
config: make dupped nil for GC reasons
2014-07-18 16:31:32 -07:00
Mitchell Hashimoto
50095612a2
config: resource should be unique
2014-07-18 16:31:01 -07:00
Mitchell Hashimoto
5329124cf9
config: unknown keys give errors
2014-07-18 16:00:21 -07:00
Armon Dadgar
36b1a2b9e8
config: Parse out special 'connection' blocks
2014-07-15 12:34:06 -07:00
Mitchell Hashimoto
e250a6f36c
config: understand "provisioner" blocks
2014-07-10 11:38:55 -07:00
Mitchell Hashimoto
cfb08b6c60
config: mark even index accesses as a multi-access
2014-07-06 13:56:18 -07:00
Mitchell Hashimoto
aa6a758f6b
config: if count > 1, variable references must have index
...
/cc @pearkes - Here is that validation
2014-07-06 13:46:56 -07:00
Mitchell Hashimoto
07f98f7ee7
config: special detect ResourceVariables for multi-access
2014-07-05 10:34:52 -07:00
Mitchell Hashimoto
ed1860de61
config: validate output only has "value" field
2014-07-04 10:57:09 -07:00
Mitchell Hashimoto
a4f38a3933
config: validate resource variables in output
2014-07-04 10:53:36 -07:00
Mitchell Hashimoto
cc2bb950a1
config: can parse outputs
2014-07-04 10:43:06 -07:00
Mitchell Hashimoto
3337a625af
config: support count meta-parameter
2014-07-03 20:11:58 -07:00
Mitchell Hashimoto
947fa4e669
terraform: Context introduction
2014-07-03 10:14:17 -07:00
Mitchell Hashimoto
78e056770c
config: validate that resource references are valid
2014-07-02 21:06:26 -07:00
Mitchell Hashimoto
532cc33189
config: semantic check on variable references
2014-07-02 21:01:03 -07:00
Mitchell Hashimoto
1918f199d8
terraform: Graph, config: don't build graph
2014-06-24 14:58:57 -07:00
Mitchell Hashimoto
9acb9535ad
config: ProviderConfigName shouldn't be on Resource
2014-06-24 13:29:07 -07:00
Mitchell Hashimoto
8c50aa6382
config: use the RawConfig whereever posible
2014-06-12 17:40:59 -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
82d527f798
config: rename ResourceGraph to Graph
2014-06-05 12:55:21 -07:00
Mitchell Hashimoto
d2c3db552a
config: providerconfigs can replace variables
2014-06-05 12:52:07 -07:00
Mitchell Hashimoto
3ccfd4d08c
config: depgraph can contain provider configuratoins
2014-06-05 12:47:28 -07:00
Mitchell Hashimoto
e2fa7094bd
config: ProviderConfigName on Resource
2014-06-05 12:21:05 -07:00
Mitchell Hashimoto
bd1f235b9b
config: allow applying variables to resources
2014-06-05 06:23:41 -07:00
Mitchell Hashimoto
d731d033f1
terraform: build resource graph, validate
2014-06-03 17:14:19 -07:00
Mitchell Hashimoto
0008ff12c7
config: determine whether a variable is required properly
2014-06-03 15:55:51 -07:00
Mitchell Hashimoto
ab507814b7
config: support for provider configs
2014-05-25 18:05:18 -07:00
Mitchell Hashimoto
bdeb278728
config: simplify
2014-05-24 13:58:33 -07:00
Mitchell Hashimoto
dac18c823a
config: can generate depgraph
2014-05-24 13:57:51 -07:00
Mitchell Hashimoto
3728e1cfc0
fmt
2014-05-24 12:51:31 -07:00
Mitchell Hashimoto
bb0980f5ba
config: tests for instantiating interpolated var types
2014-05-24 11:41:19 -07:00
Mitchell Hashimoto
9fef261eae
config: comments
2014-05-24 11:36:22 -07:00
Mitchell Hashimoto
95ef186bf8
config: can detect variables in config strings
2014-05-23 21:58:06 -07:00
Mitchell Hashimoto
ec3f72703c
Initial work on config
2014-05-22 16:56:28 -07:00