Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding CRUD support for Customer Gateway for AWS VPC. #838

Closed
wants to merge 623 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
623 commits
Select commit Hold shift + click to select a range
e7ce9a4
provider/aws: Convert AWS S3 Bucket to awslabs/aws-sdk-go
catsby Feb 19, 2015
fad7e48
Update CHANGELOG.md
catsby Feb 19, 2015
88311ec
terraform: re-enable dot-graphs
mitchellh Feb 20, 2015
2c3c519
merge master
catsby Feb 20, 2015
f64221f
Merge config
catsby Feb 20, 2015
7f92c78
config: depends on cannot contain interpolations [GH-985]
mitchellh Feb 20, 2015
a134988
config: validate configuration doens't contain splats to ourselves
mitchellh Feb 20, 2015
a406d45
config: test we can ref splat of other resources
mitchellh Feb 20, 2015
0d0b43e
config: validate provisioner splats can only reference others
mitchellh Feb 20, 2015
792a0c3
update CHANGELOG
mitchellh Feb 20, 2015
c7d5234
provider/aws: Convert AWS AutoScalingGroup to awslabs/aws-sdk-go
catsby Feb 20, 2015
0ac7a42
randomize ASG name in test, to get around slow AWS delete time
catsby Feb 20, 2015
d88a1ff
terraform: test case for destroying with a count [GH-527]
mitchellh Feb 20, 2015
952f1f0
website: clarify lookup [GH-531]
mitchellh Feb 20, 2015
7749403
providers/aws: if a VPC doesn't exist, then remove from state
mitchellh Feb 20, 2015
88dfc3b
update CHANGELOG
mitchellh Feb 20, 2015
fcc2fc2
fmt
mitchellh Feb 20, 2015
ba743d1
terraform: provisioners should be cached with the provisioner name
mitchellh Feb 20, 2015
9801d81
cleanups after feedback
catsby Feb 20, 2015
202c3f3
terraform: State.Equal
mitchellh Feb 20, 2015
ee652dc
update CHANGELOG
mitchellh Feb 20, 2015
f78b1a8
remove the rand, it's not helping like I thought
catsby Feb 20, 2015
ded9dcc
terraform: Input should only be called on providers once
mitchellh Feb 20, 2015
12a70de
terraform: cache provider configuration with the provider name
mitchellh Feb 20, 2015
d268015
remote: just limiting the public API
mitchellh Feb 21, 2015
5a3ed4f
Revert "remote: just limiting the public API"
mitchellh Feb 21, 2015
9be2a7c
providers/aws: fix source_dest_check on instance creation
phinze Feb 21, 2015
d8477a9
Add google resources to sidebar
sparkprime Feb 23, 2015
2505f22
Fix argument order
sparkprime Feb 23, 2015
4ad4002
Remove unnecessary ;
sparkprime Feb 23, 2015
06c1bae
terraform: remove debug println
mitchellh Feb 23, 2015
1e40425
update CHANGELOG
mitchellh Feb 23, 2015
e9760b4
update CHANEGLOG
mitchellh Feb 23, 2015
7b4dea5
update CHANGELOG
mitchellh Feb 23, 2015
3b897cd
terraform: module inputs/vars can be non-strings [GH-819]
mitchellh Feb 20, 2015
ae55200
update CHANGELOG
mitchellh Feb 23, 2015
3d538d9
update CHANGELOG
mitchellh Feb 23, 2015
f5a8571
Revert "Heroku returns config_vars for addon as string array."
mitchellh Feb 23, 2015
94de0fa
update HANGELOG
mitchellh Feb 23, 2015
e1a31c6
config: self variables
mitchellh Feb 23, 2015
6156aaa
config: self var validation
mitchellh Feb 23, 2015
9d1ba8f
terraform: enable self vars
mitchellh Feb 23, 2015
76a1371
terraform: more self tests
mitchellh Feb 23, 2015
f175e74
website: update docs for self
mitchellh Feb 23, 2015
f647d29
state: a bunch of state stuff
mitchellh Feb 21, 2015
1b69fe8
state: cache state test
mitchellh Feb 21, 2015
2cbd71c
state: add strings for cache refresh result
mitchellh Feb 21, 2015
decb5eb
state/remote: consul client
mitchellh Feb 21, 2015
c35a063
state/remote: comment
mitchellh Feb 21, 2015
3c5b4c5
state/remote: can handle nil payloads
mitchellh Feb 21, 2015
9add27a
command: start migrating to new state package
mitchellh Feb 22, 2015
7ed28b8
state: LocalState allows file to not exist
mitchellh Feb 22, 2015
f195ef8
state: LocalState supports alternate output path
mitchellh Feb 22, 2015
fc43333
state: backup state
mitchellh Feb 22, 2015
002f404
command: deal with plan states
mitchellh Feb 22, 2015
ffba255
state/remote: add HTTP client
mitchellh Feb 22, 2015
0a51307
command: backup stuff works better
mitchellh Feb 22, 2015
fd98871
command: default path should be the local path
mitchellh Feb 22, 2015
0cb5133
command: FlagVar => FlagKV
mitchellh Feb 22, 2015
a30ef17
terraform: State.IsRemote
mitchellh Feb 22, 2015
db0b11e
terraform: State.IsEmpty
mitchellh Feb 22, 2015
69ba650
command/init: remove dependency on remote package
mitchellh Feb 22, 2015
555ceaa
command: remove more remote package
mitchellh Feb 22, 2015
b6565a0
command/pull: remove remote package
mitchellh Feb 22, 2015
92ce1bf
command/push: no more remote package
mitchellh Feb 22, 2015
944e60f
command/refresh: get rid of remote package
mitchellh Feb 22, 2015
0709e0f
command/apply: remove remote package
mitchellh Feb 22, 2015
4eaa525
state/remote: real HTTP client tests
mitchellh Feb 23, 2015
6e50e37
state: InmemState
mitchellh Feb 23, 2015
8ef840b
command/remote: no more remote package
mitchellh Feb 23, 2015
5c52c63
command: remove remote package
mitchellh Feb 23, 2015
05b870a
state/remote: atlas
mitchellh Feb 23, 2015
a9e697d
command/remote: general `-config` flag
mitchellh Feb 23, 2015
2f8fdf4
remote: delete package
mitchellh Feb 23, 2015
0cff17a
command/init: -backend-config
mitchellh Feb 23, 2015
c22e1fd
command: update help text
mitchellh Feb 23, 2015
b637109
update CHANGELOG
mitchellh Feb 23, 2015
55eddd7
config/module: retry bitbucket test a few times [GH-1027]
mitchellh Feb 23, 2015
01c2a56
state/remote: nitpick some style
mitchellh Feb 23, 2015
85f8e4d
state/remote: passing Atlas state test
mitchellh Feb 24, 2015
713d6e4
terraform: PostStateUpdate hook and EvalUpdateStateHook
mitchellh Feb 24, 2015
246820b
terraform: call the EvalUpdateStateHook strategically
mitchellh Feb 24, 2015
11ab2f8
state: only change serial if changed
mitchellh Feb 24, 2015
70baa1d
state/remote: increment serial properly
mitchellh Feb 24, 2015
eba62fc
terraform: make DeepCopy public
mitchellh Feb 24, 2015
fb3fedf
state: deep copies are required
mitchellh Feb 24, 2015
12f50a7
terraform: more state tests, fix a bug
mitchellh Feb 24, 2015
54f3d0b
command: StateHook for continous state updates
mitchellh Feb 24, 2015
450e186
terraform: test post state update is called
mitchellh Feb 24, 2015
5e5bcef
provider/aws: Convert AWS DB Instance over to awslabs/aws-sdk-go
catsby Feb 23, 2015
0cf89a8
update CHANGELOG
mitchellh Feb 25, 2015
4922c09
providers/aws: Convert Launch Configurations to awslabs/aws-sdk-go
catsby Feb 20, 2015
cc2d95f
terraform: destroy node should not create
mitchellh Feb 25, 2015
6b1c854
First refactor
Feb 25, 2015
1230113
VPC Refactor
Feb 25, 2015
e085182
provider/aws: Fix issue with AWS RDS DB instance which prevented disa…
catsby Feb 25, 2015
96cc29b
provider/aws: Remove sentinel value default for RDS instance; default…
catsby Feb 25, 2015
304add0
Fix zero case
catsby Feb 25, 2015
8d88aac
Swap awslabs/aws-sdk-go for hashicorp fork
catsby Feb 25, 2015
fb814b8
Prevent empty string to be used as default health_check_type
Feb 25, 2015
8f7aa87
dnsmadeeasy: re-organize the bins
pearkes Feb 25, 2015
b1d9ee9
update changelog
pearkes Feb 25, 2015
0e98a4d
providers/dme: rename dnsmadeeasy package to dme
pearkes Feb 25, 2015
c3c5efb
providers/digitalocean: increase timeout for droplet wait to 60 mins
pearkes Feb 26, 2015
81e562e
providers/digitalocean: wait for droplet to be unlocked before destroy
pearkes Feb 26, 2015
cdb91e2
provider/aws: Convert RDS DB Parameter group to aws-sdk-go
catsby Feb 26, 2015
efd8263
Update ingress signature
catsby Feb 26, 2015
62d552f
update changelog
pearkes Feb 26, 2015
5307e78
providers/digitalocean: use real bools for droplet creation
pearkes Feb 26, 2015
2d6f6f7
terraform: test for various taint cases
mitchellh Feb 26, 2015
2a8bdb6
terraform: add ResourceState.Taint
mitchellh Feb 26, 2015
f767544
helper/resource: allow configuration of not found checks in state change
pearkes Feb 26, 2015
f1fe956
providers/digitalocean: be more lenient for droplets 404ing on creation
pearkes Feb 26, 2015
ed0de20
command/taint: new command
mitchellh Feb 26, 2015
dcaafdc
main: add the taint command
mitchellh Feb 26, 2015
d8d5204
website: docs for tainted command
mitchellh Feb 26, 2015
b5e9180
command/taint: support tainting resources in modules
mitchellh Feb 26, 2015
bf28d6c
website: update docs for tainted
mitchellh Feb 26, 2015
1d986f9
command/taint: -allow-missing
mitchellh Feb 26, 2015
1483308
config/lang: add math operations for ints
mitchellh Feb 26, 2015
c3a2f09
provider/aws: Convert AWS DB Security Group to aws-sdk-go
catsby Feb 26, 2015
a05e79b
provider/aws: Convert db security group test
catsby Feb 26, 2015
94c798e
remove helper functions, flatten status in the function
catsby Feb 26, 2015
024c36e
provider/aws: convert db param group test to use aws-sdk-go
catsby Feb 26, 2015
0c3cd45
website: route53 subdomain hosted zones example
pearkes Feb 26, 2015
a7cc7e8
config/lang: math operations
mitchellh Feb 26, 2015
a6d901e
command/taint: fix comment
mitchellh Feb 26, 2015
fbee25e
config/lang: fix shift/reduce conflict
mitchellh Feb 26, 2015
41bffd7
config/lang: add test with expressions
mitchellh Feb 26, 2015
a95dc29
config/lang: add (expr) for order of ops
mitchellh Feb 26, 2015
07d7cc9
update changelog
pearkes Feb 26, 2015
d38f5a0
config/lang: add modulo
mitchellh Feb 26, 2015
0c39d29
core: band-aid fix for tainted double destroy
phinze Feb 27, 2015
89d1aee
update cHANGELOG
mitchellh Feb 27, 2015
4f2b999
Add DigitalOcean SSH Key resource
lalloni Feb 25, 2015
7fa5112
provider/aws: convert aws rds subnet to aws-sdk-go
catsby Feb 26, 2015
3341ab8
providers/aws: increase db instance wait times
pearkes Feb 27, 2015
ddb929c
Update CHANGELOG.md
pearkes Feb 27, 2015
87e22c6
update cHANGELOG
mitchellh Feb 27, 2015
79f2377
adding storage_encrypted as an optional boolean parameter to support …
Feb 24, 2015
a7ee3b5
dag: TransitiveReduction
mitchellh Feb 28, 2015
b643e62
terraform: add TransitiveReductionTransformer
mitchellh Feb 28, 2015
fe22f4e
terraform: do the transitive reduction as part of the graph builder
mitchellh Feb 28, 2015
253662d
dag: do a DFS for each vertex
mitchellh Feb 28, 2015
7e246d6
config: substring containing computed value replaces element
mitchellh Feb 28, 2015
4f17f40
config: if any var is computed, the entire interpolation is computed
mitchellh Feb 28, 2015
fb39fad
update CHANGELOG
mitchellh Feb 28, 2015
dea2832
terraform: catch scenario where both "foo" and "foo.0" are in state
mitchellh Mar 2, 2015
9318c28
terraform: test the increase from one case
mitchellh Mar 2, 2015
a98c518
Refactor with Acceptance Tests
Mar 2, 2015
2ab0e0b
Save token that came from goamz + use it in go-sdk-aws
Mar 2, 2015
f75a204
provider/aws: Convert AWS ELB to aws-sdk-go
catsby Mar 2, 2015
3fbec54
add simple test for expandInstanceString
catsby Mar 2, 2015
eb80426
update CHANGELOG
mitchellh Mar 2, 2015
3138e92
terraform: style, multiline a long line
mitchellh Mar 2, 2015
514fae3
command: disable backup with "-" [GH-1072]
mitchellh Mar 2, 2015
85ff1d3
provider/aws: Special case us-east-1 for S3 bucket creation.
catsby Mar 2, 2015
77aff7f
command: autoload terraform.tfvars.json as well [GH-1030]
mitchellh Mar 2, 2015
35fe8e0
config: add replace function
mitchellh Mar 2, 2015
8933429
website: doc replace
mitchellh Mar 2, 2015
65fac97
config: test bad regexp for replace
mitchellh Mar 2, 2015
75ba273
update CHANGELOG
mitchellh Mar 2, 2015
f1abd8b
config: only regexp if at least two characters in replace search
mitchellh Mar 2, 2015
1a65f34
rename structure tests to be more idiomatic
catsby Mar 2, 2015
f4fc649
update CHANGELOG
mitchellh Mar 2, 2015
7eede29
providers/google: set only top-level configs for lists [GH-929]
mitchellh Mar 2, 2015
dd2569b
config: add format function
mitchellh Mar 2, 2015
9dc3e1b
website: document format
mitchellh Mar 2, 2015
f16c573
providers/aws: Convert AWS Subnet to aws-sdk-go
catsby Mar 2, 2015
391594e
protocol value for all traffic should be -1
yikaus Mar 2, 2015
e74855b
helper/schema: allow pointer values to ResourceData.Set
mitchellh Mar 3, 2015
af81acd
Changed things around as suggested by @catsby
Mar 3, 2015
5cd6776
Using hashicorp/aws-sdk-go
Mar 3, 2015
bfd9545
providers/aws: add iops to block devices
suguru Mar 3, 2015
efd4e51
config/lang: test case for multiline lang
mitchellh Mar 3, 2015
baf8a84
helper/schema: test real nil pointer to ResourceData.Set
mitchellh Mar 3, 2015
bcf2ea9
Adding a managed parameter
Mar 3, 2015
5164c36
Fixing a small bug in the ACL rule hash function
Mar 3, 2015
010dc4f
Updating the docs so the represent the added feature
Mar 3, 2015
6218780
Removed additional variable for print, added for debugging
rmenn Mar 3, 2015
9b79649
provider/aws: Convert AWS EIP to use aws-sdk-go
catsby Mar 3, 2015
3b9772b
providers/aws: Convert AWS Internet Gateway to aws-sdk-go
catsby Mar 3, 2015
31bc6e3
website: note TF plugin name is important [GH-847]
mitchellh Mar 4, 2015
81049bb
website: note that terraform get is required [GH-706]
mitchellh Mar 4, 2015
accf0fc
website: document MFA token for AWS [GH-390]
mitchellh Mar 4, 2015
9b917ba
website; clarify where the args go for AWS [GH-853]
mitchellh Mar 4, 2015
2cf4de9
Added vpc refactor in aws sdk go
Feb 25, 2015
c7716d8
Added Tagging
Mar 4, 2015
8ae0c70
provider/aws: Convert AWS Internet Gateway (test) to aws-sdk-go
catsby Mar 4, 2015
fe7dea9
Adding a few new resources
Mar 4, 2015
201454e
core: [refactor] pull Deposed out of Tainted list
phinze Feb 27, 2015
ea12489
core: [refactor] pull out common ReadState behavior
phinze Mar 2, 2015
5b7f461
core: [refactor] split WriteState EvalNodes
phinze Mar 2, 2015
805df1e
core: [refactor] store Deposed resource instances as a list
phinze Mar 4, 2015
da0248b
provider/aws: Convert AWS Key Pair to aws-sdk-go
catsby Mar 4, 2015
fafd32c
update CHANGELOG
mitchellh Mar 5, 2015
0165fef
command: move remote configuration stuff
mitchellh Mar 5, 2015
129d649
core: [refactor] DRY up EvalWriteState nodes
phinze Mar 5, 2015
0c8e2ac
command/remote
mitchellh Mar 5, 2015
c6523f0
website: docs for new remote commands
mitchellh Mar 5, 2015
227d13c
update CHANGELOG
mitchellh Mar 5, 2015
8342098
core: tweaks from code review
phinze Mar 5, 2015
12cc004
Let aws_db_instance.*.address to be actually address
Mar 5, 2015
37fa433
helper/schema: [tests] add names to Validate tests
phinze Mar 5, 2015
c3cc950
command: warnings should not exit
phinze Mar 5, 2015
14d97f3
providers/aws: go vet fixes in aws_subnet
phinze Mar 5, 2015
6b900ec
travis: run `go vet` on every build
phinze Mar 5, 2015
301074f
state/remote: add undocumented file backend for remote state
mitchellh Mar 5, 2015
c2541c8
helper/schema: allow Schema attrs to be Deprecated
phinze Mar 5, 2015
e976d44
helper/schema: allow Schema attrs to be Removed
phinze Mar 5, 2015
faa32d9
Update CHANGELOG.md
phinze Mar 5, 2015
8e85b31
providers/aws: final_snapshot_id isn't ForceNew
phinze Mar 6, 2015
e4966dc
vpc_peering docs added to sidebar
radeksimko Mar 6, 2015
124bd29
Replace git:// with https:// in middleman source
Mar 6, 2015
140d326
Locked dependencies updated to latest versions
Mar 6, 2015
6f86384
Add quickdev option; skips getting dependencies to make repeated buil…
Mar 6, 2015
8887a89
website: add digitalocean ssh_key documentation
pearkes Mar 6, 2015
929fc64
update changelog
pearkes Mar 6, 2015
1e594a0
update changelog (fix previous)
pearkes Mar 6, 2015
cc4592e
provider/aws: Convert aws instance test to aws-sdk
catsby Mar 5, 2015
ff08571
helper/schema: schema versioning & migration
phinze Mar 6, 2015
2f02c7a
Adding tests and docs for the new VPN resources
Mar 9, 2015
b8062b4
Fixing a corner case while retrieving a template UUID
Mar 9, 2015
5daa688
Fixing up the tests to make them pass correctly
Mar 9, 2015
c2af8cc
provider/aws: Convert AWS Security Group to aws-sdk-go
catsby Mar 9, 2015
747bccc
aws/Route53 record creation timeout 10->30 mins
Mar 9, 2015
e80029d
provider/aws: Convert Main Route Table assoc. to aws-sdk-go
catsby Mar 9, 2015
3929a88
Give route table assoc it's own copy of this method for now
catsby Mar 9, 2015
61f22c9
provider/aws: Convert AWS Route Table to aws-sdk-go
catsby Mar 10, 2015
a9cf86a
convert route table tests to aws-sdk-go
catsby Mar 10, 2015
2ef0e3d
provider/aws: Add env default for AWS_ACCOUNT_ID in VPC Peering conne…
catsby Mar 10, 2015
7b59396
providers/aws: Convert AWS VPC Peering to aws-sdk-go
catsby Mar 10, 2015
717527b
clean up debug output to make go vet happy
catsby Mar 10, 2015
261d735
Cleansup: Restore expandIPPerms, remove flattenIPPerms
catsby Mar 10, 2015
acc25dc
provider/aws: Convert AWS Route Table Association to aws-sdk-go
catsby Mar 9, 2015
1fa00e4
remove duplicated function
catsby Mar 10, 2015
e33173c
fix nit-pick from go vet
catsby Mar 10, 2015
840cdc7
Bugfix: Add tags on AWS IG creation, not just on update
radeksimko Mar 10, 2015
3cd8b90
Update CHANGELOG.md
mitchellh Mar 11, 2015
5d9770c
Code cleanup
catsby Mar 11, 2015
80538c4
restore IOPS positioning
catsby Mar 11, 2015
009f4f9
code cleanup on subnet check
catsby Mar 11, 2015
b18afea
provider/aws update Network ACL tests
catsby Mar 11, 2015
c03dd29
more test updates
catsby Mar 11, 2015
048c634
Update website docs on AWS RDS encryption field
catsby Mar 11, 2015
ff6405d
provider/aws: Convert AWS Network ACL to aws-sdk-go
catsby Mar 11, 2015
c52cf5b
clean up
catsby Mar 11, 2015
413ff94
helper/ssh: update import location
phinze Mar 11, 2015
badbf94
upgrade tests and remove ICMPTypeCode for now
catsby Mar 11, 2015
97b3114
minor style cleanups
catsby Mar 12, 2015
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,5 @@ website/node_modules
*.tfstate
*.log
*.bak
*~
.*.swp
27 changes: 21 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,30 @@
sudo: false

