Commit Graph

17746 Commits

Author SHA1 Message Date
Radek Simko 87d6935780 New users should know it's possible to save credentials outside of tf configs (#12968)
Terraform will automatically search for AWS API credentials or Instance Profile Credentials. I wish I'd known that when I first read these docs.
Saving credentials outside of tf config files is a much better plan for situations where config files end up in source control and or where multiple people collaborate. Making this information available early will allow new users to set up a much more secure and robust plan for deploying terraform at scale and in production environments.
2017-03-22 15:30:21 +00:00
Radek Simko d0bb43e0e2 provider/aws: Lower metadata log msg from WARN to INFO (#12967) 2017-03-22 15:12:13 +00:00
James Bardin 9f5cf2b105 convert S3 remote state to a backend
Move the S3 State from a legacy remote state to an official backend.

This increases test coverage, uses a set schema for configuration, and
will allow new backend features to be implemented for the S3 state, e.g.
"environments".
2017-03-22 10:59:37 -04:00
Wax On a77791ca4e correct attribute from "project_id" to "project" (#12902) 2017-03-22 14:37:11 +00:00
Jake Champlin 8c5fcbe7f8 Update CHANGELOG.md 2017-03-22 09:28:40 -04:00
Jake Champlin be2af3f577 provider/aws: Increase AMI destroy timeout (#12943)
* provider/aws: Increase AMI destroy timeout

Acceptance tests were timing out on AMI destroy, should alleviate the problem.

* Further increase timeout, cleanup test

* use function instead of printf
2017-03-22 09:27:23 -04:00
James Bardin 579e15c97c Merge pull request #12942 from hashicorp/jbardin/GH-12905
merge config.Terraform fields in config.Append
2017-03-22 09:11:42 -04:00
Jake Champlin fdc17c8d70 provider/aws: Update IAM Group+User Policy Tests (#12950)
Updates the IAM Group Policy and IAM User Policy acceptance tests with random integer seeds.
Currently acceptance tests for these two resources are failing from leaked resources, adding distint naming should allow tests to pass regardless of parallel tests being ran or any resource leaks.

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSIAMUserPolicy'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/22 00:19:13 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSIAMUserPolicy -timeout 120m
=== RUN   TestAccAWSIAMUserPolicy_basic
--- PASS: TestAccAWSIAMUserPolicy_basic (22.54s)
=== RUN   TestAccAWSIAMUserPolicy_namePrefix
--- PASS: TestAccAWSIAMUserPolicy_namePrefix (12.49s)
=== RUN   TestAccAWSIAMUserPolicy_generatedName
--- PASS: TestAccAWSIAMUserPolicy_generatedName (13.13s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    48.191s
```

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSIAMGroupPolicy'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/22 00:24:08 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSIAMGroupPolicy -timeout 120m
=== RUN   TestAccAWSIAMGroupPolicy_basic
--- PASS: TestAccAWSIAMGroupPolicy_basic (23.89s)
=== RUN   TestAccAWSIAMGroupPolicy_namePrefix
--- PASS: TestAccAWSIAMGroupPolicy_namePrefix (12.07s)
=== RUN   TestAccAWSIAMGroupPolicy_generatedName
--- PASS: TestAccAWSIAMGroupPolicy_generatedName (13.15s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    49.140s
```
2017-03-22 09:06:23 -04:00
James Bardin eb027a4483 Merge pull request #12944 from hashicorp/jbardin/GH-12919
restructure JSON terraform config block AST
2017-03-22 09:04:27 -04:00
James Bardin bcbcc65f7d add terraform config merge logic to config.Merge 2017-03-22 09:01:54 -04:00
James Bardin ddb9c51481 Merge pull request #12939 from hashicorp/jbardin/GH-12921
add `-force-copy` option to init command
2017-03-22 08:48:55 -04:00
James Bardin 54e536cfe0 add `-force-copy` option to init command
The `-force-copy` option will suppress confirmation for copying state
data.

Modify some tests to use the option, making sure to leave coverage of
the Input code path.
2017-03-22 08:47:26 -04:00
Marc Rooding 8c9084e0d8 Kubernetes ConfigMap metadata name did not comply to the regex rules (#12955) 2017-03-22 12:27:49 +00:00
Marc Rooding 3b6e83bf18 Update documentation to include "local_ssd_count" property 2017-03-22 09:39:38 +01:00
Marc Rooding ab699db458 Support the container cluster local ssd count property 2017-03-22 09:39:36 +01:00
Marc Rooding f10664b501 Update google.golang.org/api/container/v1 vendor 2017-03-22 09:38:56 +01:00
Marc Rooding 7b048177dd Update google.golang.org/api/gensupport vendor 2017-03-22 09:38:17 +01:00
Paddy 8bccfda2f0 Merge pull request #12946 from hashicorp/danawillow-gke-np-docs
Add link to node pool documentation to sidebar
2017-03-21 15:38:32 -07:00
Dana Hoffman 0f02bcc56e Add link to node pool documentation to sidebar 2017-03-21 15:37:31 -07:00
Dana Hoffman 9afbb8d902 Update CHANGELOG.md 2017-03-21 15:26:00 -07:00
Dana Hoffman 596f0a28cf Merge pull request #12743 from danawillow/gke-nodeconfig
provider/google: add support for a few more fields in NodeConfig
2017-03-21 15:24:14 -07:00
Dana Hoffman 730ab70cbc Add documentation for GKE node pools (#12896) 2017-03-21 15:20:38 -07:00
James Bardin 8bcb9e19ca restructure JSON terraform config block AST
When configuration is read out of JSON, HCL assumes that empty levels of
objects can be flattened, but this removes too much to decode into a
config.Terraform struct.

Reconstruct the appropriate AST to decode the config struct.
2017-03-21 18:15:58 -04:00
James Bardin b38e620b2f merge config.Terraform fields in config.Append
Ensure that fields set in an earlier Terraform config block aren't
removed by Append when encountering another Terraform block. When
multiple blocks contain the same field, the later one still wins.
2017-03-21 15:43:55 -04:00
Mitchell Hashimoto 7729949ef4 Merge pull request #12937 from hashicorp/b-state-v1-panic
terraform: convert empty path to root path in V1 state
2017-03-21 11:52:45 -07:00
Mitchell Hashimoto 69759e04ca
terraform: convert empty path to root path in V1 state 2017-03-21 11:37:12 -07:00
Paul Stack 8b3550d714 Update CHANGELOG.md 2017-03-21 20:27:57 +02:00
Paul Stack 2a7ab027f4 provider/aws: Only call replace Iam Instance Profile on existing (#12922)
machines

Fixes: #12898

The way aws_instance works is that we call the Create func then the
Update func then the Read func. The way the work to implement the change
to iam_instance_profile was added meant that when a machine was created
with an iam_instance_profile, it would then try and update that
iam_instance_profile because the state hadn't been updated at that point

We have changed the Update func to only check for the change to
iam_instance_profile when it *is an existing machine* - this will solve
the problem of those bringing up new machines and getting hit with the
permissions error

As requested, added a test that adds an IAM Instance Profile from
creation

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSInstance_withIamInstanceProfile'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/21 17:51:32 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSInstance_withIamInstanceProfile -timeout 120m
=== RUN   TestAccAWSInstance_withIamInstanceProfile
--- PASS: TestAccAWSInstance_withIamInstanceProfile (154.29s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	154.325s
```
2017-03-21 20:26:41 +02:00
Mitchell Hashimoto fe0733b560 Merge pull request #12936 from hashicorp/b-state-v1
terraform: V1 to V2 upgrade should treat nil path as root path
2017-03-21 11:24:08 -07:00
Mitchell Hashimoto e7b07e109f
terraform: V1 to V2 upgrade should treat nil path as root path
It appears there are no tests for this as far as I can find.

We change V1 states (very old) to assume a nil path is a root path.
Staet.Validate() later will catch any duplicate paths.
2017-03-21 11:12:44 -07:00
Paul Stack e8240afcb0 Update CHANGELOG.md 2017-03-21 17:34:10 +02:00
Paul Stack f0e7bc942b provider/aws: Prevent panic when setting AWS CodeBuild Source to state (#12915)
Fixes: #12914

this is just a simple guard clause to prevent the hash from including an
optional value by default
2017-03-21 15:33:32 +00:00
James Bardin b7152c4405 Merge pull request #12897 from hashicorp/jbardin/ignore-changes
ignore_changes causes keys in other flatmapped objects to be lost from diff
2017-03-21 09:25:47 -04:00
James Bardin 0ae0076e3a Correctly filter flatmapped values in diff
When transforming a diff from DestroyCreate to a simple Update,
ignore_changes can cause keys from flatmapped objects to be filtered
form the diff. We need to filter each flatmapped container as a whole to
ensure that unchanged keys aren't lost in the update.
2017-03-21 09:11:54 -04:00
Sander van Harmelen a317855e19 Update CHANGELOG.md 2017-03-21 12:04:41 +01:00
Yukihiko SAWANOBORI 5a1f8097a0 Add params zone_id to cloudstack ipaddress resource (#11306)
* add option zone_id

- Ref: http://docs.idcf.jp/cloud/api/address/#listpublicipaddresses

* Exclusion of `network_id`, `vpc_id` and `zone_id`

* Revert "Exclusion of `network_id`, `vpc_id` and `zone_id`"

This reverts commit 9684c8b0b65b3353aea4e0bfbeaf21986282812b.

* remove zone_id from one of required option.
2017-03-21 12:02:38 +01:00
Dana Hoffman a8f45ac521 provider/google: Document new NodeConfig fields. 2017-03-20 16:40:18 -07:00
James Bardin 3001f0c1b9 Fix test that relied on empty Old diff 2017-03-20 17:44:38 -04:00
James Bardin 970e7c1923 Add a failing test for missing keys in diff
ignore_changes is causing changes in other flatmapped sets to be
filtered out incorrectly.

This required fixing the testDiffFn to create diffs which include the
old value, breaking one other test.
2017-03-20 17:44:37 -04:00
Paul Stack c217c6c0c4 Update CHANGELOG.md 2017-03-20 20:43:10 +00:00
James Nugent 9476fc4418 helper/acctest: Add NewSSHKeyPair function (#12894)
Many cloud services prevent duplicate key pairs with different names.
Among them are Digital Ocean, Joyent Triton and Packet. Consequently, if
tests leave dangling resources it is not enough to simply randomise the
name, the entire key material must be regenerated.

This commit adds a helper method that returns a new randomly generated
key pair, where the public key material is formatted in OpenSSH
"authorized keys" format, and the private key material is PEM encoded.
2017-03-20 20:42:34 +00:00
clint shryock db132b312d update test to remove dupe provider definition 2017-03-20 14:18:14 -05:00
Mitchell Hashimoto 0592bec0ed Update CHANGELOG.md 2017-03-20 11:57:54 -07:00
Mitchell Hashimoto f105c8533a Merge pull request #12888 from hashicorp/b-legacy-remove
command: remove legacy remote state on migration
2017-03-20 11:57:12 -07:00
clint shryock f59e37a41f update test to remove dupe provider definition 2017-03-20 13:54:13 -05:00
Paul Stack ca5291ba0b Update CHANGELOG.md 2017-03-20 18:25:24 +00:00
Dylan Conrad Johnson 934aa22549 nil checks when assigning to param map in resourceAwsSsmDocumentRead (#12891)
* add nil check when assingment from a doc parameter to the param map

* remove println
2017-03-20 18:24:13 +00:00
ryno75 3c94a89a05 fixing issue #12885 (documentation typo) (#12886) 2017-03-20 17:33:31 +00:00
Benjamin Boudreau 073fa873ac Fix receive typo (#12881) 2017-03-20 13:15:27 -04:00
Mitchell Hashimoto d01886a644
command: remove legacy remote state on migration
Fixes #12871

We were forgetting to remove the legacy remote state from the actual
state value when migrating. This only causes an issue when saving a plan
since the plan contains the state itself and causes an error where both
a backend + legacy state exist.

If saved plans aren't used this causes no noticable issue.

Due to buggy upgrades already existing in the wild, I also added code to
clear the remote section if it exists in a standard unchanged backend
2017-03-20 10:14:59 -07:00