Commit Graph

4711 Commits

Author SHA1 Message Date
Paul Stack 743be7914d provider/aws: Refresh CloudWatch Group from state on 404 (#7576)
Fixes #7543 where creating a CloudWatch Group, then deleting it from the
console will cause no action on refresh / plan

```
% make testacc TEST=./builtin/providers/aws  TESTARGS='-run=TestAccAWSCloudWatchLogGroup_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v
-run=TestAccAWSCloudWatchLogGroup_ -timeout 120m
=== RUN   TestAccAWSCloudWatchLogGroup_importBasic
--- PASS: TestAccAWSCloudWatchLogGroup_importBasic (18.10s)
=== RUN   TestAccAWSCloudWatchLogGroup_basic
--- PASS: TestAccAWSCloudWatchLogGroup_basic (17.34s)
=== RUN   TestAccAWSCloudWatchLogGroup_retentionPolicy
--- PASS: TestAccAWSCloudWatchLogGroup_retentionPolicy (49.81s)
=== RUN   TestAccAWSCloudWatchLogGroup_multiple
--- PASS: TestAccAWSCloudWatchLogGroup_multiple (23.74s)
=== RUN   TestAccAWSCloudWatchLogGroup_disappears
--- PASS: TestAccAWSCloudWatchLogGroup_disappears (15.78s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    124.789s
```
2016-07-11 12:06:44 -06:00
James Nugent 29c1d36cf4 Merge pull request #7571 from hashicorp/import-arm-availset
provider/azurerm: Support Import for `azurerm_availability_set`
2016-07-11 10:35:52 -06:00
James Nugent 4798b13937 Merge pull request #7574 from hashicorp/import-arm-rg
provider/azurerm: Support Import of `azurerm_resource_group`
2016-07-11 10:35:41 -06:00
James Nugent 6cc2a52810 Merge pull request #7578 from hashicorp/import-arm-publicip
provider/azurerm: Support Import for `azurerm_public_ip`
2016-07-11 10:35:18 -06:00
stack72 c28b100233
provider/vsphere: Fix the `vsphere_virtual_machine` tests
The PR that was merged to add `keep_on_destroy` was showing a green
build so was merged but that build happened before another merge adding
another parameter to the tests

FYI @dkalleg - fixes #7169
2016-07-11 16:15:28 +01:00
JB Arsenault fc838be69e Add `destroy_grace_seconds` option to stop container before delete (#7513) 2016-07-11 16:03:02 +01:00
Paul Stack 784a1060e9 Revert "Revert "Adding disk keep_on_remove support on delete case"" 2016-07-11 15:48:34 +01:00
stack72 c9476ea65b
provider/azurerm: Support Import for `azurerm_public_ip`
Had to make some changes to this resource. Params were not being set in
the Read func - also added a statefunc to the IPAddressAllocation as
that was coming back in a different case to how we were sending it. We
need to treat that property as case-insensitive

```
% make testacc TEST=./builtin/providers/azurerm TESTARGS='-run=TestAccAzureRMPublicIpStatic_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
TF_ACC=1 go test ./builtin/providers/azurerm -v
-run=TestAccAzureRMPublicIpStatic_ -timeout 120m
=== RUN   TestAccAzureRMPublicIpStatic_importBasic
--- PASS: TestAccAzureRMPublicIpStatic_importBasic (128.06s)
=== RUN   TestAccAzureRMPublicIpStatic_basic
--- PASS: TestAccAzureRMPublicIpStatic_basic (126.25s)
=== RUN   TestAccAzureRMPublicIpStatic_withTags
--- PASS: TestAccAzureRMPublicIpStatic_withTags (145.99s)
=== RUN   TestAccAzureRMPublicIpStatic_update
--- PASS: TestAccAzureRMPublicIpStatic_update (192.32s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/azurerm
592.648s
```
2016-07-11 14:36:23 +01:00
Paul Stack f989009448 Update import_arm_resource_group_test.go 2016-07-11 13:33:39 +01:00
stack72 ef707a89a8
provider/azurerm: Support Import of `azurerm_resource_group`
```
% make testacc TEST=./builtin/providers/azurerm TESTARGS='-run=TestAccAzureRMResourceGroup_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
TF_ACC=1 go test ./builtin/providers/azurerm -v
-run=TestAccAzureRMResourceGroup_ -timeout 120m
=== RUN   TestAccAzureRMResourceGroup_importBasic
--- PASS: TestAccAzureRMResourceGroup_importBasic (92.84s)
=== RUN   TestAccAzureRMResourceGroup_basic
--- PASS: TestAccAzureRMResourceGroup_basic (91.56s)
=== RUN   TestAccAzureRMResourceGroup_withTags
--- PASS: TestAccAzureRMResourceGroup_withTags (110.42s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/azurerm
294.832s
```
2016-07-11 12:30:22 +01:00
Tommy Murphy 0c6856f85c digitalocean tag support (#7500)
* vendor: update godo to support tags

* digitalocean: introduce tag resource

* website: update for digitalocean_tag resource
2016-07-11 12:09:06 +01:00
Paul Stack d70b9d334b Revert "Adding disk keep_on_remove support on delete case" (#7572) 2016-07-11 00:50:09 +03:00
dkalleg 95c0a74df7 Adding disk keep_on_remove support on delete case (#7169)
This both fixes the keep_on_remove reference in the disk update case
as well as adds logic to safely eject disks in the destroy case.
2016-07-11 00:36:59 +03:00
stack72 f78f0434cd
provider/azurerm: Support Import for `azurerm_availability_set`
```
% make testacc TEST=./builtin/providers/azurerm TESTARGS='-run=TestAccAzureRMAvailabilitySet_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
TF_ACC=1 go test ./builtin/providers/azurerm -v
-run=TestAccAzureRMAvailabilitySet_ -timeout 120m
=== RUN   TestAccAzureRMAvailabilitySet_importBasic
--- PASS: TestAccAzureRMAvailabilitySet_importBasic (150.75s)
=== RUN   TestAccAzureRMAvailabilitySet_basic
--- PASS: TestAccAzureRMAvailabilitySet_basic (103.37s)
=== RUN   TestAccAzureRMAvailabilitySet_withTags
--- PASS: TestAccAzureRMAvailabilitySet_withTags (137.65s)
=== RUN   TestAccAzureRMAvailabilitySet_withDomainCounts
--- PASS: TestAccAzureRMAvailabilitySet_withDomainCounts (88.78s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/azurerm
480.564s
```
2016-07-10 22:33:02 +01:00
Paul Hinze 14cea95e86
terraform: another set of ignore_changes fixes
This set of changes addresses two bug scenarios:

(1) When an ignored change canceled a resource replacement, any
downstream resources referencing computer attributes on that resource
would get "diffs didn't match" errors. This happened because the
`EvalDiff` implementation was calling `state.MergeDiff(diff)` on the
unfiltered diff. Generally this is what you want, so that downstream
references catch the "incoming" values. When there's a potential for the
diff to change, thought, this results in problems w/ references.

Here we solve this by doing away with the separate `EvalNode` for
`ignore_changes` processing and integrating it into `EvalDiff`. This
allows us to only call `MergeDiff` with the final, filtered diff.

(2) When a resource had an ignored change but was still being replaced
anyways, the diff was being improperly filtered. This would cause
problems during apply when not all attributes were available to perform
the replacement.

We solve that by deferring actual attribute removal until after we've
decided that we do not have to replace the resource.
2016-07-08 16:48:23 -05:00
James Nugent 8beafe25ae provisioner/file: Clean up temporary files 2016-07-08 19:35:00 +01:00
jorge.marey 9b065f32e2 Include content option for file provisioner
- Include new option in file provisioner. Now content or source can be
  provided. Content will create a temp file and copy there the contents.
- Later that file will be used as source.
- Include test to check that changes are working correctly.
2016-07-08 19:34:59 +01:00
clint shryock 533e7aca34 provider/aws: Add poll_interval to configure polling for ElasticBeanstalk 2016-07-08 12:22:38 -05:00
Martin Atkins 861ac536dd provider/template: convert resources to data sources
The template resources don't actually need to retain any state, so they
are good candidates to be data sources.

This includes a few tweaks to the acceptance tests -- now configured to
run as unit tests -- since it seems that they have been slightly broken
for a while now. In particular, the "update" cases are no longer tested
because updating is not a meaningful operation for a data source.
2016-07-08 17:11:17 +01:00
James Nugent 46e3cacee3 Merge pull request #7469 from hashicorp/f-tls-data-source
Convert tls_cert_request to be a data source
2016-07-08 17:06:43 +01:00
clint shryock d2c9cc338e provider/aws: Beanstalk environments, bump the minimum timeout between API calls 2016-07-08 10:13:31 -05:00
James Nugent 4c05fddd9b Merge pull request #7530 from hashicorp/aws-codedeployment-manual
provider/aws: Remove `aws_codedeploy_deployment_group` from state on 404
2016-07-08 11:05:06 +01:00
James Nugent 73682c93a7 Merge pull request #7541 from hashicorp/import-aws-redshiftcluster
provider/aws: Support Import of `aws_redshift_cluster`
2016-07-08 11:01:28 +01:00
James Nugent 66a2fe61a4 Merge pull request #7540 from hashicorp/import-aws-receiptfilter
provider/aws: Support Import of `aws_ses_receipt_filter`
2016-07-08 11:00:36 +01:00
James Nugent f5bb652bd6 Merge pull request #7539 from hashicorp/import-aws-receiptruleset
provider/aws: Support Import of `aws_ses_receipt_rule_set`
2016-07-08 11:00:17 +01:00
James Nugent a89fd9d0de Merge pull request #7537 from hashicorp/import-aws-dboption
provider/aws: Support Import of `aws_db_option_group`
2016-07-08 10:59:00 +01:00
James Nugent dfe2ee5a30 Merge pull request #7536 from hashicorp/import-aws-db_instance
provider/aws: Support Import of `aws_db_instance`
2016-07-08 10:58:37 +01:00
David Tolnay db627798e6 provider/aws: Handle spurious failures in resourceAwsSecurityGroupRuleRead (#7377)
Previously, any old HTTP error would be treated as the security_group_rule being
deleted. In reality there are only a few cases where this is the right
assumption.
2016-07-07 16:06:02 -05:00
James Bardin 4c602d1eb9 Merge pull request #7521 from hashicorp/jbardin/GH-7509
Revert #7464 and allow an empty state
2016-07-07 17:00:08 -04:00
David Tolnay a86d766bd2 provider/aws: internetgateway timing tweaks (again) (#7447)
This workaround is originally from 71b30c633f.
According to the commit message from Mitchell Hashimoto:

    So I think the AWS API is just broken here. In the case that the state
    doesn't update, just assume it did after 5 seconds.

Based on my experience, this AWS API is still broken in the same way.

The timeout was later increased from 5 seconds to 10 seconds in
265cc4fffa.

The timeout (but not the timer) was removed inexplicably in GH-1325.

The symptom is this error from `terraform apply`:

    aws_internet_gateway.test: Error waiting for internet gateway (igw-553b4731) to attach: timeout while waiting for state to become '[available]'

followed by all subsequent `terraform apply` commands failing with this error:

    aws_internet_gateway.test: Resource.AlreadyAssociated: resource igw-553b4731 is already attached to network vpc-61bc7606
2016-07-07 15:45:28 -05:00
David Tolnay 2943a1c978 Retry creation of IAM role depending on new IAM user (#7324) 2016-07-07 15:24:17 -05:00
James Bardin 2c27dd41bf Fix panic when there is no remote state
- Check for an empty state. If nothing is referenced from that state in
  the config, there's nothing to do here.
2016-07-07 16:20:35 -04:00
stack72 a746b28fc1
provider/aws: Support Import of `aws_redshift_cluster`
```
make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSRedshiftCluster_importBasic'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v
-run=TestAccAWSRedshiftCluster_importBasic -timeout 120m
=== RUN   TestAccAWSRedshiftCluster_importBasic
--- PASS: TestAccAWSRedshiftCluster_importBasic (623.52s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    623.546s
```
2016-07-07 18:27:13 +01:00
Clint 17931c7099 Merge pull request #7511 from hashicorp/pr-7319
provider/aws: AWS prefix lists to enable security group egress to a VPC Endpoint (supersedes #7319)
2016-07-07 12:10:10 -05:00
stack72 a74bd870e2
provider/aws: Support Import of `aws_ses_receipt_filter`
```
% make testacc TEST=./builtin/providers/aws  TESTARGS='-run=TestAccAWSSESReceiptFilter_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v
-run=TestAccAWSSESReceiptFilter_ -timeout 120m
=== RUN   TestAccAWSSESReceiptFilter_importBasic
--- PASS: TestAccAWSSESReceiptFilter_importBasic (18.18s)
=== RUN   TestAccAWSSESReceiptFilter_basic
--- PASS: TestAccAWSSESReceiptFilter_basic (18.42s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    36.633s
```
2016-07-07 17:37:56 +01:00
stack72 aa6e23bc4b
provider/aws: Support Import of `aws_ses_receipt_rule_set`
```
make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSSESReceiptRuleSet_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v
-run=TestAccAWSSESReceiptRuleSet_ -timeout 120m
=== RUN   TestAccAWSSESReceiptRuleSet_importBasic
--- PASS: TestAccAWSSESReceiptRuleSet_importBasic (18.60s)
=== RUN   TestAccAWSSESReceiptRuleSet_basic
--- PASS: TestAccAWSSESReceiptRuleSet_basic (26.92s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    45.550s
```
2016-07-07 17:30:03 +01:00
stack72 6f122c3f05
provider/aws: Support Import of `aws_db_option_group`
```
make testacc TEST=./builtin/providers/aws
TESTARGS='-run=TestAccAWSDBOptionGroup_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v
-run=TestAccAWSDBOptionGroup_ -timeout 120m
=== RUN   TestAccAWSDBOptionGroup_importBasic
--- PASS: TestAccAWSDBOptionGroup_importBasic (22.98s)
=== RUN   TestAccAWSDBOptionGroup_basic
--- PASS: TestAccAWSDBOptionGroup_basic (22.54s)
=== RUN   TestAccAWSDBOptionGroup_OptionSettings
--- PASS: TestAccAWSDBOptionGroup_OptionSettings (38.62s)
=== RUN   TestAccAWSDBOptionGroup_sqlServerOptionsUpdate
--- PASS: TestAccAWSDBOptionGroup_sqlServerOptionsUpdate (37.64s)
=== RUN   TestAccAWSDBOptionGroup_multipleOptions
--- PASS: TestAccAWSDBOptionGroup_multipleOptions (24.32s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    146.123s
```
2016-07-07 16:45:56 +01:00
stack72 80aeabec83
provider/aws: Support Import of `aws_db_instance`
JUst needed some rejigging of the skip_final_snapshot work as that isn't
returned by the API and skipping it means the destroy fails due to
missing final_snapshot_identifier

```
% make testacc TEST=./builtin/providers/aws
% TESTARGS='-run=TestAccAWSDBInstance_'                              ✹ ✭
==> Checking that code complies with gofmt requirements...
/Users/stacko/Code/go/bin/stringer
go generate $(go list ./... | grep -v /vendor/)
2016/07/07 15:28:31 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSDBInstance_
-timeout 120m
=== RUN   TestAccAWSDBInstance_importBasic
--- PASS: TestAccAWSDBInstance_importBasic (588.70s)
=== RUN   TestAccAWSDBInstance_basic
--- PASS: TestAccAWSDBInstance_basic (595.71s)
=== RUN   TestAccAWSDBInstance_kmsKey
--- PASS: TestAccAWSDBInstance_kmsKey (726.46s)
=== RUN   TestAccAWSDBInstance_optionGroup
--- PASS: TestAccAWSDBInstance_optionGroup (681.78s)
=== RUN   TestAccAWSDBInstance_iops_update
--- PASS: TestAccAWSDBInstance_iops_update
(590.81s)
```

Please note that I cannot run the enhanced monitoring test in my
environment as I have already got it attached to an IAM role. Running
that test gives me this result:

```

```
2016-07-07 16:26:35 +01:00
stack72 53681390d4
provider/aws: Remove `aws_codedeploy_deployment_group` from state on 404
Fixes #4802

The manual removal will now force Terraform to remove the resource from
state and then report it needs recreated
2016-07-07 13:59:39 +01:00
clint shryock 1d488bdbd2 provider/aws: Do an extra lookup for the VPC Endpoint Prefix, to test Prefix 2016-07-06 09:20:39 -05:00
Max Englander 6e40210227 #2087 gracefully handle non-presence of service on remote consul agent 2016-07-06 08:29:47 -04:00
Max Englander df4c0c82f2 #2087 merge upstream/master 2016-07-06 08:27:15 -04:00
David Tolnay 4ba75bd54e Retry finding route after creating it (#7463)
The symptom is that a route "fails" to create, then every subsequent
`terraform apply` fails with RouteAlreadyExists.

CreateRoute was succeeding but the very next DescribeRouteTables
was not listing the new route.
2016-07-05 15:04:09 -05:00
Paul Stack d60594695f provider/aws: `aws_customer_gateway` refreshing from state on deleted (#7482)
state

Fixes #7136
2016-07-05 16:34:06 +01:00
Paul Stack 58c324676d provider/aws: Add support for `encryption` and `kms_key_id` to `aws_ami` (#7181)
This fixes #7157. It doesn't change the way aws_ami works

```
make testacc TEST=./builtin/providers/aws
TESTARGS='-run=TestAccAWSAMICopy'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSAMICopy
-timeout 120m
=== RUN   TestAccAWSAMICopy
--- PASS: TestAccAWSAMICopy (479.75s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    479.769s
```
2016-07-05 09:50:48 -05:00
Paul Stack 06ff7bfcfe provider/aws: Remove EFS File System from State when NotFound (#7437)
Fixes #7433

When an EFS File System is created via Terraform, Deleted from the AWS
console, then Terraform would give us as error as:

```
* aws_efs_file_system.file_system: FileSystemNotFound: File system
 'fs-9d739e54' does not exist.
        status code: 404, request id:
        d505a682-3ec7-11e6-81d3-1d41202f0881
```

On a 404, we now remove the EFS File System from state so that Terraform
can recreate it as expected
2016-07-05 13:56:05 +01:00
James Nugent 730d59734f Merge pull request #7338 from hashicorp/import-aws-dbpg
provider/aws: Support Import for `aws_db_parameter_group`
2016-07-05 13:51:51 +01:00
Radek Simko 120d7c4f2e provider/aws: Only allow max. 1 health_check block for ELB 2016-07-05 10:56:17 +01:00
Eric Rutherford 32051156c7 adding states that should be considered as deleted for vpc peering (#7466) 2016-07-03 16:58:19 +01:00
David Harris c744bb6fa8 provider/aws: import Elastic Beanstalk Application and Environment (#7444) 2016-07-03 16:42:12 +01:00
Joe Topjian 480542d2ab provider/openstack: Support Import openstack_compute_keypair_v2 (#7346) 2016-07-03 16:39:20 +01:00
Joe Topjian 713c0daa52 provider/openstack: Support Import openstack_compute_floatingip_v2 (#7348) 2016-07-03 16:38:38 +01:00
Joe Topjian 0466520626 provider/openstack: Support Import openstack_compute_servergroup_v2 (#7349) 2016-07-03 16:38:21 +01:00
Joe Topjian c1e4d297f3 provider/openstack: Support Import openstack_compute_secgroup_v2 (#7350) 2016-07-03 16:37:58 +01:00
Joe Topjian 8d8becdfdb provider/openstack: Support Import of OpenStack FWaaS Resources (#7471) 2016-07-03 16:37:35 +01:00
Paul Stack 421bda23b0 provider/azurerm: `azurerm_virtual_machine` panic at UnattendConfig (#7453)
Guarding against `invalid memory address` in AdditionalUnattendConfig

```
make testacc TEST=./builtin/providers/azurerm TESTARGS='-run=TestAccAzureRMVirtualMachine_windowsUnattendedConfig'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/azurerm -v
-run=TestAccAzureRMVirtualMachine_windowsUnattendedConfig -timeout 120m
=== RUN   TestAccAzureRMVirtualMachine_windowsUnattendedConfig
--- PASS: TestAccAzureRMVirtualMachine_windowsUnattendedConfig (943.28s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/azurerm
943.299s
```
2016-07-03 11:31:35 +01:00
Joe Topjian b5ca75f165 Merge pull request #7468 from jtopjian/openstack-secgroup-eof
provider/openstack: Fix Security Group EOF Error
2016-07-02 11:50:32 -06:00
Martin Atkins c244e5a668 Convert tls_cert_request to be a data source
This resource (unlike the others in this provider) isn't stateful, so it
is a good candidate to be a data source.

The old resource form is preserved via the standard shim in helper/schema,
which will generate a deprecation warning but will still allow the
resource to be used.
2016-07-02 08:07:53 -07:00
Joe Topjian bc6be73c1d provider/openstack: Fix Security Group EOF Error
When applying or removing 2+ security groups from an instance, an EOF
error will be triggered even though the action was successful. This
patch accounts for and ignores the EOF error. It also adds a test
case.

Security Group and Port documentation are also updated in this
commit.
2016-07-02 14:18:04 +00:00
Paul Stack c965d9bea4 provider/azurerm: Add `azurerm_virtual_machine` Acceptance Test for (#7456)
`storage_data_disk`

```
make testacc TEST=./builtin/providers/azurerm TESTARGS='-run=TestAccAzureRMVirtualMachine_withDataDisk'
==> Checking that code complies with gofmt requirements...
/Users/stacko/Code/go/bin/stringer
go generate $(go list ./... | grep -v /vendor/)
2016/07/01 15:47:13 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/azurerm -v
-run=TestAccAzureRMVirtualMachine_withDataDisk -timeout 120m
=== RUN   TestAccAzureRMVirtualMachine_withDataDisk
--- PASS: TestAccAzureRMVirtualMachine_withDataDisk (575.39s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/azurerm
```
2016-07-02 07:55:36 +01:00
Joe Topjian de99379a87 Merge pull request #7422 from jtopjian/openstack-lbpoolmember-deprecated
provider/openstack: Deprecate openstack_lb_pool_v1 member attribute
2016-07-01 20:37:23 -06:00
David Tolnay be7162747f Remove unused variables 2016-07-01 13:37:48 -07:00
Paul Hinze 3b732131d2 Merge pull request #7446 from hashicorp/b-jit-resource-validate
core: rerun resource validation before plan and apply
2016-07-01 15:00:40 -05:00
Paul Hinze afccf62e3e Merge pull request #7459 from hashicorp/r-resource-unit-test
helper/resource: Consolidate unit test override
2016-07-01 13:23:13 -05:00
Paul Hinze 4a1b36ac0d
core: rerun resource validation before plan and apply
In #7170 we found two scenarios where the type checking done during the
`context.Validate()` graph walk was circumvented, and the subsequent
assumption of type safety in the provider's `Diff()` implementation
caused panics.

Both scenarios have to do with interpolations that reference Computed
values. The sentinel we use to indicate that a value is Computed does
not carry any type information with it yet.

That means that an incorrect reference to a list or a map in a string
attribute can "sneak through" validation only to crop up...

 1. ...during Plan for Data Source References
 2. ...during Apply for Resource references

In order to address this, we:

 * add high-level tests for each of these two scenarios in `provider/test`
 * add context-level tests for the same two scenarios in `terraform`
   (these tests proved _really_ tricky to write!)
 * place an `EvalValidateResource` just before `EvalDiff` and `EvalApply` to
   catch these errors
 * add some plumbing to `Plan()` and `Apply()` to return validation
   errors, which were previously only generated during `Validate()`
 * wrap unit-tests around `EvalValidateResource`
 * add an `IgnoreWarnings` option to `EvalValidateResource` to prevent
   active warnings from halting execution on the second-pass validation

Eventually, we might be able to attach type information to Computed
values, which would allow for these errors to be caught earlier. For
now, this solution keeps us safe from panics and raises the proper
errors to the user.

Fixes #7170
2016-07-01 13:12:57 -05:00
Paul Hinze 5656d7388c
helper/resource: Consolidate unit test override
I noticed we had two mechanisms for unit test override. One that dropped
a sentinel into the env var, and another with a struct member on
TestCase. This consolidates the two, using the cleaner struct member
internal mechanism and the nicer `resource.UnitTest()` entry point.
2016-07-01 13:08:43 -05:00
Clint 98fd603bdf provider/atlas: Add a Atlas Artifact Data Source (#7419)
* small doc update

* provider/atlas: Add docs for Artifact Data Source

* provider/atlas: Remove a test method that isn't used

* provider/atlas: Add Data Source for Atlas Artifact

* provider/atlas: Show deprecation error on atlas_artifact resource
2016-07-01 10:29:53 -05:00
clint shryock c4fa91b176 Merge branch 'pr-5939'
* pr-5939:
  Update acc tests
  provider/aws: Allow `aws_redshift_security_group` ingress rules to change
2016-07-01 10:15:29 -05:00
clint shryock 1d1cc9b572 Update acc tests 2016-07-01 10:14:18 -05:00
Clint 6367bade03 Merge pull request #6851 from TeaBough/master
provider/aws: Handled case when instanceId is absent in network interfaces
2016-07-01 09:42:35 -05:00
Paul Stack 7f948f0ca7 provider/azurerm: `azurerm_dns_zone` now returns `name_servers` (#7434)
Fixes #7374

The introduction of the AzureRM SDK 3.0.0-beta means that the
`name_servers` for the DNS Zone are returned from the API

This PR has a dependency on #7420 being merged first

```
make testacc TEST=./builtin/providers/azurerm TESTARGS='-run=TestAccAzureRMDnsZone_'
==> Checking that code complies with gofmt requirements...
/Users/stacko/Code/go/bin/stringer
go generate $(go list ./... | grep -v /vendor/)
2016/06/30 15:20:01 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/azurerm -v
-run=TestAccAzureRMDnsZone_ -timeout 120m
=== RUN   TestAccAzureRMDnsZone_basic
--- PASS: TestAccAzureRMDnsZone_basic (92.42s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/azurerm
92.444s
```
2016-07-01 10:26:01 +01:00
Paul Stack 54c0022d38 Revert "provider/aws: Read Elastic Beanstalk stack name" (#7452) 2016-07-01 10:03:31 +01:00
David Harris a347b1795f provider/aws: Read Elastic Beanstalk stack name (#7445) 2016-07-01 09:34:28 +01:00
stevehorsfield 03c2c4408f Add support for 'prefix_list_ids' to AWS VPC security group rules
Prefix list IDs are used when allowing egress to an AWS VPC Endpoint.

See http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html#vpc-endpoints-routing
2016-06-30 15:48:27 -07:00
stevehorsfield db5f450a3e Add 'prefix_list_id' exported attribute to AWS VPC Endpoint
'prefix_list_id' can be used in egress rules in VPC security groups.
2016-06-30 15:47:53 -07:00
stevehorsfield 29623f871b Split TestAccAWSSecurityGroup_DefaultEgress into VPC/Classic
This test function tests both VPC and Classic EC2 modes, but not
all accounts have support for both. Splitting them makes it
easier to understand why a test fails when an account only
supports the VPC mode.
2016-06-30 15:47:53 -07:00
Clint 14fa3a88fd provider/aws: Added support for redshift destination to firehose delivery streams (supersedes #5304) (#7375)
* Added support for redshift destination to firehose delivery streams

* Small documentation fix

* go fmt after rebase

* small fixes after rebase

* provider/aws: Firehose test cleanups

* provider/aws: Update docs

* Convert Redshift and S3 blocks to TypeList

* provider/aws: Add migration for S3 Configuration in Kinesis firehose

* providers/aws: Safety first when building Redshift config options

* restore commented out log statements in the migration

* provider/aws: use MaxItems in schema
2016-06-30 15:03:31 -05:00
Clint 2ba1b0fb01 provider/aws: Populate self in Security Group Rule imports (#7164)
* provider/aws: Populate self in Security Group Rule imports

* provider/aws: Add regression test for SG Rule import
2016-06-30 15:01:38 -05:00
Paul Stack 079e1f9a56 provider/azurerm: Bump azure-sdk-for-go to 3.0.0-beta (#7420)
provider/azurerm: Bump azure-sdk-for-go to 3.0.0-beta
2016-06-30 15:36:08 +01:00
Joakim Sernbrant 1b4c1ab83a provider/cloudstack: do not force a new resource when updating instance user_data 2016-06-30 14:23:43 +02:00
Radek Simko b54481909b Merge pull request #7428 from TimeIncOSS/f-efs-target-hostname
provider/aws: Add dns_name to aws_efs_mount_target
2016-06-30 12:40:48 +01:00
Radek Simko 32019fa008 provider/aws: Add dns_name to aws_efs_mount_target 2016-06-30 11:24:18 +01:00
Joe Topjian 4ca5c948b6 provider/openstack: Deprecate openstack_lb_pool_v1 member attribute
This commit marks the "member" attribute of the
openstack_lb_pool_v1 resource as being deprecated. Users should begin
migrating to the openstack_lb_member_v1 resource.
2016-06-30 02:12:15 +00:00
Clint dd0850af59 provider/aws: Add inplace edit/update DB Security Group Rule Ingress (#7245) 2016-06-29 15:55:58 -05:00
Eloy Coto ab390359be Vsphere: Added uuid attributes (#4382) 2016-06-29 21:45:59 +01:00
Paul Stack e905aa2840 provider/digitalocean: Support Import `digitalocean_droplet` (#7344)
```
ake testacc TEST=./builtin/providers/digitalocean
TESTARGS='-run=TestAccDigitalOceanDroplet_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/digitalocean -v -run=TestAccDigitalOceanDroplet_ -timeout 120m
=== RUN   TestAccDigitalOceanDroplet_importBasic
--- PASS: TestAccDigitalOceanDroplet_importBasic (39.42s)
=== RUN   TestAccDigitalOceanDroplet_Basic
--- PASS: TestAccDigitalOceanDroplet_Basic (38.46s)
=== RUN   TestAccDigitalOceanDroplet_Update
--- PASS: TestAccDigitalOceanDroplet_Update (244.82s)
=== RUN   TestAccDigitalOceanDroplet_UpdateUserData
--- PASS: TestAccDigitalOceanDroplet_UpdateUserData (73.05s)
=== RUN   TestAccDigitalOceanDroplet_PrivateNetworkingIpv6
--- PASS: TestAccDigitalOceanDroplet_PrivateNetworkingIpv6 (67.24s)
PASS
```
2016-06-29 20:28:47 +01:00
dkalleg ab92fa4dff Refreshing devices list after adding a disk or cdrom controller (#7167)
Also taking out an unnecessary ForceNew on controller_type as well
as correcting a reference to controller_type in Update case.
2016-06-29 19:47:56 +01:00
Paul Stack c25eb9b4b8 provider/vsphere: Make `vsphere_virtual_machine` `product_key` optional (#7410)
Fixes #6690

Luckily, the code was already checking to see if the product_key was
specified
2016-06-29 19:37:04 +01:00
Paul Stack 70578d4e99 provider/digitalocean: Support Import `digitalocean_floating_ip` (#7343)
```
make testacc TEST=./builtin/providers/digitalocean
TESTARGS='-run=TestAccDigitalOceanFloatingIP_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/digitalocean -v -run=TestAccDigitalOceanFloatingIP_ -timeout 120m
=== RUN   TestAccDigitalOceanFloatingIP_importBasicRegion
--- PASS: TestAccDigitalOceanFloatingIP_importBasicRegion (3.76s)
=== RUN   TestAccDigitalOceanFloatingIP_importBasicDroplet
--- PASS: TestAccDigitalOceanFloatingIP_importBasicDroplet (72.41s)
=== RUN   TestAccDigitalOceanFloatingIP_Region
--- PASS: TestAccDigitalOceanFloatingIP_Region (3.46s)
=== RUN   TestAccDigitalOceanFloatingIP_Droplet
--- PASS: TestAccDigitalOceanFloatingIP_Droplet (74.49s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/digitalocean
154.128s
```
2016-06-29 16:30:11 +01:00
Paul Stack bc163cadaa provider/digitalocean: Support Import `digitalocean_domain` (#7342)
```
make testacc TEST=./builtin/providers/digitalocean
TESTARGS='-run=TestAccDigitalOceanDomain_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/digitalocean -v -run=TestAccDigitalOceanDomain_ -timeout 120m
=== RUN   TestAccDigitalOceanDomain_importBasic
--- PASS: TestAccDigitalOceanDomain_importBasic (3.07s)
=== RUN   TestAccDigitalOceanDomain_Basic
--- PASS: TestAccDigitalOceanDomain_Basic (1.99s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/digitalocean
5.072s
```
2016-06-29 16:10:56 +01:00
Paul Stack ae2bd7a0ff provider/digitalocean: Support Import `digitalocean_ssh_key` (#7345)
```
make testacc TEST=./builtin/providers/digitalocean
TESTARGS='-run=TestAccDigitalOceanSSHKey_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/digitalocean -v -run=TestAccDigitalOceanSSHKey_ -timeout 120m
=== RUN   TestAccDigitalOceanSSHKey_importBasic
--- PASS: TestAccDigitalOceanSSHKey_importBasic (2.13s)
=== RUN   TestAccDigitalOceanSSHKey_Basic
--- PASS: TestAccDigitalOceanSSHKey_Basic (1.52s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/digitalocean
3.665s
```
2016-06-29 16:09:34 +01:00
Paul Stack 7a1b78593b provider/digitalocean: Reassign Floating IP when droplet changes (#7411)
Fixes #6673

When a floating IP is changed in the DO console, this PR will allow it
to be reassociated to the machine that Terraform attached it to and
change it back
2016-06-29 16:05:36 +01:00
Daniel Portella 21618a9111 provider/docker: Docker documentation and additional test message (#7412)
* added additional error info for when memory swap assert fails.

related to https://github.com/hashicorp/terraform/pull/7392

* updated docker_container documentation

reflect recent changes to docker provider around tests, dns options and
dns search support.

* Grammar and punctuation changes

Docker container documentation.

* Spell checking, grammar and punctuation.

Docker container documentation.

* Markdown change sto docker container documentation
2016-06-29 15:48:15 +01:00
Daniel Portella b8a84691ec provider/docker: Docker DNS Setting Enhancements (#7392)
* fixed go vet issues on aws provider in  master

* added support for dns, dns options and dns search for docker container.

On docker container resource you can specify dns_opts nad dns_search
which maps directly to docker --dns_opt and --dns_search parameters.
Allowing users to setup the embedded dns settings for their containers.

* fixed the asserts for the new features in tests.

fixed tests around DNS, DNS_OPTS and DNS_SEARCH
2016-06-29 13:38:46 +01:00
David Lanner 8fd843fa91 correct true and false string values to fix manage_bundler config bug (#7219) 2016-06-29 09:51:26 +01:00
stack72 8ca3d94858 provider/docker: Fixing the Docker Container Mount Test
```
make testacc TEST=./builtin/providers/docker TESTARGS='-run=TestAccDockerContainer_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/docker -v
-run=TestAccDockerContainer_ -timeout 120m
=== RUN   TestAccDockerContainer_basic
--- PASS: TestAccDockerContainer_basic (17.25s)
=== RUN   TestAccDockerContainer_volume
--- PASS: TestAccDockerContainer_volume (16.79s)
=== RUN   TestAccDockerContainer_customized
--- PASS: TestAccDockerContainer_customized (19.65s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/docker 53.712s
```
2016-06-29 09:38:56 +01:00
Kevin Crawley a049fb17aa Added support for `snapshot_identifier` parameter in aws_rds_cluster (#7158)
Made modifications to existing parameters to enable restoring a RDS cluster snapshot

document changes
2016-06-29 09:02:26 +01:00
Jason Wieringa 79dd1c7d80 Protect instance from autoscale in on aws_autoscaling_group (#6490)
* Add support for NewInstancesProtectedFromScaleIn on aws_autoscaling_group

* Add documentation for aws_autoscaling_group protect_from_scale_in
2016-06-29 07:36:34 +01:00
David Harris 7abbb0f57e provider/aws: fix Elastic Beanstalk settings diff (#7398)
Fixes an issue where terraform plan or apply will always have a diff.
The Elastic Beanstalk API returns data for the `resource` attribute for
some settings that are not documented. This limits the `resource`
attribute to settings in the `aws:autoscaling:scheduledaction`
namespace.
2016-06-28 22:03:57 +01:00
Paul Stack 5e52bbaa27 provider/aws: Support Import for `aws_redshift_parameter_group` (#7339)
```
make testacc TEST=./builtin/providers/aws
TESTARGS='-run=TestAccAWSRedshiftParameterGroup_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSRedshiftParameterGroup_ -timeout 120m
=== RUN   TestAccAWSRedshiftParameterGroup_importBasic
--- PASS: TestAccAWSRedshiftParameterGroup_importBasic (25.97s)
=== RUN   TestAccAWSRedshiftParameterGroup_withParameters
--- PASS: TestAccAWSRedshiftParameterGroup_withParameters (21.26s)
=== RUN   TestAccAWSRedshiftParameterGroup_withoutParameters
--- PASS: TestAccAWSRedshiftParameterGroup_withoutParameters (20.79s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    68.045s
```
2016-06-28 10:05:03 -05:00
Paul Stack e45437373c provider/aws: Support Import `aws_vpc_peering_connection` (#7357)
```
make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSVPCPeeringConnection_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSVPCPeeringConnection_ -timeout 120m
=== RUN   TestAccAWSVPCPeeringConnection_importBasic
--- PASS: TestAccAWSVPCPeeringConnection_importBasic (42.58s)
=== RUN   TestAccAWSVPCPeeringConnection_basic
--- PASS: TestAccAWSVPCPeeringConnection_basic (45.00s)
=== RUN   TestAccAWSVPCPeeringConnection_plan
--- PASS: TestAccAWSVPCPeeringConnection_plan (40.92s)
=== RUN   TestAccAWSVPCPeeringConnection_tags
--- SKIP: TestAccAWSVPCPeeringConnection_tags (0.00s)
	resource_aws_vpc_peering_connection_test.go:85: Error: TestAccAWSVPCPeeringConnection_tags requires a peer id to be set
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	128.517s
```
2016-06-28 10:04:11 -05:00
Paul Stack 92fe1c82fc provider/aws: Support Import `aws_api_gateway_account` (#7368)
```
make testacc TEST=./builtin/providers/aws
TESTARGS='-run=TestAccAWSAPIGatewayAccount_importBasic'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSAPIGatewayAccount_importBasic -timeout 120m
=== RUN   TestAccAWSAPIGatewayAccount_importBasic
--- PASS: TestAccAWSAPIGatewayAccount_importBasic (16.43s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    16.450s
```
2016-06-28 10:03:24 -05:00
Paul Stack 0c16031556 provider/aws: Support Import `aws_elasticache_parameter_group` resource (#7336)
* provider/aws: Support Import `aws_elasticache_parameter_group` resource

```
make testacc TEST=./builtin/providers/aws
TESTARGS='-run=TestAccAWSElasticacheParameterGroup_'
==> Checking that code complies with gofmt requirements...
2016/06/26 19:46:35 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSElasticacheParameterGroup_ -timeout 120m
=== RUN   TestAccAWSElasticacheParameterGroup_importBasic
--- PASS: TestAccAWSElasticacheParameterGroup_importBasic (22.42s)
=== RUN   TestAccAWSElasticacheParameterGroup_basic
--- PASS: TestAccAWSElasticacheParameterGroup_basic (39.08s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    61.520s
```

* Update import_aws_elasticache_parameter_group_test.go
2016-06-28 10:02:43 -05:00
clint shryock e262f0d015 provider/aws: Retry Code Deployment Group update based on IAM issues 2016-06-28 09:54:07 -05:00
Radek Simko 68bb58db35 aws: Add new region (Mumbai) (#7383)
* aws: Sort and format list of valid regions

* aws: Add new region (ap-south-1 / Mumbai)

https://aws.amazon.com/about-aws/whats-new/2016/06/announcing-the-aws-asia-pacific-mumbai-region/
2016-06-28 12:18:36 +01:00
David Harris 23c0399500 provider/aws: Elastic Beanstalk scheduledaction (#7376)
Add support for scheduled actions in Elastic Beanstalk option settings
by adding optional `resource` attribute for option setting resource.
2016-06-28 01:56:12 +01:00
Sander van Harmelen 85ccf3b6b4 Merge pull request #7330 from svanharmelen/f-remove-deprecated
provider/cloudstack: delete all deprecated parameters before the 0.7 release
2016-06-27 17:43:49 +02:00
Paul Stack d0fc1fa086 provider/aws: Randomize the ELB name in an AWS route53 acceptance test (#7341)
FYI @catsby

The acceptance test was throwing the error:

```
* aws_elb.main: DuplicateLoadBalancerName: Load Balancer named
* foobar-terraform-elb already exists and it is configured with
* different parameters.
```

So randomized the name and the test still passes as expected:

```
make testacc TEST=./builtin/providers/aws
TESTARGS='-run=TestAccAWSRoute53Record_alias'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSRoute53Record_alias -timeout 120m
=== RUN   TestAccAWSRoute53Record_alias
--- PASS: TestAccAWSRoute53Record_alias (97.70s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    97.722s
```
2016-06-27 08:52:12 -05:00
Paul Stack d8bad59226 provider/aws: Support Import `aws_vpn_connection` (#7355)
```
make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSVpnConnection_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSVpnConnection_ -timeout 120m
=== RUN   TestAccAWSVpnConnection_importBasic
--- PASS: TestAccAWSVpnConnection_importBasic (201.02s)
=== RUN   TestAccAWSVpnConnection_basic
--- PASS: TestAccAWSVpnConnection_basic (336.38s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	537.426s
```
2016-06-27 08:44:28 -05:00
Paul Stack e81751c4ee provider/aws: Support Import `aws_sns_topic_subscription` (#7359)
Had to change the way that the tests were working to include a random sqs-queue name due to this error:

```

`aws_sqs_queue.test_queue: Error creating SQS queue: AWS.SimpleQueueService.QueueDeletedRecently: You must wait 60 seconds after deleting a queue before you can create another with the same name.
			status code: 400, request id: b58e800a-ae27-556e-b6de-cfe1bbf9dc09``

```
make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSSNSTopicSubscription_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSSNSTopicSubscription_ -timeout 120m
=== RUN   TestAccAWSSNSTopicSubscription_importBasic
--- PASS: TestAccAWSSNSTopicSubscription_importBasic (24.44s)
=== RUN   TestAccAWSSNSTopicSubscription_basic
--- PASS: TestAccAWSSNSTopicSubscription_basic (25.26s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	49.722s
```
2016-06-27 08:44:05 -05:00
Paul Stack aa00d38a10 provider/aws: Support Import `aws_rds_cluster_parameter_group` (#7360)
* provider/aws: Support Import `aws_rds_cluster_parameter_group`

```
make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSDBClusterParameterGroup_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSDBClusterParameterGroup_ -timeout 120m
=== RUN   TestAccAWSDBClusterParameterGroup_importBasic
--- PASS: TestAccAWSDBClusterParameterGroup_importBasic (29.60s)
=== RUN   TestAccAWSDBClusterParameterGroup_basic
--- PASS: TestAccAWSDBClusterParameterGroup_basic (47.27s)
=== RUN   TestAccAWSDBClusterParameterGroup_disappears
--- PASS: TestAccAWSDBClusterParameterGroup_disappears (21.58s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	98.483s
```

* Update import_aws_rds_cluster_parameter_group_test.go
2016-06-27 08:42:55 -05:00
Craig Dodd 139302122e Minor typo fixes (#7354) 2016-06-27 11:54:19 +01:00
Sander van Harmelen 8bdec15649 Add a few explaining lines to the docs about ICMP types/codes 2016-06-27 11:52:22 +02:00
Sander van Harmelen c14aa6336e Delete all deprecated parameters before the 0.7 release
Updated the docs accordingly and also executed all the acceptance tests
after making the changes…
2016-06-27 11:13:48 +02:00
Mickaël Canévet 318310c019 Remove Computed flag 2016-06-27 10:35:40 +02:00
Mickaël Canévet b4c7a274fa Add provider/cloudstack: add security_group_ids 2016-06-27 10:35:40 +02:00
Mickaël Canévet d7e7a45ec6 provider/cloudstack: add security_group_names 2016-06-27 10:33:25 +02:00
Mickaël Canévet 3d9bdafb97 provider/cloudstack: add affinity_group_names 2016-06-27 09:55:34 +02:00
Patrick Sodré 80936e3562 provider/triton: add machine domain names (#7149)
* vendor joyent/gosdc/cloudapi

* provider/triton: Add machine domain names

 - Includes acceptance test.
2016-06-26 22:18:17 +01:00
yissachar 1bd8b449e0 Add SES resource (#5387)
* Add SES resource

* Detect ReceiptRule deletion outside of Terraform

* Handle order of rule actions

* Add position field to docs

* Fix hashes, add log messages, and other small cleanup

* Fix rebase issue

* Fix formatting
2016-06-26 22:07:14 +01:00
stack72 0a2245cbae provider/aws: Support Import for `aws_db_parameter_group`
```
make testacc TEST=./builtin/providers/aws
TESTARGS='-run=TestAccAWSDBParameterGroup_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSDBParameterGroup_ -timeout 120m
=== RUN   TestAccAWSDBParameterGroup_importBasic
--- PASS: TestAccAWSDBParameterGroup_importBasic (31.03s)
=== RUN   TestAccAWSDBParameterGroup_basic
--- PASS: TestAccAWSDBParameterGroup_basic (51.22s)
=== RUN   TestAccAWSDBParameterGroup_Only
--- PASS: TestAccAWSDBParameterGroup_Only (25.45s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    107.725s
```
2016-06-26 21:20:52 +01:00
Joe Topjian 10e2786038 Merge pull request #6997 from jtopjian/openstack-lb-pool-disassociate
provider/openstack: Disassociate Monitors from Pool Before Deletion
2016-06-26 13:20:16 -06:00
Sander van Harmelen e51fb92ab5 Merge pull request #7070 from serbaut/root_disk_size
provider/cloudstack: add root_disk_size
2016-06-25 19:47:48 +02:00
Sander van Harmelen 80f4b8069c Merge pull request #7315 from svanharmelen/f-improve-acls
provider/cloudstack: make ACL's swappable, unless you want to stop using an ACL
2016-06-25 18:09:20 +02:00
James Nugent 51af5e793d Merge pull request #7294 from hashicorp/import-aws-iampp
provider/aws: Support Import for `aws_iam_account_password_policy`
2016-06-24 14:44:36 +03:00
James Nugent b1e933385b Merge pull request #7296 from hashicorp/import-aws-cloudwatcher
provider/aws: Support Import for `aws_cloudwatch_event_rule`
2016-06-24 14:44:17 +03:00
James Nugent c91e45604d Merge pull request #7295 from hashicorp/import-aws-cloudtrail
provider/aws: Support Import for `aws_cloudtrail`
2016-06-24 14:43:58 +03:00
James Nugent 790307aa7a Merge pull request #7307 from hashicorp/arm-nsg-polling
provider/azurerm: `azurerm_network_security_group` now polls for State succeeded
2016-06-24 14:29:47 +03:00
Sander van Harmelen b7c71382f6 Make ACL's swappable, unless you want to stop using an ACL
In CloudStack you can dynamically start using an ACL and once you use
an ACL you can dynamically swap ACL’s. But once your using an ACL, you
can no longer stop using an ACL without rebuilding the network.

This change makes the `ForceNew` value dynamic so that it only returns
`true` if you are reverting from using an ACL to not using an ACL
anymore, making this functionally inline with the behaviour CloudStack
offers.
2016-06-24 13:27:05 +02:00
Joe Topjian 69743450d0 Merge pull request #7194 from scrossan/master
provider/openstack: Change rules type to List
2016-06-23 22:18:24 -06:00
stack72 804f5e1288 provider/azurerm: `azurerm_network_security_group` now polls for State
succeeded

This fixes #7122 where the SG was not fully configured before a
dependant service was created

```
make testacc TEST=./builtin/providers/azurerm
TESTARGS='-run=TestAccAzureRMNetworkSecurityGroup_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/azurerm -v
-run=TestAccAzureRMNetworkSecurityGroup_ -timeout 120m
=== RUN   TestAccAzureRMNetworkSecurityGroup_basic
--- PASS: TestAccAzureRMNetworkSecurityGroup_basic (128.93s)
=== RUN   TestAccAzureRMNetworkSecurityGroup_withTags
--- PASS: TestAccAzureRMNetworkSecurityGroup_withTags (164.52s)
=== RUN   TestAccAzureRMNetworkSecurityGroup_addingExtraRules
--- PASS: TestAccAzureRMNetworkSecurityGroup_addingExtraRules (178.20s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/azurerm
471.677s
```
2016-06-23 23:32:34 +01:00
Joe Topjian 5ce693df99 Merge pull request #7184 from alkersan/openstack_stop_before_detele
provider/openstack stop before destroy
2016-06-23 08:15:08 -06:00
stack72 af44dbd3cd provider/aws: Support Import for `aws_cloudwatch_event_rule`
```
make testacc TEST=./builtin/providers/aws
TESTARGS='-run=TestAccAWSCloudWatchEventRule_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v
-run=TestAccAWSCloudWatchEventRule_ -timeout 120m
=== RUN   TestAccAWSCloudWatchEventRule_importBasic
--- PASS: TestAccAWSCloudWatchEventRule_importBasic (20.15s)
=== RUN   TestAccAWSCloudWatchEventRule_basic
--- PASS: TestAccAWSCloudWatchEventRule_basic (35.25s)
=== RUN   TestAccAWSCloudWatchEventRule_full
--- PASS: TestAccAWSCloudWatchEventRule_full (19.43s)
=== RUN   TestAccAWSCloudWatchEventRule_enable
--- PASS: TestAccAWSCloudWatchEventRule_enable (50.52s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    125.380s
```
2016-06-23 10:31:40 +01:00
stack72 b2f0b2c912 provider/aws: Support Import for `aws_cloudtrail`
```
make testacc TEST=./builtin/providers/aws
TESTARGS='-run=TestAccAWSCloudTrail_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSCloudTrail_
-timeout 120m
=== RUN   TestAccAWSCloudTrail_importBasic
--- PASS: TestAccAWSCloudTrail_importBasic (64.64s)
=== RUN   TestAccAWSCloudTrail_basic
--- PASS: TestAccAWSCloudTrail_basic (97.96s)
=== RUN   TestAccAWSCloudTrail_enable_logging
--- PASS: TestAccAWSCloudTrail_enable_logging (137.07s)
=== RUN   TestAccAWSCloudTrail_is_multi_region
--- PASS: TestAccAWSCloudTrail_is_multi_region (138.51s)
=== RUN   TestAccAWSCloudTrail_logValidation
--- PASS: TestAccAWSCloudTrail_logValidation (102.61s)
=== RUN   TestAccAWSCloudTrail_tags
--- PASS: TestAccAWSCloudTrail_tags (135.66s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    676.484s
```
2016-06-23 10:18:24 +01:00
stack72 20bc268d34 provider/aws: Support Import for `aws_iam_account_password_policy`
```
make testacc TEST=./builtin/providers/aws
TESTARGS='-run=TestAccAWSIAMAccountPasswordPolicy_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v
-run=TestAccAWSIAMAccountPasswordPolicy_ -timeout 120m
=== RUN   TestAccAWSIAMAccountPasswordPolicy_importBasic
--- PASS: TestAccAWSIAMAccountPasswordPolicy_importBasic (14.75s)
=== RUN   TestAccAWSIAMAccountPasswordPolicy_basic
--- PASS: TestAccAWSIAMAccountPasswordPolicy_basic (26.06s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    40.831s
```
2016-06-23 09:52:45 +01:00
James Nugent d39760e620 Merge pull request #7281 from hashicorp/import-aws-ecr
provider/aws: Support import functionality for `aws_ecr_repository`
2016-06-23 11:09:09 +03:00
James Nugent df46af5b57 Merge pull request #7278 from hashicorp/vsphere-vm-migration
provider/vsphere: Add migration for `enable_disk_uuid` on `virtual_machine`
2016-06-23 11:03:58 +03:00
James Nugent c9a4f84caa Merge pull request #7282 from hashicorp/import-aws-vpngateway
provider/aws: Support Import for `aws_vpn_gateway`
2016-06-23 10:52:58 +03:00
James Nugent 1bbb75bc9a Merge pull request #7284 from hashicorp/import-aws-cwlg
provider/aws: Add Import support for `aws_cloudwatch_log_group`
2016-06-23 10:52:32 +03:00
James Nugent 73b823ba47 Merge pull request #7285 from hashicorp/import-aws-ecsng
provider/aws: Support Import for `aws_elasticache_subnet_group`
2016-06-23 10:52:21 +03:00
James Nugent a6ae8eaac8 Merge pull request #7286 from hashicorp/import-aws-dbsng
provider/aws: Support Import functionality for `aws_db_subnet_group`
2016-06-23 10:52:04 +03:00
James Nugent b13ef7c748 Merge pull request #7287 from hashicorp/import-aws-snstopic
provider/aws: Support Import for `aws_sns_topic`
2016-06-23 10:51:42 +03:00
James Nugent 5043114d33 Merge pull request #7288 from hashicorp/import-aws-redshiftsng
provider/aws: Support Import for `aws_redshift_subnet_group`
2016-06-23 10:51:20 +03:00
James Nugent eefd2d5a7c Merge pull request #7289 from hashicorp/import-aws-vpcendpoint
provider/aws: Support Import for `aws_vpc_endpoint`
2016-06-23 10:50:55 +03:00
James Nugent d669077a23 Merge pull request #7290 from hashicorp/import-aws-iamuser
provider/aws: Support Import for `aws_iam_user`
2016-06-23 10:50:19 +03:00
James Nugent 5ac9f21d2f Merge pull request #7291 from hashicorp/import-aws-iamgroup
provider/aws: Support Import for `aws_iam_group`
2016-06-23 10:49:14 +03:00
stack72 86fcabc651 provider/aws: Changing test parameters to be us-west-2 based 2016-06-23 08:13:49 +01:00
stack72 2488bf2a2e Merge branch 'keshav-hashicorp-rebase' of https://github.com/Yelp/terraform into Yelp-keshav-hashicorp-rebase 2016-06-23 07:53:54 +01:00
dkalleg 81673a27e7 Graceful read miss (#7220)
For both the file and virtual_disk resource, Stat is used during read,
but if Stat returns an error, read() will return that error. In doing
so, if a resource is deleted manually, the TF user would then not be
able to destroy the resource because the read would block the Delete()
call. With this patch, read() will only return an error if that error
is NOT a DatastoreNoSuchFileError.
2016-06-23 07:47:08 +01:00
Dmytro Aleksandrov c32d152495 Implemented stop_before_destroy behavior
Docs and acceptance test included
2016-06-23 09:20:41 +03:00
stack72 ba5131b7d7 provider/aws: Support Import for `aws_iam_group`
Small change to the test as it was failing sometimes as it was using the
same identifier. The small change has made it more stable when running
it in quick succession as it isn't an update

```
make testacc TEST=./builtin/providers/aws
TESTARGS='-run=TestAccAWSIAMGroup_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSIAMGroup_
-timeout 120m
=== RUN   TestAccAWSIAMGroup_importBasic
--- PASS: TestAccAWSIAMGroup_importBasic (14.14s)
=== RUN   TestAccAWSIAMGroup_basic
--- PASS: TestAccAWSIAMGroup_basic (22.88s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    37.040s
```
2016-06-23 03:10:31 +01:00
stack72 82529f8029 provider/aws: Support Import for `aws_iam_user`
The Id wasn't being set until after the Read func returned from the API.
I needed to move that Id set up until just after the Create response
returned

The same Id's have been set - username

```
make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSUser_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSUser_
-timeout 120m
=== RUN   TestAccAWSUser_importBasic
--- PASS: TestAccAWSUser_importBasic (14.24s)
=== RUN   TestAccAWSUser_basic
--- PASS: TestAccAWSUser_basic (24.99s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    39.261s
```
2016-06-23 02:56:59 +01:00
stack72 3332f757cb provider/aws: Support Import for `aws_vpc_endpoint`
```
make testacc TEST=./builtin/providers/aws
TESTARGS='-run=TestAccAWSVpcEndpoint_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSVpcEndpoint_
-timeout 120m
=== RUN   TestAccAWSVpcEndpoint_importBasic
--- PASS: TestAccAWSVpcEndpoint_importBasic (45.90s)
=== RUN   TestAccAWSVpcEndpoint_basic
--- PASS: TestAccAWSVpcEndpoint_basic (46.64s)
=== RUN   TestAccAWSVpcEndpoint_withRouteTableAndPolicy
--- PASS: TestAccAWSVpcEndpoint_withRouteTableAndPolicy (91.91s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    184.470s
```
2016-06-23 02:48:59 +01:00
stack72 45f394b5ae provider/aws: Support Import for `aws_redshift_subnet_group`
```
make testacc TEST=./builtin/providers/aws
TESTARGS='-run=TestAccAWSRedshiftSubnetGroup_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v
-run=TestAccAWSRedshiftSubnetGroup_ -timeout 120m
=== RUN   TestAccAWSRedshiftSubnetGroup_importBasic
--- PASS: TestAccAWSRedshiftSubnetGroup_importBasic (47.76s)
=== RUN   TestAccAWSRedshiftSubnetGroup_basic
--- PASS: TestAccAWSRedshiftSubnetGroup_basic (47.75s)
=== RUN   TestAccAWSRedshiftSubnetGroup_updateSubnetIds
--- PASS: TestAccAWSRedshiftSubnetGroup_updateSubnetIds (77.74s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    173.271s
```
2016-06-23 02:33:29 +01:00
stack72 b310842383 provider/aws: Support Import for `aws_sns_topic`
```
make testacc TEST=./builtin/providers/aws
TESTARGS='-run=TestAccAWSSNSTopic_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSSNSTopic_
-timeout 120m
=== RUN   TestAccAWSSNSTopic_importBasic
--- PASS: TestAccAWSSNSTopic_importBasic (17.02s)
=== RUN   TestAccAWSSNSTopic_basic
--- PASS: TestAccAWSSNSTopic_basic (16.59s)
=== RUN   TestAccAWSSNSTopic_withIAMRole
--- PASS: TestAccAWSSNSTopic_withIAMRole (28.90s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    62.536s
```
2016-06-23 02:27:13 +01:00
stack72 95476404c3 provider/aws: Support Import functionality for `aws_db_subnet_group`
```
make testacc TEST=./builtin/providers/aws
TESTARGS='-run=TestAccAWSDBSubnetGroup_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v
-run=TestAccAWSDBSubnetGroup_ -timeout 120m
=== RUN   TestAccAWSDBSubnetGroup_importBasic
--- PASS: TestAccAWSDBSubnetGroup_importBasic (53.80s)
=== RUN   TestAccAWSDBSubnetGroup_basic
--- PASS: TestAccAWSDBSubnetGroup_basic (52.29s)
=== RUN   TestAccAWSDBSubnetGroup_withUndocumentedCharacters
--- PASS: TestAccAWSDBSubnetGroup_withUndocumentedCharacters (54.63s)
=== RUN   TestAccAWSDBSubnetGroup_updateDescription
--- PASS: TestAccAWSDBSubnetGroup_updateDescription (83.04s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    243.785s
```
2016-06-23 02:21:11 +01:00
stack72 2a07f86041 provider/aws: Support Import for `aws_elasticache_subnet_group`
```
make testacc TEST=./builtin/providers/aws
TESTARGS='-run=TestAccAWSElasticacheSubnetGroup_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v
-run=TestAccAWSElasticacheSubnetGroup_ -timeout 120m
=== RUN   TestAccAWSElasticacheSubnetGroup_importBasic
--- PASS: TestAccAWSElasticacheSubnetGroup_importBasic (46.80s)
=== RUN   TestAccAWSElasticacheSubnetGroup_basic
--- PASS: TestAccAWSElasticacheSubnetGroup_basic (48.79s)
=== RUN   TestAccAWSElasticacheSubnetGroup_update
--- PASS: TestAccAWSElasticacheSubnetGroup_update (76.81s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    172.431s
```
2016-06-23 02:12:02 +01:00
stack72 24a21e2f0a provider/aws: Add Import support for `aws_cloudwatch_log_group`
```
make testacc TEST=./builtin/providers/aws
TESTARGS='-run=TestAccAWSCloudWatchLogGroup_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v
-run=TestAccAWSCloudWatchLogGroup_ -timeout 120m
=== RUN   TestAccAWSCloudWatchLogGroup_importBasic
--- PASS: TestAccAWSCloudWatchLogGroup_importBasic (17.24s)
=== RUN   TestAccAWSCloudWatchLogGroup_basic
--- PASS: TestAccAWSCloudWatchLogGroup_basic (16.69s)
=== RUN   TestAccAWSCloudWatchLogGroup_retentionPolicy
--- PASS: TestAccAWSCloudWatchLogGroup_retentionPolicy (29.10s)
=== RUN   TestAccAWSCloudWatchLogGroup_multiple
--- PASS: TestAccAWSCloudWatchLogGroup_multiple (22.09s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    85.140s
```
2016-06-23 01:55:29 +01:00
stack72 882e4fe770 provider/aws: Support Import for `aws_vpn_gateway`
```
make testacc TEST=./builtin/providers/aws
TESTARGS='-run=TestAccAWSVpnGateway_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSVpnGateway_
-timeout 120m
=== RUN   TestAccAWSVpnGateway_importBasic
--- PASS: TestAccAWSVpnGateway_importBasic (48.29s)
=== RUN   TestAccAWSVpnGateway_basic
--- PASS: TestAccAWSVpnGateway_basic (86.98s)
=== RUN   TestAccAWSVpnGateway_reattach
--- PASS: TestAccAWSVpnGateway_reattach (97.93s)
=== RUN   TestAccAWSVpnGateway_delete
--- PASS: TestAccAWSVpnGateway_delete (65.61s)
=== RUN   TestAccAWSVpnGateway_tags
--- PASS: TestAccAWSVpnGateway_tags (73.81s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    372.624s
```
2016-06-23 01:25:13 +01:00
stack72 edf593febd provider/aws: Support import functionality for `aws_ecr_repository`
Changes required:

* ECR Read func doesn't need to take ``registry_id` as it uses the
  current account Id
* `name` wasn't being set in the ECR Read so the import was failing as
  name wasn't found

```
make testacc TEST=./builtin/providers/aws
TESTARGS='-run=TestAccAWSEcrRepository_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v
-run=TestAccAWSEcrRepository_ -timeout 120m
=== RUN   TestAccAWSEcrRepository_importBasic
--- PASS: TestAccAWSEcrRepository_importBasic (17.37s)
=== RUN   TestAccAWSEcrRepository_basic
--- PASS: TestAccAWSEcrRepository_basic (16.05s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    33.437s
```
2016-06-23 00:58:59 +01:00
stack72 74ea8697de provider/vsphere: Add migration for `enable_disk_uuid` on
`virtual_machine`

Fixes #7275 - a state migration was missed when `enable_disk_uuid` was
merged

```
make testacc TEST=./builtin/providers/vsphere
TESTARGS='-run=TestVSphereVirtualMachineMigrateState'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/vsphere -v
-run=TestVSphereVirtualMachineMigrateState -timeout 120m
=== RUN   TestVSphereVirtualMachineMigrateState
--- PASS: TestVSphereVirtualMachineMigrateState (0.00s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/vsphere
0.018s
```
2016-06-22 23:43:44 +01:00
Keshav Varma 58bd6dfb02 Add an AWS Spot fleet resource 2016-06-21 17:31:30 -07:00
Clint f4a1833baf provider/aws: Bundle IOPs and Allocated Storage update for DB Instances (#7203) 2016-06-21 14:53:13 -05:00
clint shryock 005d9a12e0 provider/aws: Update IAM / ELB server certs from expired ones 2016-06-21 13:54:40 -05:00
Radek Simko 6fed5eb8f0 aws: Use new STS endpoint to validate creds (#6536) 2016-06-20 23:14:07 +01:00
David Harris c7eb8a2022 provider/aws: elastic beanstalk invalid setting crash (#7222)
* Only check the `cnamePrefix` if the CNAME is not nil

* Get Elastic Beanstalk error messages
2016-06-20 16:21:15 -05:00
clint shryock ecc455ebb4 provider/aws: Guard against nil values in EC2 Tags 2016-06-20 15:53:04 -05:00
Raphael Randschau 90889632e0 Add aws_ecs_container_definition data source
this datasource allows terraform to work with externally modified state, e.g.
when you're using an ECS service which is continously updated by your CI via the
AWS CLI.

right now you'd have to wrap terraform into a shell script which looks up the
current image digest, so running terraform won't change the updated service.

using the aws_ecs_container_definition data source you can now leverage
terraform, removing the wrapper entirely.
2016-06-19 21:50:37 +02:00
David Tolnay 0b9fb1d8f8
Stop swallowing errors from DescribeAlarms
This caused alarms to be created repeatedly if Terraform is running without
DescribeAlarms permission.
2016-06-18 15:57:52 -07:00
James Bardin 2a2f7cbc52 Merge pull request #7205 from hashicorp/jbardin/GH-2027
core: don't check any parts of a computed set in InstanceDiff.Same
2016-06-17 11:00:29 -04:00
Radek Simko 2cdb5a367e aws/route53_zone: Make delegation_set_id conflict w/ vpc_id (#7213)
- as per the API reference it is not possible to use delegation sets w/ private hosted zones
   - http://docs.aws.amazon.com/Route53/latest/APIReference/API-create-hosted-zone-private.html
   - http://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateHostedZone.html
 - if you specify both AWS returns confusing error "InvalidInput" with no further details so this should reduce potential confusions & improve UX
2016-06-17 12:35:49 +01:00
stack72 7b482cca9b provider/mysql: Empty Provider Credentials Caused Panic
There are currently no checks on username and endpoint in the provider
schema from being an empty value. This PR adds support to make sure that
endpoint and username are not empty strings as that can cause a panic

Results of the PR:

```
 % terraform apply
There are warnings and/or errors related to your configuration. Please
fix these before continuing.

Errors:

  * provider.mysql: Endpoint must not be an empty string
```
2016-06-17 11:32:30 +01:00
James Bardin a3e2c99219 Add a failing acceptance test from GH-2027 2016-06-16 18:43:15 -04:00
James Bardin f65a898a51 Merge pull request #7188 from hashicorp/jbardin/GH-7017
provider/aws: Check for unassigned AWS Cookie Stickiness Policy
2016-06-16 11:35:05 -04:00
Clint 24bcac42be provider/aws: Retry EIP association (#7186) 2016-06-16 10:03:16 -05:00
James Bardin cfd8254db8 Check for existing but unassigned LB policies
If an AWS Cookie Stickiness Policy is removed from the listener in
the AWS console the policy isn't deleted. Cross reference the policy
name with those assigned to the listener to determine if the policy
is actually being used.
2016-06-16 10:10:52 -04:00
Steven Crossan ca2d230a2c provider/openstack: Change rules type to List
Allows for ordering of rules that are applied to the firewall policy,
including addition and removal of rules in certain positions.
2016-06-16 12:27:01 +01:00
Brian Edwards d79879dba4 provider/datadog: add timeboard resource. upgrade vendored go-datadog-api to support read-only option. (#6900) 2016-06-15 18:44:49 +02:00
James Nugent 14ff584cc6 Merge pull request #7150 from hashicorp/arm-maxitems
provider/azurerm: Change `azurerm_virtual_machine` to use MaxItems
2016-06-15 18:21:32 +02:00
Martin Atkins ce447e8e2a aws_availability_zones output as "names" rather than "instance" (#7162)
Since this resource produces a list it feels more intuitive to give its
attribute a plural name, and since the noun "instance" already means
something specific in the AWS provider that doesn't apply here we use
"names" to indicate that these are availability zone names.

Also includes updating the docs to not show a dynamic count example for
now, since we don't support that yet.
2016-06-15 15:17:12 +02:00
James Bardin e2d257372a Merge pull request #7166 from hashicorp/jbardin/GH-7065
provider/aws: Check for LoadBalancerNotFound when reading AppCookieStickinessPolicy
2016-06-15 08:59:58 -04:00
James Bardin d4d8a99ba4 Check for LoadBalancerNotFound
When reading an AppCookieStickinessPolicy check for LoadBalancerNotFound
as well as PolicyNotFound. This prevents errors when when destroying a
policy on an ELB that no longer exists.
2016-06-14 17:58:48 -04:00
Clint 627efa21f4 provider/aws: Retry RouteTable Route/Assocation creation (#7156)
* provider/aws: Retry RouteTable Assocation creation

* provider/aws: retry route creation

* remove extra string check
2016-06-14 15:39:52 -05:00
clint shryock 4796e27d1a provider/aws: Randomize Cluser Param group name to avoid collision 2016-06-14 10:42:36 -05:00
clint shryock 8f216563aa provider/aws: Fix db instance snapshot tests 2016-06-13 10:05:01 -05:00
stack72 e57ee0a067 provider/azurerm: Change `azurerm_virtual_machine` to use MaxItems
There were lots of hacky checks in the ARM VM resource to check for a
length of 1 param block

MaxItems was introduced so this PR updates to use MaxItems
2016-06-13 13:25:32 +02:00
Patrick Sodré 71dc5ea1c3 Add AccTest for tags with dots for Triton provider
- Tests for issue hashicorp/terraform#2143.
- Fixed package names since Triton deprecated the g3-series.
- Must supply SDC_URL when invoking tests.

Test will fail on metadata_3 but not on _2 as discussed with
@jen20 on 11 June 2016.
2016-06-11 22:19:18 -04:00
James Nugent 25dbdc5187 Merge pull request #7127 from hashicorp/b-remote-state-fix
core + provider/terraform: Fix outputs in remote state
2016-06-11 17:16:19 +01:00
James Nugent bdc6a49ae3 provider/terraform: Fix outputs from remote state
The work integrated in hashicorp/terraform#6322 silently broke the
ability to use remote state correctly. This commit adds a fix for that,
making use of the work integrated in hashicorp/terraform#7124.

In order to deal with outputs which are complex structures, we use a
forked version of the flatmap package - the difference in the version
this commit vs the github.com/hashicorp/terraform/flatmap package is
that we add in an additional key for map counts which state requires.
Because we bypass the normal helper/schema mechanism, this is not set
for us.

Because of the HIL type checking of maps, values must be of a homogenous
type. This is unfortunate, as it means we can no longer refer to outputs
as:

    ${terraform_remote_state.foo.output.outputname}

Instead we had to bring them to the top level namespace:

    ${terraform_remote_state.foo.outputname}

This actually does lead to better overall usability - and the BC
breakage is made better by the fact that indexing would have broken the
original syntax anyway.

We also add a real-world test and assert against specific values. Tests
which were previously acceptance tests are now run as unit tests, so
regression should be identified at a much earlier stage.
2016-06-11 16:53:45 +01:00
Joe Topjian 8d78f9c4e1 Merge pull request #7120 from jtopjian/openstack-lbaas-updates
provider/openstack: lbaas v2 updates
2016-06-11 09:05:51 -06:00
Paul Stack ab721e2ffc provider/azurerm: Fix `azurerm_virtual_machine` windows_config (#7123)
When using winrm config block, we had an address issue. This is no
longer a set but a list (As a list fits it more approp)

    ```
    make testacc TEST=./builtin/providers/azurerm
    TESTARGS='-run=TestAccAzureRMVirtualMachine_'
    ==> Checking that code complies with gofmt requirements...
    go generate $(go list ./... | grep -v /vendor/)
    TF_ACC=1 go test ./builtin/providers/azurerm -v
    -run=TestAccAzureRMVirtualMachine_ -timeout 120m
    === RUN   TestAccAzureRMVirtualMachine_basicLinuxMachine
    --- PASS: TestAccAzureRMVirtualMachine_basicLinuxMachine (587.80s)
    === RUN   TestAccAzureRMVirtualMachine_tags
    --- PASS: TestAccAzureRMVirtualMachine_tags (554.53s)
    === RUN   TestAccAzureRMVirtualMachine_updateMachineSize
    --- PASS: TestAccAzureRMVirtualMachine_updateMachineSize (612.52s)
    === RUN   TestAccAzureRMVirtualMachine_basicWindowsMachine
    --- PASS: TestAccAzureRMVirtualMachine_basicWindowsMachine (765.90s)
    === RUN   TestAccAzureRMVirtualMachine_windowsUnattendedConfig
    --- PASS: TestAccAzureRMVirtualMachine_windowsUnattendedConfig
    (770.53s)
    === RUN   TestAccAzureRMVirtualMachine_winRMConfig
    --- PASS: TestAccAzureRMVirtualMachine_winRMConfig (827.90s)
    PASS
    ok      github.com/hashicorp/terraform/builtin/providers/azurerm
    4119.192s
    ```
2016-06-11 13:28:18 +02:00
Paul Stack b4ed5dfba3 provider/azurerm: VMSS Tests still used old naming convention (#7121) 2016-06-11 10:12:20 +02:00
Joe Topjian f563b24002 provider/openstack: lbaas v2 updates
This commit cleans up the acceptance test formatting for the lbaas v2
resources. It also modifies the devstack script to enable the lbaas
v2 service for testing. Finally, this commit increases the timeout
for load balancer creation since it takes some time to do within
devstack.
2016-06-11 04:20:44 +00:00
Paul Stack 514d8422f3 provider/azurerm: Add `azurerm_virtual_machine_scale_set` resource (#6711) 2016-06-11 00:37:14 +02:00
Paul Stack 5e23e87c30 provider/aws: `aws_db_instance` change to the default for (#7118)
`publicly_accessible` to be false
2016-06-11 00:13:53 +02:00
Paul Hinze bba5a38c95 Merge pull request #7116 from hashicorp/b-aws-map-list-test-merrymaking
provider/aws: Clean up some map/set test checks
2016-06-10 16:57:24 -05:00
Paul Stack 5ecc8e3169 provider/aws: `aws_db_instance` now defaults `publicly_accessible` to (#7117)
false

Fixes #7035

A known issue in Terraform means that d.GetOk() on a bool which is false
will mean it doesn't get evaulated. Therefore, when people set
publicly_accessible to false, it will never get evaluated on the Create

We are going to make it default to false now
2016-06-10 23:55:36 +02:00
Paul Stack 5644545680 provider/azurerm: DNS CNAME resource wasn't posting records (#7113)
* provider/azurerm: DNS CNAME resource wasn't posting records

Azure changed the API for CNAME at some point and since then we haven't
been creating CNAME records. The API changes from []records to a single
record

This PR changes the schema for dns cnames to have a record parameter and
adds a deprecation warning around records. Talked with @jen20 on this
and we decided that it's currently broken and we should handle this as
part of 0.7 where there are other breaking changes

```
TF_LOG=1 make testacc TEST=./builtin/providers/azurerm
TESTARGS='-run=TestAccAzureRMDnsCNameRecord' 2>~/tf.log
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/azurerm -v
-run=TestAccAzureRMDnsCNameRecord -timeout 120m
=== RUN   TestAccAzureRMDnsCNameRecord_basic
--- PASS: TestAccAzureRMDnsCNameRecord_basic (97.22s)
=== RUN   TestAccAzureRMDnsCNameRecord_subdomain
--- PASS: TestAccAzureRMDnsCNameRecord_subdomain (94.94s)
=== RUN   TestAccAzureRMDnsCNameRecord_updateRecords
--- PASS: TestAccAzureRMDnsCNameRecord_updateRecords (116.62s)
```

* Change DNS Records to removed rather than deprecated
2016-06-10 23:53:32 +02:00
Paul Hinze 81a436e956 Merge pull request #7105 from hashicorp/b-arm-vm-winconfig
provider/azurerm: `azurerm_virtual_machine` Windows_config
2016-06-10 16:17:09 -05:00
Paul Hinze 757aae538b Merge pull request #7012 from hpcloud/lbaas-v2
OpenStack LBaaS v2 Support
2016-06-10 16:07:10 -05:00
stack72 155a47fa80 provider/azurerm: `azurerm_virtual_machine` Windows_config
Fixes #7053 where, when using `additional_unattend_config` in
`os_profile_windows_config` we got an error as follows:

```
azurerm_virtual_machine.test: [DEBUG] Error setting Virtual Machine
Storage OS Profile Windows Configuration: &errors.errorString{s:"Invalid
address to set: []string{\"os_profile_windows_config\", \"1534614206\",
\"additional_unattend_config\"}"}
```
2016-06-10 19:33:09 +01:00
clint shryock 88ed387bd6 fix up cloudformation test checks 2016-06-10 12:52:10 -05:00
clint shryock 0530cf963d provider/aws: revert # -> % for tests 2016-06-10 12:45:24 -05:00
clint shryock fad26ec59e provider tests: Update to match new tags map in state 2016-06-10 10:07:02 -05:00
Clint 19eb0079db provider/aws: update asg placement group test name, to fix import test (#7095) 2016-06-10 09:01:30 -05:00
Igor Wiedler ad9a3fe44d [provider/google] Use resource-specific project when waiting for creation
Creating most google cloud resources uses the compute_operation to
wait for the creation to complete. However, the computeOperationWait*
functions always uses the global `config.Project`, instead of the resource-
specific one.

This means that creating resource in a project other than the main one
fails with a 404 on the operation resource.

This patch uses the project from google_compute_instance instead of the
global one.
2016-06-10 11:55:21 +02:00
Clint 6318b8fd4c provider/aws: Rename parameter_group_name to db_cluster_parameter_group_name (supersedes #7068) (#7083)
* modify parameter_group_name to db_cluster_parameter_group_name #7046

* provider/aws: Deprecate parameter_group_name in RDS Cluster

Use db_cluster_parameter_group_name instead
2016-06-09 16:45:29 -05:00
Clint 5e26cb9960 provider/aws: Update Lambda functions on name change (#7081)
Allows the updating of Lambda functions on name change alone
2016-06-09 16:44:10 -05:00
clint shryock 253a46b573 provider/aws: Randomize names in code deploy test to reduce chances of name collision on tests 2016-06-09 15:39:35 -05:00
dkalleg 8467f5219e OpenStack LBaaS v2 Support
CRUD, tests and Docs for managing a LoadBalancer, Listener,
Pool, Member, and Monitor resources.
2016-06-09 13:19:52 -07:00
James Nugent 57cf9fd295 Merge pull request #7082 from hashicorp/b-empty-map-types
core: Make lists and maps distinguishable in state
2016-06-09 12:36:24 +02:00
James Nugent 75ef7ab636 provider/test: Add more variants of maps
This commit adds a binary for the test provider, and adds a variety of
different types of map to the schema.
2016-06-09 10:49:49 +01:00
Benjamin Chelli cc22cef085 DigitalOcean - droplet always being recreated (#7044)
The region returned by the API is always lowercase therefore when you specify a region uppercase in your config file it forces the droplet to be regenerated on every ```terraform apply``` (even when it is not needed).
2016-06-09 10:23:44 +02:00
dkalleg fb6f2bc750 provider/vSphere - Add DiskEnableUUID option (#7088)
Since the custom_configuration_parameters can't take dots, we cannot
set 'disk.EnableUUID'.  This adds a parameter for this options that gets
added to a configSpec. This option causes the vm to mount disks by uuid
on the guest OS.
2016-06-09 10:19:10 +02:00
Paul Forman 391a7f85b0 provider/aws: Fix issue with Root Block Devices and encrypted flag in Launch Configurations [GH-6512]
Fixed the problem where the root_block_device could cause an apply error
by reading back an "encrypted" parameter that was meant for an
ebs_block_device.  "encrypted" is not part of the root_block_device
schema, since it can't be set explicitly.

Added a check in Create to fail when the root device is incorrectly
specified as an ebs_block_device, as this causes continual refreshing
due to mismatched state between root_block_device and ebs_block_device.

"encrypted" and "snapshot_id" should be guarded with ConflictsWith, but
that doesn't appear to work on nested resources despite #1926.
2016-06-08 15:56:27 -05:00
clint shryock c667b2d8cd Merge branch 'pr-7075'
* pr-7075:
  provider/aws: Log ElasticCache subnet removal
  provider/aws: Update state on `aws_elasticache_subnet_group` not found exception
2016-06-08 13:42:08 -05:00
clint shryock 1624c7e27f provider/aws: Log ElasticCache subnet removal 2016-06-08 13:35:49 -05:00
stack72 2a09941f76 provider/aws: Update state on `aws_elasticache_subnet_group` not found exception
Fixes #7062

make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSElasticacheSubnetGroup'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /vendor/)
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSElasticacheSubnetGroup -timeout 120m
=== RUN   TestAccAWSElasticacheSubnetGroup_basic
--- PASS: TestAccAWSElasticacheSubnetGroup_basic (44.62s)
=== RUN   TestAccAWSElasticacheSubnetGroup_update
--- PASS: TestAccAWSElasticacheSubnetGroup_update (73.74s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	118.379s
2016-06-08 16:00:13 +02:00
Sam Ottenhoff bd36bc60aa BGP AS 60000 is assigned to EQUINIX-CLOUD-EXCHANGE-AMSTERDAM-ASN.
AS65000 is reserved for private use. https://en.wikipedia.org/wiki/Autonomous_system_\(Internet\)
2016-06-08 13:46:56 +00:00
Joakim Sernbrant dd5f121494 provider/cloudstack: add root_disk_size 2016-06-08 10:23:14 +02:00
James Bardin cd160d3f3f Merge pull request #6965 from hashicorp/jbardin/GH-3968
Add support for Amazon Elastic Transcoder
2016-06-07 17:28:55 -04:00
James Bardin 5b5641208e remove extra "=" from test config 2016-06-07 17:06:25 -04:00
James Bardin 5c1b625c84 Add support for Amazon Elastic Transcoder
- Add resources for elastic transcoder pipelines and presets
2016-06-07 16:07:08 -04:00
Clint 7d23570e2d provider/cloudflare: Add migration for v1 to v4 API libraries (#6969)
* provider/cloudflare: Add migration for v1 to v4 API libraries

- mock out api calls
2016-06-07 14:29:25 -05:00
Mark Peek 74d5db4f3e Don't require vsphere debug paths to be set (#7027)
The change to add govmomi debug paths (#6893) required user input even
when the env was not set. This change defaults those values appropriately.
2016-06-07 16:16:04 +01:00
Mark Peek 57e935755e Add vsphere virtual machine migration (Fixes #7008) (#7023)
Fixes vsphere virtual machine migration issues with
disk controller_type and skip_customization.
2016-06-07 16:11:35 +01:00
James Bardin 4c7a31d72a Merge pull request #6879 from hashicorp/jbardin/GH-3999
Add top-level ELB Attachment resource
2016-06-07 10:19:07 -04:00
James Bardin e4d8c6929f Add top-level ELB Attachment resource
Add an aws_elb_attachment resource so that the attment of instances to
an ELB can be managed separately from an aws_elb and prevent dependency
cycles.
2016-06-07 09:46:39 -04:00
clint shryock 943583925d provider/cloudfront: Minor adjustments for new cloudflare-go lib 2016-06-06 14:57:26 -05:00
clint shryock d70d7aba57 provider/cloudflare: Swap out mitchellh fork for upstream cloudflare-go
TODO noted that this should be done when a PR was merged, and it has so
2016-06-06 14:48:05 -05:00
Clint d8ab30ca02 Merge pull request #6987 from modax/bug/vpngw-vpc-reattach
provider/aws: Fix reattachment of VPC to VPN gateway.
2016-06-06 11:30:44 -05:00
clint shryock b9f512e0cf provider/aws: Bump ElasticSearch domain delete time to match create time. Should help test pass 2016-06-06 11:13:48 -05:00
clint shryock 3044cc5c38 provider/aws: randomiz names in TestAccAWSCloudwatchLogSubscriptionFilter_basic 2016-06-06 10:25:02 -05:00
Joshua Spence d3030e1e0f Add `name_prefix` to `aws_iam_instance_profile` and `aws_iam_role` (#6939) 2016-06-05 00:46:27 +01:00
James Nugent 07b7e757aa Merge pull request #7007 from hashicorp/f-remove-bin-tests
core: Remove tests from provider binaries
2016-06-03 14:08:33 -05:00
James Nugent 69df3beb89 core: Remove tests from provider binaries
These tests run each time Travis builds, causing additional noise and a
(negligible) speed decrease. However, since the advent of internal
plugins, these tests are unnecessary, and each file only carries a
package declaration anyway - so there are no tests actually executed!
2016-06-03 13:47:58 -05:00
clint shryock b24228021f Merge branch 'pr-6865'
* pr-6865:
  provider/aws: Add db_param group to RDS Cluster Instance test
  remove status attribute
  support aurora instance's parameter group and modifyinstance
2016-06-03 13:46:14 -05:00
clint shryock 412d88e768 provider/aws: Add db_param group to RDS Cluster Instance test 2016-06-03 13:46:01 -05:00
clint shryock badbe6d738 provider/aws: Fix panics in datasource AMI 2016-06-03 09:19:51 -05:00
Linda Xu 5ca5b1e3a1 remove status attribute 2016-06-02 20:37:36 -07:00
Joe Topjian c62dc3f72f provider/openstack: Disassociate Monitors from Pool Before Deletion
This commit ensures that all monitors have been disassociated from
the load balancing pool before the pool is deleted.

A test has been added to ensure that a full load balancing stack is
capable of handling an update to an instance, causing some components
to be rebuilt.
2016-06-03 02:34:14 +00:00
Joe Topjian 8691f2477d Merge pull request #6921 from jtopjian/openstack-blockdevice-forcenew
provider/openstack: Enforce ForceNew on Instance Block Device
2016-06-02 20:30:46 -06:00
Joe Topjian ead1fed897 provider/openstack: Enforce ForceNew on Instance Block Device
This commit causes openstack_compute_instance_v2 resources to be
destroyed and recreated upon changes to any block_device argument.
2016-06-03 02:16:40 +00:00
Joe Topjian c1ec286ff7 Merge pull request #6919 from jtopjian/openstack-lb-pool-provider
provider/openstack: Add lb_provider argument to lb_pool_v1 resource
2016-06-02 20:05:06 -06:00
clint shryock 3f0650b585 provider/aws: randomize role name for test 2016-06-02 15:22:16 -05:00
clint shryock 2703c4eab9 provider/aws: fix go fmt 2016-06-02 14:40:43 -05:00
clint shryock e427880684 provider/aws: Fix TestAccAWSElasticacheSecurityGroup_basic test 2016-06-02 14:36:30 -05:00
clint shryock a258e492cd provider/aws: randomize ASG Notification test names 2016-06-02 14:36:30 -05:00
Chris Love 7b449b66a0 Adding Govomi Debug Logging Capability and refactoring of integration tests (#6893)
* Adding debug functionality to log debug api calls

* adding debug and refactoring tests

* more tweaks with tests

* updating documentation

* more refactoring of tests

* working through factor for testing

* removing logging that displays username and password

* more work on getting tests stable
2016-06-02 20:15:01 +01:00
Modestas Vainius e655cbd0fc provider/aws: Fix reattachment of VPC to VPN gateway.
When VPC is detached from VPN gateway, its VpcAttachment stays in place
just with state changed to "detached". Since terraform was not checking
attachment state, it used to think VPC gateway was still attached.
2016-06-02 20:35:33 +03:00