language: go

go:
- 1.4
- tip
- 1.4
- tip

install: make updatedeps

script:
- go test ./...
#- go test -race ./...
- go test ./...
- make vet
#- go test -race ./...

branches:
only:
- master

notifications:
irc:
channels:
- "irc.freenode.org#terraform-tool"
skip_join: true
use_notice: true

matrix:
allow_failures:
- go: tip
fast_finish: true
allow_failures:
- go: tip
112 changes: 110 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,96 @@
## 0.3.7 (unreleased)
## 0.4.0 (unreleased)

BACKWARDS INCOMPATIBILITIES:

* Commands `terraform push` and `terraform pull` are now nested under
the `remote` command: `terraform remote push` and `terraform remote pull`.
The old `remote` functionality is now at `terraform remote config`. This
consolidates all remote state management under one command.

FEATURES:

* **New provider: `dme` (DNSMadeEasy)** [GH-855]
* **New command: `taint`** - Manually mark a resource as tainted, causing
a destroy and recreate on the next plan/apply.
* **Self-variables** can be used to reference the current resource's
attributes within a provisioner. Ex. `${self.private_ip_address}` [GH-1033]
* **Continous state** saving during `terraform apply`. The state file is
continously updated as apply is running, meaning that the state is
less likely to become corrupt in a catastrophic case: terraform panic
or system killing Terraform.
* **Math operations** in interpolations. You can now do things like
`${count.index+1}`. [GH-1068]

