Emil Hessman
d5a49363d7
config/module: handle absolute file paths on Windows
...
Using url.Parse to parse an absolute file path on Windows yields
a URL type where the Path element is prefixed by a slash.
For example, parsing "file:///C:/Users/user" gives a URL type
with Path:"/C:/Users/user".
According to golang.org/issue/6027, the parsing is correct as is.
The leading slash on the Path must be eliminated before any file
operations.
This commit introduces a urlParse function which wraps the url.Parse
functionality and removes the leading slash in Path for absolute file
paths on Windows.
Fixes config/module test failures on Windows.
2015-01-27 23:18:47 +01:00
Emil Hessman
78d1fc742f
config/module: adjust HttpGetter test to fix Windows test failure
...
Specify laddr on the form host:port in the call to net.Listen as
documented for net.Dial, see godoc.org/net#Dial
Fixes the following test failures on Windows:
> go test -run=TestHttpGetter
--- FAIL: TestHttpGetter_header (0.00s)
get_http_test.go:31: err: Get http://[::]:52101/header?terraform-get=1 : dial tcp [::]:52101: ConnectEx tcp: The requested address is not valid in its context.
--- FAIL: TestHttpGetter_meta (0.00s)
get_http_test.go:55: err: Get http://[::]:52103/meta?terraform-get=1 : dial tcp [::]:52103: ConnectEx tcp: The requested address is not valid in its context.
--- FAIL: TestHttpGetter_metaSubdir (0.00s)
get_http_test.go:79: err: Get http://[::]:52105/meta-subdir?terraform-get=1 : dial tcp [::]:52105: ConnectEx tcp: The requested address is not valid in its context.
FAIL
exit status 1
FAIL github.com/hashicorp/terraform/config/module 0.054s
2015-01-27 23:18:46 +01:00
Emil Hessman
74cf8fcabd
config/module: adjust FileDetector tests for Windows
...
"/foo" is not an absolute path on Windows. Adjust the FileDetector
tests to take that into account when verifying the results.
Fixes FileDetector test failures on Windows.
2015-01-27 23:18:46 +01:00
Emil Hessman
160e4f926e
config/module: fix panic on Windows when running tests
...
On Windows, Go returns paths with the `\` path separator.
Make sure we are using `/` even on Windows since URLs are `/`-based.
2015-01-27 07:52:51 +01:00
Mitchell Hashimoto
63344a37c6
config/lang: verify single quotes syntax error [GH-613]
2015-01-16 10:28:00 -08:00
Mitchell Hashimoto
91a3405e88
config: understand provisioner blocks in JSON [GH-807]
2015-01-16 10:14:48 -08:00
Mitchell Hashimoto
7f9abbb99c
config/lang; missed file
2015-01-15 09:40:36 -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
61ee63d842
config/lang/ast: remove unused Eval
2015-01-14 21:49:39 -08:00
Mitchell Hashimoto
8d2c60a8af
config/lang: eval
2015-01-14 21:48:20 -08:00
Mitchell Hashimoto
4302dbaf2a
config/lang: make TypeCheck implementable by other nodes
2015-01-14 21:18:22 -08:00
Mitchell Hashimoto
57adfe53f6
config/lang: use the new AST stuff
2015-01-14 20:58:46 -08:00
Mitchell Hashimoto
c96b3b9ddc
config/lang/ast: Eval
2015-01-14 20:37:16 -08:00
Mitchell Hashimoto
c4273974de
config/lang/ast: introduce Type
2015-01-14 20:13:35 -08:00
Mitchell Hashimoto
342b4d2d9f
config/lang: proper filename
2015-01-14 16:36:42 -08:00
Mitchell Hashimoto
1e79861b84
config/lang/ast: AST transforms are built-in
2015-01-14 16:36:01 -08:00
Mitchell Hashimoto
d3c0543bf3
Merge pull request #797 from hashicorp/f-stronger-types
...
Force variables to be typed (internally)
2015-01-14 15:30:38 -08:00
Emil Hessman
482460c4c8
config/lang: address vet reports
...
Fixes the following vet reports:
config/lang/check_types.go:98: arg n for printf verb %d of wrong type: *github.com/hashicorp/terraform/config/lang/ast.Concat
config/lang/lex.go:80: arg x.mode for printf verb %s of wrong type: lang.parserMode
2015-01-14 22:04:28 +01:00
Mitchell Hashimoto
6e29ea0366
config/lang: some hoops to get the types to work
2015-01-14 12:18:51 -08:00
Mitchell Hashimoto
591610deea
config/lang: string to int
2015-01-14 12:02:26 -08:00
Mitchell Hashimoto
d12bf66403
config/lang: implicit builtins are coming in
2015-01-14 11:59:06 -08:00
Mitchell Hashimoto
36b6601baf
config/lang: implicit type conversions
2015-01-14 11:47:20 -08:00
Mitchell Hashimoto
8ae14f06b3
config: variables must be typed
2015-01-14 10:40:43 -08:00
Mitchell Hashimoto
dd456871e9
config/lang: remove unused code
2015-01-14 10:11:29 -08:00
Mitchell Hashimoto
92af4801a1
config: reintroduce concat
2015-01-13 12:47:54 -08:00
Mitchell Hashimoto
8d51b6b1d4
config/lang: variadic functions
2015-01-13 12:40:47 -08:00
Mitchell Hashimoto
4af4c9e16c
config: add lookup function back
2015-01-13 12:06:04 -08:00
Mitchell Hashimoto
49fe0d5c7f
config: remove a lot of unused stuff
2015-01-13 11:54:30 -08:00
Mitchell Hashimoto
1ccad4d729
config: convert fucntions, put functions into Scope
2015-01-13 11:50:44 -08:00
Mitchell Hashimoto
4ba7de17a9
config/lang: call the proper functions on Scope
2015-01-13 11:27:10 -08:00
Mitchell Hashimoto
2b679572b4
config/lang: TypeCheck
2015-01-13 11:25:46 -08:00
Mitchell Hashimoto
8ce7ef6188
config/lang: implement identifier semantic check
2015-01-13 11:24:42 -08:00
Mitchell Hashimoto
5abbde3ac9
config: remove unused files
2015-01-13 10:32:03 -08:00
Mitchell Hashimoto
740c25d4ea
config: convert to config/lang
2015-01-13 10:27:57 -08:00
Mitchell Hashimoto
e68fbceebc
config/lang: fix bug parsing empty strings
2015-01-13 10:27:31 -08:00
Mitchell Hashimoto
c424a8a815
config/lang: FixedValueTransform
2015-01-13 10:10:33 -08:00
Mitchell Hashimoto
d1a0ea9d9b
config/lang: make formal Stack object
2015-01-13 09:46:13 -08:00
Mitchell Hashimoto
6d9db3139c
config/lang: AST String() methods
2015-01-13 08:50:28 -08:00
Mitchell Hashimoto
abca82a84e
config: another test
2015-01-12 12:13:30 -08:00
Mitchell Hashimoto
aa2c7b2764
config: DetectVariables to detect interpolated variables in an AST
2015-01-12 12:09:43 -08:00
Mitchell Hashimoto
c05d7a6acd
config/lang: escaping interpolations with double dollar signs
2015-01-12 11:00:56 -08:00
Mitchell Hashimoto
c15c17dfe9
config/lang: remove unused file
2015-01-12 10:48:20 -08:00
Mitchell Hashimoto
f836397d8d
config/lang: enable type checking in execution
2015-01-12 10:21:18 -08:00
Mitchell Hashimoto
ec3b5f3886
config/lang: implement type lookup
2015-01-12 09:57:16 -08:00
Mitchell Hashimoto
25a2fbc902
config/lang: integer and float types
2015-01-12 08:53:27 -08:00
Mitchell Hashimoto
a0926de4a9
config/lang: completed type checking
2015-01-12 00:35:43 -08:00
Mitchell Hashimoto
662760da11
config/lang: have position in AST
2015-01-12 00:28:47 -08:00
Mitchell Hashimoto
d3b1010444
config/lang: start implementing type checking
2015-01-11 23:38:21 -08:00
Mitchell Hashimoto
8f925b93e0
config/lang: function calls work
2015-01-11 15:33:24 -08:00
Mitchell Hashimoto
4ae8cae9e7
config/lang: execution
2015-01-11 15:26:54 -08:00
Mitchell Hashimoto
fa7891d182
config/lang/ast: use stringer to generate enums
2015-01-11 14:35:14 -08:00
Mitchell Hashimoto
1ff5a838a4
config/lang: can parse nested interpolations
2015-01-11 13:59:24 -08:00
Mitchell Hashimoto
669bdc61f9
config/lang: more implemented
2015-01-11 13:03:37 -08:00
Mitchell Hashimoto
fcdcf117f0
config/lang: initial work
2015-01-11 12:38:45 -08:00
Armon Dadgar
69ca9efeea
Merge pull request #700 from Banno/fix-interpolated-func-with-colon
...
Adding colon to interpolated regex so they can be used in concats
2015-01-05 11:42:46 -08:00
Mitchell Hashimoto
6b7dfb4c8f
config: some extra comments
2014-12-26 09:05:24 +05:30
Luke Amdor
e970eea3cd
adding literal colon to interpolated regex
2014-12-21 14:13:41 -06:00
Mitchell Hashimoto
d24082da1e
config: validate that module variables can go to ints, convert [GH-624]
2014-12-15 22:10:16 -08:00
Kushal Pisavadia
b40b7ce01a
Do not read temporary editor files, fixes #548
...
This fixes a bug where Terraform would error with the following:
```
Error loading config: Error reading
/Users/rhenrichs/work/example/.#example.tf: open
/Users/rhenrichs/work/example/.#example.tf: no such file or directory
```
The solution implemented here ignores the common emacs and vim
temporary file formats.
Note: the potential danger with merging this is that Terraform could
quickly have requests to ignore other file formats.
2014-12-09 13:15:00 +00:00
Seth Vargo
94e1eac051
Merge pull request #547 from ceh/issue-518
...
Fix issue 518
2014-11-20 13:30:14 -05:00
Armon Dadgar
4cdeb4b846
Merge pull request #554 from rcostanzo/f-array-index
...
Added an element interpolation lookup function for accessing a specific ...
2014-11-19 16:02:34 -08:00
Rob Costanzo
8da91e9636
Added an element interpolation lookup function for accessing a specific index from a list with splat variables
2014-11-07 10:24:21 -08:00
Emil Hessman
a76290f278
config/module: don't walk dst when dst is in src
...
Fixes #518
2014-11-06 13:45:01 +01:00
Emil Hessman
4bfe18b40d
argument and verb formatting fixes reported by go vet
...
builtin/providers/aws/tags_test.go:56: unrecognized printf verb 'i'
builtin/providers/aws/tags_test.go:59: unrecognized printf verb 'i'
config/config_test.go:101: possible formatting directive in Fatal call
config/config_test.go:157: possible formatting directive in Fatal call
config/module/get_file_test.go:91: missing argument for Fatalf(%s): format reads arg 1, have only 0 args
helper/schema/schema.go:341: arg v.Type for printf verb %s of wrong type: schema.ValueType
helper/schema/schema.go:656: missing argument for Errorf(%s): format reads arg 2, have only 1 args
helper/schema/schema.go:912: arg schema.Type for printf verb %s of wrong type: schema.ValueType
terraform/context.go:178: arg v.Type() for printf verb %s of wrong type: github.com/hashicorp/terraform/config.VariableType
terraform/context.go:486: arg c.Operation for printf verb %s of wrong type: terraform.walkOperation
terraform/diff_test.go💯 arg actual for printf verb %s of wrong type: terraform.DiffChangeType
terraform/diff_test.go:235: arg actual for printf verb %s of wrong type: terraform.DiffChangeType
2014-11-02 13:56:44 +01:00
Mitchell Hashimoto
369ba8cf07
config/module: fix issue where Get was copying subdir contents twice
2014-10-13 17:38:27 -07:00
Mitchell Hashimoto
6ee9c06cdc
config/module: copyDir properly copies files in subdirectories
2014-10-12 21:12:42 -07:00
Mitchell Hashimoto
4cb1ea6ae1
config: allow exact multi-resource references outside slices
2014-10-11 17:20:39 -07:00
Mitchell Hashimoto
36f225dea0
fmt
2014-10-10 14:50:35 -07:00
Mitchell Hashimoto
1ebcedb22b
config: make the interp split pretty insane
2014-10-09 22:45:22 -07:00
Mitchell Hashimoto
61b46c8612
config: add join() function
2014-10-09 21:22:35 -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
a931707a6a
config: removeCurrent finds the proper map
2014-10-09 17:23:10 -07:00
Mitchell Hashimoto
5c7ce2d003
config: make the tests more robust
2014-10-09 16:13:43 -07:00
Mitchell Hashimoto
c6424e9569
config: make the replace function marginally more understandable
2014-10-09 16:12:30 -07:00
Mitchell Hashimoto
22908d67ba
config: first pass at replacing lists within a slice
2014-10-09 15:55:22 -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
d714c6f2f1
terraform: test path variables
2014-10-07 20:09:30 -07:00
Mitchell Hashimoto
1e00b4386c
config/module: Child(nil) or empty will return self
2014-10-07 20:02:18 -07:00
Mitchell Hashimoto
267d45df86
config/module: Can look up Child with Tree.Child
2014-10-07 20:00:36 -07:00
Mitchell Hashimoto
679ab1d515
config: parse ${path.module}
2014-10-07 18:03:11 -07:00
Mitchell Hashimoto
5c2182e316
config/module: only return SkipDir if it is dot-prefixed
2014-10-03 13:48:08 -07:00
Mitchell Hashimoto
f35ebe7032
config/module: walk actually recurses into dirs, don't copy dot-prefix
2014-10-03 13:46:19 -07:00
Mitchell Hashimoto
2e63a69e57
config: validate good count variables
2014-10-02 18:25:18 -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
8756d52124
config: count.index parses
2014-10-02 18:20:55 -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
fa05b165ad
config: fix gob encode/decode for raw config and keys
2014-10-02 13:42:36 -07:00
Mitchell Hashimoto
101ac636a2
config: add Config method
2014-10-02 11:34:08 -07:00
Mitchell Hashimoto
f772c11103
config: validate unknown var in count
2014-10-02 11:18:57 -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
3941dbac5d
fmt
2014-09-28 11:51:49 -07:00
Mitchell Hashimoto
0a2d06268c
config/module: detect supports subdirs
2014-09-27 09:29:12 -07:00
Mitchell Hashimoto
6cbadf14df
config: IsEmptyDir is true if dir doesn't exist
2014-09-26 16:28:18 -07:00
Mitchell Hashimoto
9689a34b28
config/module: GetCopy
2014-09-26 16:21:33 -07:00
Mitchell Hashimoto
c91fd76fe8
config/module: Get can support subdirs
2014-09-26 16:11:13 -07:00
Mitchell Hashimoto
57c1a8dada
config: add IsEmptyDir
2014-09-26 16:04:09 -07:00
Mitchell Hashimoto
4fbd5abc63
config/module: support GitHub paths without //
2014-09-26 15:30:36 -07:00
Mitchell Hashimoto
21d90dcf4f
config/module: HTTP supports subdirs
2014-09-26 15:22:26 -07:00
Mitchell Hashimoto
7aa30fdf25
config: support subdirectories with the "//" syntax
2014-09-26 14:56:04 -07:00
Mitchell Hashimoto
1ef167602e
config/module: validate that required parameters are passed through
2014-09-24 19:40:06 -07:00
Mitchell Hashimoto
a36b3e1ec5
command: tests pass
2014-09-24 15:48:46 -07:00
Mitchell Hashimoto
718fb42f4b
terraform: Plan should use module.Tree
2014-09-24 14:56:48 -07:00
Mitchell Hashimoto
97da02c368
config/module: proper name for root
2014-09-22 16:39:01 -07:00
Mitchell Hashimoto
ed538a9594
command: Get command, not functional yet. Converted to use modules.
2014-09-22 10:56:50 -07:00
Mitchell Hashimoto
9a626b3e8c
config/module: support HTTP protocol
2014-09-16 13:44:12 -07:00
Mitchell Hashimoto
fde151978e
config/module: parallelize some things
2014-09-16 12:02:35 -07:00
Mitchell Hashimoto
27564fff2b
config/module: detect BitBucket URLs
2014-09-16 11:55:14 -07:00
Mitchell Hashimoto
5480eb4e41
config/module: detect preserves forces
2014-09-16 10:54:23 -07:00
Mitchell Hashimoto
2a655bc7d9
config/module: detect GitHub URLs
2014-09-16 10:52:08 -07:00
Mitchell Hashimoto
9c74d6b5c0
config/module: hg supports branches/tags/etc.
2014-09-16 10:30:55 -07:00
Mitchell Hashimoto
feb9a36597
config/module: tests to verify that params are preserved on files
2014-09-16 10:06:44 -07:00
Mitchell Hashimoto
ac19a488d2
config/module: support branches in git
2014-09-16 10:02:11 -07:00
Mitchell Hashimoto
13d892217c
config/module: fix some issues where tag re-pulling didnt' work
2014-09-16 09:59:09 -07:00
Mitchell Hashimoto
dcb900470c
config/module: git supports tags
2014-09-16 09:55:51 -07:00
Mitchell Hashimoto
7e94f7d4a9
config/module: Mercurial support
2014-09-16 09:34:23 -07:00
Mitchell Hashimoto
fc71d7091f
config/module: Git test... this is kind of ghetto
2014-09-16 00:03:20 -07:00
Mitchell Hashimoto
96385113e7
config/module: delete weird subproject business
2014-09-15 23:55:07 -07:00
Mitchell Hashimoto
3e2989daf1
config/module: test Git
2014-09-15 23:52:27 -07:00
Mitchell Hashimoto
acb6d12a75
config/module: support forced getters with TYPE::URL syntax
2014-09-15 23:48:56 -07:00
Mitchell Hashimoto
cf4885d2fd
config/module: git support
2014-09-15 23:32:30 -07:00
Mitchell Hashimoto
7bbf6a0d3a
config/module: NewTreeModule is easier to use
2014-09-15 15:49:07 -07:00
Mitchell Hashimoto
c0a30d3337
config: TestString
2014-09-15 15:43:12 -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
46c140c797
config: can parse module variables
2014-09-15 11:40:25 -07:00
Mitchell Hashimoto
12e7c75211
config/module: validate that parameters into modules valid
2014-09-15 10:32:41 -07:00
Mitchell Hashimoto
2419bf79f2
config/module: error if duplicate module
2014-09-15 09:53:29 -07:00
Mitchell Hashimoto
4fdb6d1b52
config: add test for empty file
2014-09-15 09:41:00 -07:00
Mitchell Hashimoto
c9fd910c41
config/module: Validate
2014-09-15 09:37:40 -07:00
Mitchell Hashimoto
30b76ef820
config/module: tree.String()
2014-09-14 20:14:37 -07:00
Mitchell Hashimoto
85d1e40644
config/module: can load a tree properly
2014-09-14 20:00:17 -07:00
Mitchell Hashimoto
e96fe43814
config: dir on Config should be an absolute path
2014-09-14 19:55:38 -07:00
Mitchell Hashimoto
f8836290da
config: not directory that config was loaded from
2014-09-14 19:35:38 -07:00
Mitchell Hashimoto
6eee9fbcb3
config/module: file paths require pwd
2014-09-14 19:28:18 -07:00
Mitchell Hashimoto
a35a9262d4
config/module: detectors, some more work on Tree
2014-09-14 16:17:29 -07:00
Mitchell Hashimoto
799ffbb3ac
config/module: tree.Modules()
2014-09-14 14:46:45 -07:00
Mitchell Hashimoto
8dc8eac4bf
config: change module syntax
2014-09-14 14:43:54 -07:00
Mitchell Hashimoto
5e4c2b4f49
config/module: test that symlink that exists will be overwritten
2014-09-14 10:36:02 -07:00
Mitchell Hashimoto
fa997525c2
config/module: Get tests
2014-09-13 18:58:21 -07:00
Mitchell Hashimoto
c2fe35e74e
config/module: FileGetter tests
2014-09-13 18:54:12 -07:00
Mitchell Hashimoto
bb22090040
config/module: start, lots of initial work
2014-09-13 17:45:56 -07:00