IMPROVEMENTS:

* **New config function: `format`** - Format a string using `sprintf`
format. [GH-1096]
* **New config function: `replace`** - Search and replace string values.
Search can be a regular expression. See documentation for more
info. [GH-1029]
* **New config function: `split`** - Split a value based on a delimiter.
This is useful for faking lists as parameters to modules.
* **New resource: `digitalocean_ssh_key`** [GH-1074]
* core: The serial of the state is only updated if there is an actual
change. This will lower the amount of state changing on things
like refresh.
* core: Autoload `terraform.tfvars.json` as well as `terraform.tfvars` [GH-1030]

BUG FIXES:

* core: module outputs can be used as inputs to other modules [GH-822]
* core: Self-referencing splat variables are no longer allowed in
provisioners. [GH-795][GH-868]
* core: Validate that `depends_on` doesn't contain interpolations. [GH-1015]
* core: Module inputs can be non-strings. [GH-819]
* core: Fix invalid plan that resulted in "diffs don't match" error when
a computed attribute was used as part of a set parameter. [GH-1073]
* core: Fix edge case where state containing both "resource" and
"resource.0" would ignore the latter completely. [GH-1086]
* providers/aws: manually deleted VPC removes it from the state
* providers/aws: `source_dest_check` regression fixed (now works). [GH-1020]
* providers/aws: Longer wait times for DB instances.
* providers/aws: Longer wait times for route53 records (30 mins). [GH-1164]
* providers/digitalocean: Waits until droplet is ready to be destroyed [GH-1057]
* providers/digitalocean: More lenient about 404's while waiting [GH-1062]
* providers/google: Network data in state was not being stored. [GH-1095]

PLUGIN CHANGES:

* New `helper/schema` fields for resources: `Deprecated` and `Removed` allow
plugins to generate warning or error messages when a given attribute is used.

## 0.3.7 (February 19, 2015)

IMPROVEMENTS:

* **New resources: `google_compute_forwarding_rule`, `google_compute_http_health_check`,
and `google_compute_target_pool`** - Together these provide network-level
load balancing. [GH-588]
* **New resource: `aws_main_route_table_association`** - Manage the main routing table
of a VPC. [GH-918]
* **New resource: `aws_vpc_peering_connection`** [GH-963]
* core: Formalized the syntax of interpolations and documented it
very heavily.
* core: Strings in interpolations can now contain further interpolations,
e.g.: `foo ${bar("${baz}")}`.
* provider/aws: Internet gateway supports tags [GH-720]
* provider/aws: Support the more standard environmental variable names
for access key and secret keys. [GH-851]
* provider/aws: The `aws_db_instance` resource no longer requires both
`final_snapshot_identifier` and `skip_final_snapshot`; the presence or
absence of the former now implies the latter. [GH-874]
* provider/aws: Avoid unecessary update of `aws_subnet` when
`map_public_ip_on_launch` is not specified in config. [GH-898]
* provider/aws: Add `apply_method` to `aws_db_parameter_group` [GH-897]
* provider/aws: Add `storage_type` to `aws_db_instance` [GH-896]
* provider/aws: ELB can update listeners without requiring new. [GH-721]
* provider/aws: Security group support egress rules. [GH-856]
* provider/aws: Route table supports VPC peering connection on route. [GH-963]
* provider/aws: Add `root_block_device` to `aws_db_instance` [GH-998]
* provider/google: Remove "client secrets file", as it's no longer necessary
for API authentication [GH-884].
* provider/google: Expose `self_link` on `google_compute_instance` [GH-906]

BUG FIXES:

Expand All @@ -17,17 +101,41 @@ BUG FIXES:
* core: Fix crash that could occur when there are exactly zero providers
installed on a system. [GH-786]
* core: JSON TF configurations can configure provisioners. [GH-807]
* core: Sort `depends_on` in state to prevent unnecessary file changes. [GH-928]
* core: State containing the zero value won't cause a diff with the
lack of a value. [GH-952]
* core: If a set type becomes empty, the state will be properly updated
to remove it. [GH-952]
* core: Bare "splat" variables are not allowed in provisioners. [GH-636]
* core: Invalid configuration keys to sub-resources are now errors. [GH-740]
* command/apply: Won't try to initialize modules in some cases when
no arguments are given. [GH-780]
* command/apply: Fix regression where user variables weren't asked [GH-736]
* provider/aws: ELB subnet change doesn't force new resource. [GH-804]
* helper/hashcode: Update `hash.String()` to always return a positive index.
Fixes issue where specific strings would convert to a negative index
and be ommited when creating Route53 records. [GH-967]
* provider/aws: Automatically suffix the Route53 zone name on record names. [GH-312]
* provider/aws: Instance should ignore root EBS devices. [GH-877]
* provider/aws: Fix `aws_db_instance` to not recreate each time. [GH-874]
* provider/aws: ASG termination policies are synced with remote state. [GH-923]
* provider/aws: ASG launch configuration setting can now be updated in-place. [GH-904]
* provider/aws: No read error when subnet is manually deleted. [GH-889]
* provider/aws: Tags with empty values (empty string) are properly
managed. [GH-968]
* provider/aws: Fix case where route table would delete its routes
on an unrelated change. [GH-990]
* provider/google: Fix bug preventing instances with metadata from being
created [GH-884].

PLUGIN CHANGES:

* New `helper/schema` type: `TypeFloat` [GH-594]
* New `helper/schema` field for resources: `Exists` must point to a function
to check for the existence of a resource. This is used to properly
handle the case where the resource was manually deleted. [GH-766]
* There is a semantic change in `GetOk` where it will return `true` if
there is any value in the diff that is _non-zero_. Before, it would
return true only if there was a value in the diff.

## 0.3.6 (January 6, 2015)

Expand Down
37 changes: 30 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,35 +3,56 @@ VETARGS?=-asmdecl -atomic -bool -buildtags -copylocks -methods -nilfunc -printf

default: test

# bin generates the releaseable binaries for Terraform
bin: generate
@sh -c "'$(CURDIR)/scripts/build.sh'"

# dev creates binaries for testing Terraform locally. These are put
# into ./bin/ as well as $GOPATH/bin
dev: generate
@TF_DEV=1 sh -c "'$(CURDIR)/scripts/build.sh'"

quickdev: generate
@TF_QUICKDEV=1 TF_DEV=1 sh -c "'$(CURDIR)/scripts/build.sh'"

# test runs the unit tests and vets the code
test: generate
TF_ACC= go test $(TEST) $(TESTARGS) -timeout=10s -parallel=4
TF_ACC= go test $(TEST) $(TESTARGS) -timeout=30s -parallel=4
@$(MAKE) vet

# testacc runs acceptance tests
testacc: generate
@if [ "$(TEST)" = "./..." ]; then \
echo "ERROR: Set TEST to a specific package"; \
exit 1; \
fi
TF_ACC=1 go test $(TEST) -v $(TESTARGS) -timeout 45m

# testrace runs the race checker
testrace: generate
TF_ACC= go test -race $(TEST) $(TESTARGS)

# updatedeps installs all the dependencies that Terraform needs to run
# and build.
updatedeps:
$(eval REF := $(shell sh -c "\
git symbolic-ref --short HEAD 2>/dev/null \
|| git rev-parse HEAD"))
go get -u github.com/mitchellh/gox
go get -u golang.org/x/tools/cmd/stringer
go get -u golang.org/x/tools/cmd/vet
go get -f -u -v ./...
git checkout $(REF)
go list ./... \
| xargs go list -f '{{join .Deps "\n"}}' \
| grep -v github.com/hashicorp/terraform \
| sort -u \
| xargs go get -f -u -v

cover:
@go tool cover 2>/dev/null; if [ $$? -eq 3 ]; then \
go get -u golang.org/x/tools/cmd/cover; \
fi
go test $(TEST) -coverprofile=coverage.out
go tool cover -html=coverage.out
rm coverage.out

# vet runs the Go source code static analysis tool `vet` to find
# any common errors.
vet:
@go tool vet 2>/dev/null ; if [ $$? -eq 3 ]; then \
go get golang.org/x/tools/cmd/vet; \
Expand All @@ -43,6 +64,8 @@ vet:
echo "and fix them if necessary before submitting the code for reviewal."; \
fi

# generate runs `go generate` to build the dynamically generated
# source files.
generate:
go generate ./...

Expand Down
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,6 @@ For local dev first make sure Go is properly installed, including setting up a [
- [Git](http://git-scm.com/)
- [Mercurial](http://mercurial.selenic.com/)

Then, install [Gox](https://github.com/mitchellh/gox), which is used as a compilation tool on top of Go:

```sh
$ go get -u github.com/mitchellh/gox
```

Next, clone this repository into `$GOPATH/src/github.com/hashicorp/terraform`. Install the necessary dependencies by running `make updatedeps` and then just type `make`. This will compile some more dependencies and then run the tests. If this exits with exit status 0, then everything is working!

```sh
Expand Down Expand Up @@ -78,7 +72,13 @@ If you're working on a feature of a provider and want to verify it is functionin
To run the acceptance tests, invoke `make testacc`:

```sh
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=VPC'
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=Vpc'
go generate ./...
TF_ACC=1 go test ./builtin/providers/aws -v -run=Vpc -timeout 45m
=== RUN TestAccVpc_basic
2015/02/10 14:11:17 [INFO] Test: Using us-west-2 as test region
[...]
[...]
...
```

Expand Down
2 changes: 1 addition & 1 deletion Vagrantfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ cd /opt/go/src && ./all.bash
mkdir -p /opt/gopath
cat <<EOF >/etc/profile.d/gopath.sh
export GOPATH="/opt/gopath"
export PATH="/opt/go/bin:\$GOPATH/bin:\$PATH"
export PATH="/opt/go/bin:$GOPATH/bin:\$PATH"
EOF

# Make sure the GOPATH is usable by vagrant
Expand Down
12 changes: 12 additions & 0 deletions builtin/bins/provider-dme/main.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package main

import (
"github.com/hashicorp/terraform/builtin/providers/dme"
"github.com/hashicorp/terraform/plugin"
)

func main() {
plugin.Serve(&plugin.ServeOpts{
ProviderFunc: dme.Provider,
})
}
1 change: 1 addition & 0 deletions builtin/bins/provider-dme/main_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package main
43 changes: 33 additions & 10 deletions builtin/providers/aws/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,31 @@ import (
"github.com/mitchellh/goamz/ec2"
"github.com/mitchellh/goamz/elb"
"github.com/mitchellh/goamz/rds"
"github.com/mitchellh/goamz/route53"
"github.com/mitchellh/goamz/s3"

awsGo "github.com/awslabs/aws-sdk-go/aws"
awsAutoScaling "github.com/awslabs/aws-sdk-go/gen/autoscaling"
awsRDS "github.com/awslabs/aws-sdk-go/gen/rds"
"github.com/awslabs/aws-sdk-go/gen/route53"
"github.com/awslabs/aws-sdk-go/gen/s3"
)

type Config struct {
AccessKey string
SecretKey string
Token string
Region string
}

type AWSClient struct {
ec2conn *ec2.EC2
elbconn *elb.ELB
autoscalingconn *autoscaling.AutoScaling
s3conn *s3.S3
rdsconn *rds.Rds
route53 *route53.Route53
ec2conn *ec2.EC2
elbconn *elb.ELB
autoscalingconn *autoscaling.AutoScaling
s3conn *s3.S3
rdsconn *rds.Rds
r53conn *route53.Route53
region string
awsAutoScalingconn *awsAutoScaling.AutoScaling
awsRDSconn *awsRDS.RDS
}

// Client configures and returns a fully initailized AWSClient
Expand All @@ -51,18 +59,32 @@ func (c *Config) Client() (interface{}, error) {
}

if len(errs) == 0 {
// store AWS region in client struct, for region specific operations such as
// bucket storage in S3
client.region = c.Region

creds := awsGo.Creds(c.AccessKey, c.SecretKey, c.Token)

log.Println("[INFO] Initializing EC2 connection")
client.ec2conn = ec2.New(auth, region)
log.Println("[INFO] Initializing ELB connection")
client.elbconn = elb.New(auth, region)
log.Println("[INFO] Initializing AutoScaling connection")
client.autoscalingconn = autoscaling.New(auth, region)
log.Println("[INFO] Initializing S3 connection")
client.s3conn = s3.New(auth, region)
client.s3conn = s3.New(creds, c.Region, nil)
log.Println("[INFO] Initializing RDS connection")
client.rdsconn = rds.New(auth, region)

// aws-sdk-go uses v4 for signing requests, which requires all global
// endpoints to use 'us-east-1'.
// See http://docs.aws.amazon.com/general/latest/gr/sigv4_changes.html
log.Println("[INFO] Initializing Route53 connection")
client.route53 = route53.New(auth, region)
client.r53conn = route53.New(creds, "us-east-1", nil)
log.Println("[INFO] Initializing AWS Go AutoScaling connection")
client.awsAutoScalingconn = awsAutoScaling.New(creds, c.Region, nil)
log.Println("[INFO] Initializing AWS Go RDS connection")
client.awsRDSconn = awsRDS.New(creds, c.Region, nil)
}

if len(errs) > 0 {
Expand All @@ -82,6 +104,7 @@ func (c *Config) AWSAuth() (aws.Auth, error) {
// Store the accesskey and secret that we got...
c.AccessKey = auth.AccessKey
c.SecretKey = auth.SecretKey
c.Token = auth.Token
}

return auth, err
Expand Down
Loading