Commit Graph

6828 Commits

Author SHA1 Message Date
Marc Rooding ab699db458 Support the container cluster local ssd count property 2017-03-22 09:39:36 +01: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
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
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
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
clint shryock db132b312d update test to remove dupe provider definition 2017-03-20 14:18:14 -05:00
clint shryock f59e37a41f update test to remove dupe provider definition 2017-03-20 13:54:13 -05: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
Benjamin Boudreau 073fa873ac Fix receive typo (#12881) 2017-03-20 13:15:27 -04:00
Gauthier Wallet 6f6dddba67 provider/aws: Deprecate the usage of stage_key in favor of usage plans (#12883) 2017-03-20 16:09:14 +00:00
Gauthier Wallet 23ebd0b972 Allow get/set of aws_api_gateway_api_key value attribute (#9462) 2017-03-20 14:08:37 +00:00
Gauthier Wallet ae2c7a5f0b provider/aws: Added Usage Plan Key resource (#12851)
* provider/aws: Added Usage Plan Key resource

* provider/aws: Added usage plan import documentation
2017-03-20 13:54:14 +00:00
Joshua Spence f40997988e Add `name_prefix` to `aws_autoscaling_group` and `aws_elb` resources (#12629)
Adds support for `name_prefix` to the `aws_autoscaling_group` and `aws_elb` resources. Unfortunately when using `name_prefix` with `aws_elb`, this means that the specified prefix can only be a maximum of 6 characters in length. This is because the maximum length for an ELB name is 32 characters, and `resource.PrefixedUniqueId` generates a 26-character unique identifier. I was considering truncating the unique identifier to allow for a longer `name_prefix`, but I worried that doing so would increase the risk of collisions.
2017-03-20 13:06:45 +00:00
Jake Pusateri c7546c7726 provider/aws: Fix flattened cloudfront lambda function associations to be a set, not a slice (#11984) 2017-03-20 13:05:19 +00:00
Laurent Commarieu d54a8da7d4 feat(consul): add basic auth to consul provider (#12679) 2017-03-20 13:00:44 +00:00
Radek Simko 17afcf2708 provider/arukas: Increase timeout to 15mins & use standard helper (#12849) 2017-03-19 18:55:11 +00:00
Alexander ca517543f2 provider/pagerduty: Validate credentials (#12854)
* Validate credentials

* Add ability to skip validation

* Update provider documentation

* invalidCredentials -> invalidCreds

* Include original error message

* Update description for skip_credentials_validation

* Add config test

* set skip_credentials_validation default to false
2017-03-19 17:37:46 +00:00
Joe Topjian bd7ba34627 provider/openstack: Adding Timeouts to Network Resources (#12866) 2017-03-19 17:23:36 +00:00
Joe Topjian fbf1732a7b provider/openstack: Adding Timeouts to LBaaS v1 Resources (#12867) 2017-03-19 17:18:03 +00:00
Joe Topjian adbc87f1e7 provider/openstack: Adding Timeouts to Image v2 and LBaaS v2 Resources (#12865) 2017-03-19 17:14:20 +00:00
Joe Topjian 42ff9103b7 provider/openstack: Adding Timeouts to FWaaS v1 Resources (#12863) 2017-03-19 17:09:22 +00:00
Joe Topjian e37b26a3fa provider/openstack: Adding Timeouts to Blockstorage Resources (#12862) 2017-03-19 17:07:26 +00:00
Gauthier Wallet 323f646b42 provider/aws: Added API Gateway Usage Plan (#12542)
* Added api_gateway_usage_plan

* Updated documentation

* Fixed AWS usage plan review points
2017-03-18 14:18:19 +00:00
Jesse Collier ba9434d741 Added support for EMR AutoScalingRole (#12823)
credit to @tolis-sisiaridis for changes
Addresses https://github.com/hashicorp/terraform/issues/11126
2017-03-18 14:12:43 +00:00
Hao 06a9bfebfc MySQL Provider does not recreate user if user got deleted manually in MySQL (#12791)
Issue No. #12767
2017-03-18 13:15:01 +00:00
James Healy 593a0c699b Allow dnsimple_record.priority attribute to be set (#12843)
* Allow priority attribute of dnsimple_record to be set

Some DNS record types (like MX) allow a priority to specified, and the
ability to do so is important in many environments.

This diff will change dnsimple_record.priority from computed to
optional, allowing it to be used in terraform configs like so:

    resource "dnsimple_record" "mx1" {
        domain = "example.com"
        name = ""
        value = "mx1.example.com"
        type = "MX"
        priority = "1"
    }

    resource "dnsimple_record" "mx2" {
        domain = "example.com"
        name = ""
        value = "mx2.example.com"
        type = "MX"
        priority = "2"
    }

* mention new priority attribute of dnsimple_record

* add acceptance specs for creating/updating MX records at dnsimple
2017-03-18 13:04:48 +00:00
Christoph Blecker bc4a3d62a5 Fix go vet error (#12839) 2017-03-18 12:33:05 +00:00
Sean Chittenden 2c564f1aff Add the `check_id` out parameter to `circonus_check`. (#12832)
This is an important optimization for dynamically created resources
via the `count` attribute.
2017-03-17 18:36:10 -04:00
Sean Chittenden d3225296a2 Add statsd support to the `circonus_check` resource. (#12820)
* Vendor update `github.com/circonus-labs/circonus-gometrics`

* Add the `statsd` check type to the `circonus_check` resource.

* Noop change: Alpha-sort members of maps, variables, and docs.
2017-03-17 18:34:00 -04:00
Kit Ewbank bf02d5aa50 provider/aws: Add KMS key tag support (#12243)
* Add KMS key tag support.

* After review, better error message when unable to list KMS key tags.
2017-03-17 19:08:33 +00:00
Jasmin Gacic bbded01863 panic_prevention (#12819) 2017-03-17 18:27:21 +00:00
James Bardin 23bc24bfcc Merge pull request #12813 from hashicorp/jbardin/dns-acc-tests
Convert dns data tests to acceptance tests
2017-03-17 14:18:23 -04:00
Radek Simko 6ff5561947 librato: Work around eventual consistency of the API (#12816) 2017-03-17 16:52:38 +00:00
Joshua Spence b823033514 Allow `name_prefix` to be used with various IAM resources (#12658)
Adds the `name_prefix` to `aws_iam_group_policy`, `aws_iam_role_policy` and `aws_iam_user_policy`.
2017-03-17 16:48:42 +00:00
Joe Topjian f54b0a88a7 provider/openstack: Add timeout support for Compute resources (#12794)
This commit adds support for specifying timeout values for the
openstack_compute_* family of resources.
2017-03-17 16:08:02 +00:00
James Bardin 983e041dc1 Convert dns data tests to acceptance tests
These call out to external resources and can fail in unit tests.
2017-03-17 12:07:29 -04:00
clint shryock f5b3e0c558 provider/aws: Adjust User-Agent header 2017-03-17 10:30:32 -05:00
Paul Stack c9df11e32f provider/pagerduty: Remove legacy pagerduty vendor datasource acctest (#12803)
Removes the test for datasource vendor name_prefix as that field has now
been removed
2017-03-17 11:06:26 +00:00
Radek Simko e6e2535d2e provider/github: Randomize repo and team names in acc tests (#12802) 2017-03-17 10:47:43 +00:00
Radek Simko 9e74548787 provider/circonus: Fix failing acceptance test (#12798) 2017-03-17 10:37:39 +00:00
Radek Simko 2082359220 provider/arukas: Randomize names in acceptance tests (#12784) 2017-03-17 05:47:24 +00:00
Radek Simko 50760374e0 aws: Discover supported EC2 platforms (#7568)
This will make it possible/easier to make decisions based on supported EC2 platforms (VPC and/or EC2 Classic)
in the context of any AWS resource which needs make such decisions.
2017-03-16 21:11:55 +00:00
Jake Champlin 78933cf31c Merge pull request #12765 from hashicorp/f-add-plan-validation-sg-cidr-blocks
provider/aws: Add plan-level validation for SG CIDR blocks
2017-03-16 15:44:56 -04:00
Willem van Vliet c133143bb2 Added schema to expose public IPv6 (#12748) 2017-03-16 20:00:30 +01:00
Paul Stack 98009ba733 provider/aws: Stop setting weight property on route53_record read (#12756)
Fixes: #12752

Weight was replaced with weighted_routing_policy in June 2016. But for
some reason we were still doing the following in the Read func:

```
d.Set("weight", -1)
```

As this field was removed, we shouldn't be setting it to state
2017-03-16 19:57:21 +01:00
Radek Simko e74449792d aws: Refactor API mock helpers (#12769)
This makes helpers generic enough to be useful for any AWS service
2017-03-16 17:41:57 +00:00
clint shryock 628dd2a1a4 Merge branch 'pr-12744'
* pr-12744:
  gofmt a file
  Adding data sources to DNS docs.
  Adding docs for data sources.
  Adding data sources to dns provider.
2017-03-16 11:03:38 -05:00
clint shryock 801ef5ba65 gofmt a file 2017-03-16 11:03:26 -05:00
Jake Champlin 925265016b
provider/aws: Add plan-level validation for SG CIDR blocks
Adds plan-level validation for both IPv4 and IPv6 CIDR Blocks in an AWS SecurityGroup resource, as well as the AWS Security Group Rule resource.

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSSecurityGroup_invalidCIDRBlock'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/16 11:32:54 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSSecurityGroup_invalidCIDRBlock -timeout 120m
=== RUN   TestAccAWSSecurityGroup_invalidCIDRBlock
--- PASS: TestAccAWSSecurityGroup_invalidCIDRBlock (0.01s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    0.017s
```

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSSecurityGroupRule_ExpectInvalidCIDR'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/16 11:46:21 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSSecurityGroupRule_ExpectInvalidCIDR -timeout 120m
=== RUN   TestAccAWSSecurityGroupRule_ExpectInvalidCIDR
--- PASS: TestAccAWSSecurityGroupRule_ExpectInvalidCIDR (0.01s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    0.016s
```
2017-03-16 11:49:51 -04:00
Radek Simko 5f70ffb3b4 kubernetes: Add config_map resource (#12753) 2017-03-16 14:51:01 +00:00
Radek Simko 7692ac74a1 provider/aws: Improve error when failing to get S3 tags (#12759) 2017-03-16 14:43:54 +00:00
Jake Champlin b946304f7e Merge pull request #12702 from hashicorp/f-retry-deletion-aws-ami
Add waitForDestroy for aws ami resource
2017-03-16 10:22:54 -04:00
Jake Champlin 3641c944a6 Merge pull request #12735 from hashicorp/b-fix-network-acls
provider/aws: Correctly check if setting CidrBlock or IPv6CidrBlock i…
2017-03-16 10:21:25 -04:00
Radek Simko 4448e45678 Merge pull request #12372 from hashicorp/f-kubernetes
kubernetes: Add provider + namespace resource
2017-03-16 07:18:39 +00:00
Paddy fc8e696581 Merge pull request #12729 from hashicorp/paddy_drop_account_file
provider/google: drop the account file.
2017-03-15 23:40:04 -07:00
Jake Champlin f93848670e
protect against panics in nil checks 2017-03-15 18:21:40 -04:00
Brad Sickles aea87de808 Adding data sources to dns provider. 2017-03-15 18:18:39 -04:00
Dana Hoffman d187df75e8 provider/google: add support for a few more fields in NodeConfig 2017-03-15 15:11:09 -07:00
Jake Champlin 3f8fa8ddf4
provider/aws: Correctly check if setting CidrBlock or IPv6CidrBlock in NetworkAcl
Previously the check for if we are setting `CidrBlock` or `IPv6CidrBlock` during an `Update` of the `aws_network_acl` resource would populate the input struct with a nil string value `""`. This caused our acceptance tests to fail, and broke the resource's functionality if a user only set `CidrBlock` or `IPv6CidrBlock` for either an `ingress` or `egress` rule as the API would error out with an `Invalid CidrBlock` error.

Previously:
```
aws_network_acl.bond: Error creating egress entry: InvalidParameterValue: CIDR block  is malformed
            status code: 400, request id: 0620e0b7-4e30-4c14-9a7a-5d373cc9f33b
```

Currently:
```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSNetworkAcl'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/15 15:41:17 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSNetworkAcl -timeout 120m
=== RUN   TestAccAWSNetworkAcl_importBasic
--- PASS: TestAccAWSNetworkAcl_importBasic (26.96s)
=== RUN   TestAccAWSNetworkAclRule_basic
--- PASS: TestAccAWSNetworkAclRule_basic (23.08s)
=== RUN   TestAccAWSNetworkAclRule_ipv6
--- PASS: TestAccAWSNetworkAclRule_ipv6 (26.24s)
=== RUN   TestAccAWSNetworkAcl_EgressAndIngressRules
--- PASS: TestAccAWSNetworkAcl_EgressAndIngressRules (25.11s)
=== RUN   TestAccAWSNetworkAcl_OnlyIngressRules_basic
--- PASS: TestAccAWSNetworkAcl_OnlyIngressRules_basic (31.82s)
=== RUN   TestAccAWSNetworkAcl_OnlyIngressRules_update
--- PASS: TestAccAWSNetworkAcl_OnlyIngressRules_update (48.59s)
=== RUN   TestAccAWSNetworkAcl_OnlyEgressRules
--- PASS: TestAccAWSNetworkAcl_OnlyEgressRules (25.48s)
=== RUN   TestAccAWSNetworkAcl_SubnetChange
--- PASS: TestAccAWSNetworkAcl_SubnetChange (57.12s)
=== RUN   TestAccAWSNetworkAcl_Subnets
--- PASS: TestAccAWSNetworkAcl_Subnets (67.55s)
=== RUN   TestAccAWSNetworkAcl_ipv6Rules
--- PASS: TestAccAWSNetworkAcl_ipv6Rules (31.52s)
=== RUN   TestAccAWSNetworkAcl_espProtocol
acc--- PASS: TestAccAWSNetworkAcl_espProtocol (24.37s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    387.855s
```
2017-03-15 15:51:20 -04:00
James Bardin a4ba2b27fd Merge pull request #12733 from hashicorp/jbardin/consul-acc-tests
Revert "Have the consul provider use a local test server"
2017-03-15 15:09:30 -04:00
Hugo Duncan 0d4e6e8cf0 Fix aws_lambda_function attributes when more than 50 versions (#11745)
Fixes the version and qualified_arn attributes, when the lambda
function has more than 50 versions.

Closes #11720
2017-03-15 20:51:43 +02:00
James Bardin 7f9a57db1d Revert "Have the consul provider use a local test server"
This reverts commit 9529bd3bf0.
2017-03-15 14:42:26 -04:00
Alexander 05bf45bce2 Remove name_regex field & old lookup (#12396) 2017-03-15 20:33:30 +02:00
Paddy 97b40a2005 provider/google: drop the account file.
This was already marked as removed, but the way the provider handled it,
people were still being prompted for input anyways. This removes it from
the provider entirely, so people won't be prompted for input.
2017-03-15 11:00:54 -07:00
Jake Champlin 1197dd1e96
Use WaitForState for checking both available and deleted ami's 2017-03-15 13:06:50 -04:00
Evan Phoenix 5f44a154e2 Add log message about if changes are being applied now or later (#12691)
* Add log message about if changes are being applied now or later

* Improve english

* Further adventure in english
2017-03-15 18:02:00 +02:00
Jake Champlin 1258140c09
[WIP] testing WaitForState 2017-03-15 11:45:42 -04:00
Jake Champlin 67e95f8693 Merge pull request #12712 from foragerr/enhance-s3-errors
provider aws: add more details to s3 error message
2017-03-15 11:37:19 -04:00
Paul Stack 408ce5fe3f Revert "provider/alicloud: change create ecs postpaid instance API" (#12724)
* Revert "datadog: Fix incorrect schema of monitor for 'silenced' (#12720)"

This reverts commit 8730bf125f.

* Revert "schema: Allow *Resource as Elem of TypeMap in validation (#12722)"

This reverts commit 1df1c21d5b.

* Revert "provider/alicloud: change create ecs postpaid instance API (#12226)"

This reverts commit ffc5a06cb5.
2017-03-15 17:18:11 +02:00
Radek Simko 8730bf125f datadog: Fix incorrect schema of monitor for 'silenced' (#12720) 2017-03-15 15:01:49 +00:00
demonwy ffc5a06cb5 provider/alicloud: change create ecs postpaid instance API (#12226)
* change create ecs postpaid instance API form createInstance to runInstances, support BusinessInfo and userdata

* update sdk vendor
2017-03-15 16:50:17 +02:00
Radek Simko fff0b694f7 ns1: Fix incorrect schema for 'ns1_user.notify' (#12721)
* ns1: Add acceptance test for ns1_user

* ns1: Fix incorrect schema for 'notify'
2017-03-15 14:39:26 +00:00
Raphael Randschau fcaafee06b provider/scaleway: work around API concurrency issue (#12707)
when creating IPs concurrently the Scaleway API starts to return 500 internal
server errors.

since the error goes away when limiting concurrent requests, as well as the fact that the golang net/http client is safe for concurrent use,
I'm assuming this is an API error on Scaleways side.

this CS introduces a workaround so terraform does not crash for now.
the work around needs to be removed once Scaleway fixes their API
2017-03-15 16:23:18 +02:00
Raphaël Pinson 8ccd38013e Add rancher_certificate resource type (#12717) 2017-03-15 16:22:34 +02:00
Paul Stack 4f58099a0e provider/aws: Remove restriction on running aws_opsworks_* on us-east-1 (#12688)
Fixes: #11824

A full set of acceptance tests for *all* OpsWorks tests are below. There is a single issue, opsworks_instance isn't ordering the layer_ids so it's non-deterministic which can come back. This introduces a false positive.

The opsworks tests are running both against us-east-1 for some and us-west-2 for others. This must be marked as a backwards incompatibility in 0.9 just incase people are using the opsworks region parameter to try and override the provider region

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSOpsworksApplication'                                                              2 ↵ ✹
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/14 17:11:36 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSOpsworksApplication -timeout 120m
=== RUN   TestAccAWSOpsworksApplication
--- PASS: TestAccAWSOpsworksApplication (164.29s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	164.319s
```

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSOpsworksCustomLayer'                                                                  ✹
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/14 17:16:18 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSOpsworksCustomLayer -timeout 120m
=== RUN   TestAccAWSOpsworksCustomLayerImportBasic
--- PASS: TestAccAWSOpsworksCustomLayerImportBasic (105.98s)
=== RUN   TestAccAWSOpsworksCustomLayer
--- PASS: TestAccAWSOpsworksCustomLayer (92.68s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	198.684s
```

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSOpsworksPermission'                                                                   ✹
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/14 17:23:28 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSOpsworksPermission -timeout 120m
=== RUN   TestAccAWSOpsworksPermission
--- PASS: TestAccAWSOpsworksPermission (226.36s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	226.386s
```

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSOpsworksRailsAppLayer'                          ✹
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/14 17:28:01 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSOpsworksRailsAppLayer -timeout 120m
=== RUN   TestAccAWSOpsworksRailsAppLayer
--- PASS: TestAccAWSOpsworksRailsAppLayer (129.39s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	129.426s
```

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSOpsworksUserProfile'                            ✹
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/14 17:37:46 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSOpsworksUserProfile -timeout 120m
=== RUN   TestAccAWSOpsworksUserProfile
--- PASS: TestAccAWSOpsworksUserProfile (42.60s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	42.624s
```

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSOpsworksStack'                                                                     2 ↵ ✹
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/14 18:00:50 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSOpsworksStack -timeout 120m
=== RUN   TestAccAWSOpsworksStackImportBasic
--- PASS: TestAccAWSOpsworksStackImportBasic (50.28s)
=== RUN   TestAccAWSOpsworksStackNoVpc
--- PASS: TestAccAWSOpsworksStackNoVpc (25.92s)
=== RUN   TestAccAWSOpsworksStackVpc
--- PASS: TestAccAWSOpsworksStackVpc (76.80s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	153.025s
```

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSOpsworksRdsDbInstance'                                                                                                               ✹
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/14 17:38:36 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSOpsworksRdsDbInstance -timeout 120m
=== RUN   TestAccAWSOpsworksRdsDbInstance
--- PASS: TestAccAWSOpsworksRdsDbInstance (916.15s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	916.177s
```

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSOpsworksInstance'           2 ↵
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/14 17:26:45 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSOpsworksInstance -timeout 120m
=== RUN   TestAccAWSOpsworksInstance_importBasic
--- PASS: TestAccAWSOpsworksInstance_importBasic (85.52s)
=== RUN   TestAccAWSOpsworksInstance
--- FAIL: TestAccAWSOpsworksInstance (114.09s)
	testing.go:268: Step 1 error: After applying this step, the plan was not empty:

		DIFF:

		UPDATE: aws_opsworks_instance.tf-acc
		  layer_ids.0: "4c29b76f-df72-409e-a5c4-9459b7d9b4a4" => "a4a859cf-2a07-447e-a151-a97a6d827db7"
		  layer_ids.1: "a4a859cf-2a07-447e-a151-a97a6d827db7" => "4c29b76f-df72-409e-a5c4-9459b7d9b4a4"

      FAIL
      exit status 1
      FAIL	github.com/hashicorp/terraform/builtin/providers/aws	199.643s
      make: *** [testacc] Error 1
```
2017-03-15 16:17:53 +02:00
RaGe e1dd61ce92 provider aws: add more details to s3 error message 2017-03-15 09:55:35 -04:00
Sean Chittenden eff2fb9dee Fix PagerDuty support for `circonus_contact_group`. (#12714)
* Spell `webhook_url` like `webhook_url` and not like `webook_url`.
* Expect `pagerduty` not `pager_duty` from the API.
2017-03-15 02:28:15 -07:00
Dana Hoffman 2cf70fce98 provider/google: Check all fields in GKE tests instead of just that the resource exists (#12147) 2017-03-14 17:50:58 -07:00
Paddy 3940ae5ee7 Merge pull request #12659 from hashicorp/paddy_remove_deprecated_gcp_project_fields
provider/google: Remove deprecated project fields.
2017-03-14 16:52:40 -07:00
Paddy c14fc480ba Prune dead function.
This function isn't called anymore, so let's get rid of it.
2017-03-14 16:38:40 -07:00
Paddy 93196f3907 Merge pull request #12668 from hashicorp/paddy_deprecate_google_credentials_file
provider/google: remove deprecated account_file field.
2017-03-14 13:23:59 -07:00
Jake Champlin 005994ec8d
Add waitForDestroy for aws ami resource
Fixes the two failing aws_ami acceptance tests, by polling until the AMI is deleted before exiting.

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSAMI_basic'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/14 16:03:26 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSAMI_basic -timeout 120m
=== RUN   TestAccAWSAMI_basic
--- PASS: TestAccAWSAMI_basic (43.98s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    43.989s
```

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSAMI_snapshotSize'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/14 16:07:29 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSAMI_snapshotSize -timeout 120m
=== RUN   TestAccAWSAMI_snapshotSize
--- PASS: TestAccAWSAMI_snapshotSize (28.64s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    28.654s
```
2017-03-14 16:15:19 -04:00
Paddy 216cf76196 Merge pull request #12663 from hashicorp/paddy_deprecate_backend_region
provider/google: remove the backend region field
2017-03-14 13:00:07 -07:00
Paddy 5c53828bd5 Remove validateAccountFile function.
As @danawillow noticed, if the field is removed, we don't need to
validate it. Which means more deleting code!
2017-03-14 12:56:02 -07:00
Paddy 7a06d3f089 Merge pull request #12662 from hashicorp/paddy_9051_forwarding_rule_cycle
provider/google: fix single port diff cycle
2017-03-14 12:49:47 -07:00
Paddy 4f235c870d Merge pull request #12387 from hashicorp/paddy_11763_gcp_iam_diff
provider/google: ignore expanded v collapsed policies in diff
2017-03-14 12:48:05 -07:00
James Bardin f9190f37ae Merge pull request #12684 from hashicorp/jbardin/consul-tests
Include a consul server for tests
2017-03-14 15:07:54 -04:00
Paul Stack 0834f994de provider/aws: Guard clause to prevent panic on ELB connectionSettings (#12685)
Fixes: #11705

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSELB_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/14 16:40:20 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSELB_ -timeout 120m
=== RUN   TestAccAWSELB_importBasic
--- PASS: TestAccAWSELB_importBasic (73.93s)
=== RUN   TestAccAWSELB_basic
--- PASS: TestAccAWSELB_basic (69.20s)
=== RUN   TestAccAWSELB_fullCharacterRange
--- PASS: TestAccAWSELB_fullCharacterRange (63.68s)
=== RUN   TestAccAWSELB_AccessLogs_enabled
--- PASS: TestAccAWSELB_AccessLogs_enabled (196.25s)
=== RUN   TestAccAWSELB_AccessLogs_disabled
--- PASS: TestAccAWSELB_AccessLogs_disabled (190.90s)
=== RUN   TestAccAWSELB_generatedName
--- PASS: TestAccAWSELB_generatedName (52.09s)
=== RUN   TestAccAWSELB_availabilityZones
--- PASS: TestAccAWSELB_availabilityZones (93.53s)
=== RUN   TestAccAWSELB_tags
--- PASS: TestAccAWSELB_tags (102.96s)
=== RUN   TestAccAWSELB_iam_server_cert
--- PASS: TestAccAWSELB_iam_server_cert (70.91s)
=== RUN   TestAccAWSELB_swap_subnets
--- PASS: TestAccAWSELB_swap_subnets (261.42s)
=== RUN   TestAccAWSELB_InstanceAttaching
--- PASS: TestAccAWSELB_InstanceAttaching (196.82s)
=== RUN   TestAccAWSELB_HealthCheck
--- PASS: TestAccAWSELB_HealthCheck (60.64s)
=== RUN   TestAccAWSELB_Timeout
--- PASS: TestAccAWSELB_Timeout (62.71s)
=== RUN   TestAccAWSELB_ConnectionDraining
--- PASS: TestAccAWSELB_ConnectionDraining (58.25s)
=== RUN   TestAccAWSELB_SecurityGroups
--- PASS: TestAccAWSELB_SecurityGroups (153.64s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	1706.980s
```
2017-03-14 19:54:16 +02:00
Brian Flad 3e817e019f
provider/datadog: Add datadog_downtime resource (#10994)
* provider/datadog: Initial datadog_downtime resource

* provider/datadog: Update datadog_downtime resource to v2 library, fix recurrence handling

* provider/datadog: Fix datadog_downtime import test
2017-03-14 19:22:35 +02:00
Raphaël Pinson 1917646ec3 Add rancher_host resource type (#11545)
* Add rancher_host resource type

This adds a rancher_host resource type.
For now, the goal is to detect if the host already exists,
so that it can be purged cleanly when the host is deprovisioned.

The typical use is to create both an instance (e.g. aws_instance)
and a rancher_host resources with the same hostname. The rancher_host
resource will detect when the agent has registered itself.

When removing the host, both the instance and the rancher_host
resources can be removed, ensuring the host is purged from Rancher.

In future versions, this could support creating hosts as well.

* Use ro_labels to avoid removing internal Rancher labels

As reported in https://github.com/rancher/rancher/issues/8165

* Do not ForceNew on environment_id
2017-03-14 19:17:09 +02:00
Raphaël Pinson 4faeabf32e Better comparison of compose files (#12561)
* Better comparison of compose files

* Add github.com/docker/libcompose/config and deps to vendor
2017-03-14 19:08:23 +02:00
Jake Champlin 3daed73c06 Merge pull request #12686 from hashicorp/f-update-packet-acctest
provider/packet: Update ssh-key resource test to run in parallel better
2017-03-14 12:31:20 -04:00
Joe Topjian 9683f705f7 provider/openstack: Force Deletion of Instances (#12689)
This commit adds the `force_delete` argument, enabling instances
to be forcefully deleted.
2017-03-14 18:26:59 +02:00
Paul Stack ad12d8804b provider/aws: Add replace_unhealthy_instances to spot_fleet_request (#12681)
Fixes: #12635

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSSpotFleetRequest_'                                                                    ✹
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/14 15:57:08 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSSpotFleetRequest_ -timeout 120m
=== RUN   TestAccAWSSpotFleetRequest_changePriceForcesNewRequest
--- PASS: TestAccAWSSpotFleetRequest_changePriceForcesNewRequest (182.81s)
=== RUN   TestAccAWSSpotFleetRequest_lowestPriceAzOrSubnetInRegion
--- PASS: TestAccAWSSpotFleetRequest_lowestPriceAzOrSubnetInRegion (88.80s)
=== RUN   TestAccAWSSpotFleetRequest_lowestPriceAzInGivenList
--- PASS: TestAccAWSSpotFleetRequest_lowestPriceAzInGivenList (92.50s)
=== RUN   TestAccAWSSpotFleetRequest_lowestPriceSubnetInGivenList
--- PASS: TestAccAWSSpotFleetRequest_lowestPriceSubnetInGivenList (119.25s)
=== RUN   TestAccAWSSpotFleetRequest_multipleInstanceTypesInSameAz
--- PASS: TestAccAWSSpotFleetRequest_multipleInstanceTypesInSameAz (95.23s)
=== RUN   TestAccAWSSpotFleetRequest_multipleInstanceTypesInSameSubnet
--- PASS: TestAccAWSSpotFleetRequest_multipleInstanceTypesInSameSubnet (125.55s)
=== RUN   TestAccAWSSpotFleetRequest_overriddingSpotPrice
--- PASS: TestAccAWSSpotFleetRequest_overriddingSpotPrice (92.24s)
=== RUN   TestAccAWSSpotFleetRequest_diversifiedAllocation
--- PASS: TestAccAWSSpotFleetRequest_diversifiedAllocation (400.04s)
=== RUN   TestAccAWSSpotFleetRequest_withWeightedCapacity
--- PASS: TestAccAWSSpotFleetRequest_withWeightedCapacity (349.51s)
=== RUN   TestAccAWSSpotFleetRequest_withEBSDisk
--- PASS: TestAccAWSSpotFleetRequest_withEBSDisk (86.70s)
=== RUN   TestAccAWSSpotFleetRequest_CannotUseEmptyKeyName
--- PASS: TestAccAWSSpotFleetRequest_CannotUseEmptyKeyName (0.00s)
PASS
ok	github.com/hashicorp/terraform/builtin/providers/aws	1632.663s
```
2017-03-14 18:23:00 +02:00
Jake Champlin 4a3e5189f9
provider/packet: Update ssh-key resource test to run in parallel better
Allows the ssh-key test to pass when ran in parallel with different branches.

```
$ make testacc TEST=./builtin/providers/packet TESTARGS='-run=TestAccPacketSSHKey_Basic'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/14 11:10:28 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/packet -v -run=TestAccPacketSSHKey_Basic -timeout 120m
=== RUN   TestAccPacketSSHKey_Basic
PASS
ok      github.com/hashicorp/terraform/builtin/providers/packet 3.503s
```
2017-03-14 11:11:57 -04:00
James Bardin 9529bd3bf0 Have the consul provider use a local test server
We're providing a local test server for the consul backends, so we might
as well use it to make the provider acceptance tests more relible as
well.

TODO: the TLS test doesn't actualy test anything other than the Config.
The tests have been modified to make it apparent that they aren't
connecting to the server at all.
2017-03-14 10:43:09 -04:00
Matt Dainty c5ea37c0ee Add `aws_iam_account_alias` resource (#12648) 2017-03-14 15:35:38 +02:00
Paul Stack 1994b1111d provider/aws: Add support for IPv6 to aws_security_group (#12655)
```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSSecurityGroup_'                                                                     ✹ ✭
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/13 19:07:33 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSSecurityGroup_ -timeout 120m
=== RUN   TestAccAWSSecurityGroup_importBasic
--- PASS: TestAccAWSSecurityGroup_importBasic (48.67s)
=== RUN   TestAccAWSSecurityGroup_importIpv6
--- PASS: TestAccAWSSecurityGroup_importIpv6 (51.71s)
=== RUN   TestAccAWSSecurityGroup_importSelf
--- PASS: TestAccAWSSecurityGroup_importSelf (58.46s)
=== RUN   TestAccAWSSecurityGroup_importSourceSecurityGroup
--- PASS: TestAccAWSSecurityGroup_importSourceSecurityGroup (65.99s)
=== RUN   TestAccAWSSecurityGroup_basic
--- PASS: TestAccAWSSecurityGroup_basic (62.18s)
=== RUN   TestAccAWSSecurityGroup_ipv6
--- PASS: TestAccAWSSecurityGroup_ipv6 (47.38s)
=== RUN   TestAccAWSSecurityGroup_tagsCreatedFirst
--- PASS: TestAccAWSSecurityGroup_tagsCreatedFirst (30.48s)
=== RUN   TestAccAWSSecurityGroup_namePrefix
--- PASS: TestAccAWSSecurityGroup_namePrefix (16.90s)
=== RUN   TestAccAWSSecurityGroup_self
--- PASS: TestAccAWSSecurityGroup_self (45.36s)
=== RUN   TestAccAWSSecurityGroup_vpc
--- PASS: TestAccAWSSecurityGroup_vpc (45.76s)
=== RUN   TestAccAWSSecurityGroup_vpcNegOneIngress
--- PASS: TestAccAWSSecurityGroup_vpcNegOneIngress (44.50s)
=== RUN   TestAccAWSSecurityGroup_vpcProtoNumIngress
--- PASS: TestAccAWSSecurityGroup_vpcProtoNumIngress (45.01s)
=== RUN   TestAccAWSSecurityGroup_MultiIngress
--- PASS: TestAccAWSSecurityGroup_MultiIngress (50.67s)
=== RUN   TestAccAWSSecurityGroup_Change
--- PASS: TestAccAWSSecurityGroup_Change (76.34s)
=== RUN   TestAccAWSSecurityGroup_generatedName
--- PASS: TestAccAWSSecurityGroup_generatedName (46.29s)
=== RUN   TestAccAWSSecurityGroup_DefaultEgress_VPC
--- PASS: TestAccAWSSecurityGroup_DefaultEgress_VPC (48.10s)
=== RUN   TestAccAWSSecurityGroup_DefaultEgress_Classic
--- PASS: TestAccAWSSecurityGroup_DefaultEgress_Classic (16.71s)
=== RUN   TestAccAWSSecurityGroup_drift
--- PASS: TestAccAWSSecurityGroup_drift (22.73s)
=== RUN   TestAccAWSSecurityGroup_drift_complex
--- PASS: TestAccAWSSecurityGroup_drift_complex (54.14s)
=== RUN   TestAccAWSSecurityGroup_tags
--- PASS: TestAccAWSSecurityGroup_tags (74.12s)
=== RUN   TestAccAWSSecurityGroup_CIDRandGroups
--- PASS: TestAccAWSSecurityGroup_CIDRandGroups (55.83s)
=== RUN   TestAccAWSSecurityGroup_ingressWithCidrAndSGs
--- PASS: TestAccAWSSecurityGroup_ingressWithCidrAndSGs (54.40s)
=== RUN   TestAccAWSSecurityGroup_ingressWithCidrAndSGs_classic
--- PASS: TestAccAWSSecurityGroup_ingressWithCidrAndSGs_classic (26.93s)
=== RUN   TestAccAWSSecurityGroup_egressWithPrefixList
--- PASS: TestAccAWSSecurityGroup_egressWithPrefixList (61.39s)
=== RUN   TestAccAWSSecurityGroup_failWithDiffMismatch
--- PASS: TestAccAWSSecurityGroup_failWithDiffMismatch (55.93s)
PASS
ok	github.com/hashicorp/terraform/builtin/providers/aws	1136.500s
```
2017-03-14 13:02:50 +02:00
Karol Stępniewski 1fef190b68 Check for ErrDefault500 when creating/deleting pool member (#12664)
If LBaaSV2 member creation/deletion is attempted while LB resource is
busy (for example it's in PENDING_UPDATE state), Neutron will return 500
error. Currently This being caught by type assertion to
ErrUnexpectedResponseCode, however error 500 has a dedicated type
ErrDefault500, which makes the current type assertion to miss it and
eventually the error slips out through the check. This patch
changes the type assertion to explicitly check for ErrDefault500.

Also similar check has been added when member is deleted.
2017-03-14 12:45:43 +02:00
Paul Stack 1c7ea5a8af provider/aws: Add support for IPv6 in aws_route (#12639)
```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSRoute_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/12 18:56:59 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSRoute_ -timeout 120m
=== RUN   TestAccAWSRoute_basic
--- PASS: TestAccAWSRoute_basic (58.46s)
=== RUN   TestAccAWSRoute_ipv6Support
--- PASS: TestAccAWSRoute_ipv6Support (48.74s)
=== RUN   TestAccAWSRoute_changeCidr
--- PASS: TestAccAWSRoute_changeCidr (90.23s)
=== RUN   TestAccAWSRoute_noopdiff
--- PASS: TestAccAWSRoute_noopdiff (138.02s)
=== RUN   TestAccAWSRoute_doesNotCrashWithVPCEndpoint
--- PASS: TestAccAWSRoute_doesNotCrashWithVPCEndpoint (63.58s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	399.054s
```
2017-03-14 12:41:40 +02:00
Paul Stack ff7df7b997 provider/aws: Add support for IPv6 to aws_network_acl (#12641)
```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSNetworkAcl_'              2 ↵ ✭
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/13 14:04:41 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSNetworkAcl_ -timeout 120m
=== RUN   TestAccAWSNetworkAcl_importBasic
--- PASS: TestAccAWSNetworkAcl_importBasic (55.44s)
=== RUN   TestAccAWSNetworkAcl_EgressAndIngressRules
--- PASS: TestAccAWSNetworkAcl_EgressAndIngressRules (48.19s)
=== RUN   TestAccAWSNetworkAcl_OnlyIngressRules_basic
--- PASS: TestAccAWSNetworkAcl_OnlyIngressRules_basic (65.29s)
=== RUN   TestAccAWSNetworkAcl_OnlyIngressRules_update
--- PASS: TestAccAWSNetworkAcl_OnlyIngressRules_update (103.19s)
=== RUN   TestAccAWSNetworkAcl_OnlyEgressRules
--- PASS: TestAccAWSNetworkAcl_OnlyEgressRules (59.65s)
=== RUN   TestAccAWSNetworkAcl_SubnetChange
--- PASS: TestAccAWSNetworkAcl_SubnetChange (93.90s)
=== RUN   TestAccAWSNetworkAcl_Subnets
--- PASS: TestAccAWSNetworkAcl_Subnets (103.51s)
=== RUN   TestAccAWSNetworkAcl_ipv6Rules
--- PASS: TestAccAWSNetworkAcl_ipv6Rules (56.67s)
=== RUN   TestAccAWSNetworkAcl_espProtocol
--- PASS: TestAccAWSNetworkAcl_espProtocol (51.40s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	637.283s
```
2017-03-14 12:39:39 +02:00
Paul Stack 1cd566e73c provider/aws: Add support for IPv6 to aws_default_route_table (#12642)
```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSDefaultRouteTable_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/13 10:57:45 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSDefaultRouteTable_ -timeout 120m
=== RUN   TestAccAWSDefaultRouteTable_basic
--- PASS: TestAccAWSDefaultRouteTable_basic (88.23s)
=== RUN   TestAccAWSDefaultRouteTable_swap
--- PASS: TestAccAWSDefaultRouteTable_swap (136.60s)
=== RUN   TestAccAWSDefaultRouteTable_vpc_endpoint
--- PASS: TestAccAWSDefaultRouteTable_vpc_endpoint (84.88s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	309.723s
```
2017-03-14 12:39:08 +02:00
Paul Stack 3a35fb6123 provider/aws: Add support for IPv6 to aws_network_acl_rule (#12644)
```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSNetworkAclRule_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/13 14:39:43 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSNetworkAclRule_ -timeout 120m
=== RUN   TestAccAWSNetworkAclRule_basic
--- PASS: TestAccAWSNetworkAclRule_basic (70.58s)
=== RUN   TestAccAWSNetworkAclRule_ipv6
--- PASS: TestAccAWSNetworkAclRule_ipv6 (81.93s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	152.535s
```
2017-03-14 12:38:43 +02:00
Paul Stack 7311ba22ea provider/aws: Add IPv6 Support to aws_route_table (#12640)
```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSRouteTable_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/13 10:11:09 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSRouteTable_ -timeout 120m
=== RUN   TestAccAWSRouteTable_importBasic
--- PASS: TestAccAWSRouteTable_importBasic (63.14s)
=== RUN   TestAccAWSRouteTable_complex
--- PASS: TestAccAWSRouteTable_complex (241.57s)
=== RUN   TestAccAWSRouteTable_basic
--- PASS: TestAccAWSRouteTable_basic (91.26s)
=== RUN   TestAccAWSRouteTable_instance
--- PASS: TestAccAWSRouteTable_instance (158.18s)
=== RUN   TestAccAWSRouteTable_ipv6
--- PASS: TestAccAWSRouteTable_ipv6 (48.99s)
=== RUN   TestAccAWSRouteTable_tags
--- PASS: TestAccAWSRouteTable_tags (71.68s)
=== RUN   TestAccAWSRouteTable_vpcPeering
--- PASS: TestAccAWSRouteTable_vpcPeering (58.33s)
=== RUN   TestAccAWSRouteTable_vgwRoutePropagation
--- PASS: TestAccAWSRouteTable_vgwRoutePropagation (59.64s)
PASS
ok	github.com/hashicorp/terraform/builtin/providers/aws	780.400s
```
2017-03-14 12:38:25 +02:00
Paul Stack d87cc0721f provider/aws: Add support for IPv6 to aws_security_group_rule (#12645)
```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSSecurityGroupRule_'         ✹ ✭
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/13 15:40:39 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSSecurityGroupRule_ -timeout 120m
=== RUN   TestAccAWSSecurityGroupRule_Ingress_VPC
--- PASS: TestAccAWSSecurityGroupRule_Ingress_VPC (53.36s)
=== RUN   TestAccAWSSecurityGroupRule_Ingress_Protocol
--- PASS: TestAccAWSSecurityGroupRule_Ingress_Protocol (85.22s)
=== RUN   TestAccAWSSecurityGroupRule_Ingress_Ipv6
--- PASS: TestAccAWSSecurityGroupRule_Ingress_Ipv6 (87.55s)
=== RUN   TestAccAWSSecurityGroupRule_Ingress_Classic
--- PASS: TestAccAWSSecurityGroupRule_Ingress_Classic (50.58s)
=== RUN   TestAccAWSSecurityGroupRule_MultiIngress
--- PASS: TestAccAWSSecurityGroupRule_MultiIngress (47.98s)
=== RUN   TestAccAWSSecurityGroupRule_Egress
--- PASS: TestAccAWSSecurityGroupRule_Egress (50.48s)
=== RUN   TestAccAWSSecurityGroupRule_SelfReference
--- PASS: TestAccAWSSecurityGroupRule_SelfReference (82.45s)
=== RUN   TestAccAWSSecurityGroupRule_ExpectInvalidTypeError
--- PASS: TestAccAWSSecurityGroupRule_ExpectInvalidTypeError (0.01s)
=== RUN   TestAccAWSSecurityGroupRule_PartialMatching_basic
--- PASS: TestAccAWSSecurityGroupRule_PartialMatching_basic (95.55s)
=== RUN   TestAccAWSSecurityGroupRule_PartialMatching_Source
--- PASS: TestAccAWSSecurityGroupRule_PartialMatching_Source (95.65s)
=== RUN   TestAccAWSSecurityGroupRule_Issue5310
--- PASS: TestAccAWSSecurityGroupRule_Issue5310 (45.91s)
=== RUN   TestAccAWSSecurityGroupRule_Race
--- PASS: TestAccAWSSecurityGroupRule_Race (697.79s)
=== RUN   TestAccAWSSecurityGroupRule_SelfSource
--- PASS: TestAccAWSSecurityGroupRule_SelfSource (96.19s)
=== RUN   TestAccAWSSecurityGroupRule_PrefixListEgress
--- PASS: TestAccAWSSecurityGroupRule_PrefixListEgress (97.51s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	1586.248s
```
2017-03-14 12:37:59 +02:00
Paddy 014983dc42 Merge pull request #12223 from hashicorp/paddy_10984_better_image_resolution
provider/google: upgrade our image resolution logic
2017-03-13 23:45:12 -07:00
Paddy 47e5547ce7 Fix variable indents.
Tabs vs spaces is the worst. I really need a way to run terraform fmt on
these inline configs.
2017-03-13 23:23:32 -07:00
Paddy 6ca92fbbc1 Refactored into helpers.
Refactored some helpers out that help with retrieving the policies from
state and comparing them, hopefully leading to less code duplication.
2017-03-13 23:20:27 -07:00
Paddy 72bfc435ad Update typo.
We never updated the error to use the expectation, not hardcode it to 2.
2017-03-13 22:04:08 -07:00
Paddy 17a92b65c2 provider/google: remove deprecated account_file field.
Remove the shims for the long-deprecated account_file field in the
Google provider.
2017-03-13 21:58:39 -07:00
Paddy 3b71036877 provider/google: remove the backend region field
Remove the field region on compute_backend_service as it has been
deprecated a while now and was never used to begin with.
2017-03-13 17:25:32 -07:00
Paddy 023ede0c26 provider/google: fix single port diff cycle
When specifying a single port in port_range, the API would accept it as
input, but would return it as {PORT}-{PORT}. Terraform would then see
this as different, even though (semantically) it's the same.

This commit adds a test that exposes the diff cycle created by this, and
an inline DiffSuppressFunc to resolve it.

Fixes #9051.
2017-03-13 17:03:20 -07:00
Paddy 4c41729f98 Update with @danawillow's feedback.
* Make our regexes more permissive (though still separated out for
  readability, despite being identical)
* Add a helper that will improve readability while sanity testing our
  regex results.
2017-03-13 16:39:42 -07:00
Paddy 630b245770 provider/google: Remove deprecated project fields.
Remove the deprecated fields from google_project, and drop all the logic
that went into supporting them. Tests still pass after one minor change.
2017-03-13 16:19:53 -07:00
Radek Simko eb08f40199
kubernetes: Add GKE config as test infrastructure 2017-03-13 21:19:18 +00:00
Radek Simko f1db0fcf9b
kubernetes: Add provider + namespace resource 2017-03-13 21:19:17 +00:00
Jeremy Livingston 070b2b9d59 Add Fastly SSL validation fields (#12578)
* Add Fastly SSL validation fields

The ssl_hostname field has been deprecated by Fastly. Instead the new
standard is to use the ssl_cert_hostname and ssl_sni_hostname fields:

- ssl_cert_hostname: Used only for certificate verification.
- ssl_sni_hostname: Used only for SNI in the handshake.

Add these fields to the backend block to better support SSL services.

* Add deprecation notice for ssl_hostname
2017-03-13 20:49:39 +02:00
clint shryock 5ddf73146f provider/aws: Update lambda role name to avoid collision 2017-03-13 13:42:15 -05:00
Paddy 1a55aecc79 Merge pull request #12486 from hashicorp/paddy_4336_instance_manager_api_bug
provider/google: fix container instance group URLs
2017-03-13 11:15:17 -07:00
Gauthier Wallet cdc3fa8337 provider/aws: Added conflictsWith for API GW Domain Name certificate_arn (#12649) 2017-03-13 19:50:44 +02:00
Paul Stack 41c27082bb provider/aws: Add support for ACM certificates to (#12592)
api_gateway_domain_name

Fixes: #12566

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSAPIGatewayDomainName_'         ✹
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/10 19:32:31 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSAPIGatewayDomainName_ -timeout 120m
=== RUN   TestAccAWSAPIGatewayDomainName_basic
--- PASS: TestAccAWSAPIGatewayDomainName_basic (54.06s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	54.091s
```
2017-03-13 11:43:28 +02:00
Radek Simko 61eb190b4e Merge pull request #12633 from radeksimko/b-aws-opsworks-test-fix
aws: Fix opsworks app acc test w/ missing value
2017-03-13 09:11:04 +00:00
Harry Hull f28c811534 Fixes #11258 (#12595)
If the user_arn changes on the user_profile resource we should delete it and recreate it
instead of attempting to modify it incorrectly and causing the terraform apply to fail.

I also added an acceptance test that will trigger this case.
2017-03-13 09:05:22 +00:00
Lucas Vasconcelos Santana 1a957a0481 provider/aws: Add address, port, hosted_zone_id and endpoint for aws_db_instance datasource (#12623)
* Add address, port, hosted_zone_id and endpoint information to datasource aws_db_instance

* Update the docs
2017-03-13 10:31:24 +02:00
Paul Stack bcda5176ea provider/aws: Refresh iam saml provider from state on 404 (#12602)
Fixes: #12599

Before this patch:

```
% terraform plan
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.

aws_iam_saml_provider.salesforce: Refreshing state... (ID: arn:aws:i...rce-test)
Error refreshing state: 1 error(s) occurred:

* aws_iam_saml_provider.salesforce: aws_iam_saml_provider.salesforce: NoSuchEntity: Manifest not found for arn arn:aws:iam::187416307283:saml-provider/tf-salesforce-test
	status code: 404, request id: fc32c7f8-0631-11e7-8e1f-29a8c10edf64
```

After this patch:

```
% terraform plan                                                                                  ✚ ✭
[WARN] /Users/stacko/Code/go/bin/terraform-provider-aws overrides an internal plugin for aws-provider.
  If you did not expect to see this message you will need to remove the old plugin.
  See https://www.terraform.io/docs/internals/internal-plugins.html
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.

aws_iam_saml_provider.salesforce: Refreshing state... (ID: arn:aws:i...rce-test)
The Terraform execution plan has been generated and is shown below.
Resources are shown in alphabetical order for quick scanning. Green resources
will be created (or destroyed and then created if an existing resource
exists), yellow resources are being changed in-place, and red resources
will be destroyed. Cyan entries are data sources to be read.

Note: You didn't specify an "-out" parameter to save this plan, so when
"apply" is called, Terraform can't guarantee this is what will execute.

+ aws_iam_saml_provider.salesforce
    arn:                    "<computed>"
    name:                   "tf-salesforce-test"
```
2017-03-13 10:18:29 +02:00
Paul Stack e973176bb9 provider/dnsimple: Don't prompt the user for email address (#12619)
As part of the new changes to the DNSimple provider, we changed to use
the new API version. This requires a token and *not* email address

In order for backwards compatibility - we kept the email address in the
schema but we had the default as nil, meaning that Terraform was
prompting the user for it, they would enter it, then Terraform would
error out due to using a combination of token and email address

This commit makes the default email address an empty String. This means
we don't prompt the user
2017-03-13 10:07:53 +02:00
Radek Simko 6293d7a4fc
aws: Randomize opsworks application names in test 2017-03-13 08:05:48 +00:00
Radek Simko a67bddef98
aws: Fix opsworks app acc test w/ missing value 2017-03-13 08:05:03 +00:00
Joe Topjian aa4676e622 provider/openstack: Add network_id to Network data source (#12615)
This commit adds the ability to search for a network by its ID. This
is useful for doing ID-to-name translations.
2017-03-12 18:39:25 +02:00
Robert Rudduck e0bdc5f8f7 provider/azurerm: Add support for extensions on virtual machine scale sets (#12124)
* Add support for vmss extensions.

* Update website.

* Add multi extension test.

* Return error from settings parsing.

* Update extension hash.
2017-03-12 16:13:38 +02:00
Andy Lindeman 85f759f296 Updates google/go-github to the latest revision (#12604)
* Updates to the latest go-github

* `github_repository_collaborator` uses invitations API
2017-03-12 16:05:18 +02:00
Benjamin Lau 6adc71a6d4 provider/aws: output the task definition name when errors occur during refresh (#12609) 2017-03-12 16:03:36 +02:00
Joe Topjian 20c88bcdf4 provider/openstack: Change Port fixed_ip to a Set (#12613)
This commit changes the openstack_networking_port_v2 fixed_ip
parameter from a List to a Set. This is because OpenStack does not
preserve the original ordering of the fixed IPs.
2017-03-12 16:00:47 +02:00
Joe Topjian f4e74650f0 provider/openstack: Set Availability Zone in Instances (#12610)
* provider/openstack: Set Availability Zone in Instances

This commit configures the openstack_compute_instance_v2 resource
to set the Availability Zone of the instance resource.

* vendor: Updating Gophercloud for OpenStack
2017-03-12 15:59:50 +02:00
Sean Chittenden cbfb29cd8f Fix circonus)_rule_sets for optional links. (#12614)
* Add a `validateHTTPURL` flag to allow URLs in `circonus_rule_set`s to be optional.

* Fix reading `circonus_rule_set` `criteria`.
2017-03-11 18:59:18 -08:00
Clint 1daac2f5c7 provider/aws: Update spot instance request to store new ipv6 (#12571) 2017-03-10 14:49:28 -06:00
Sean Chittenden 17fb98afa2 Circonus Provider (#12338)
* Begin stubbing out the Circonus provider.

* Remove all references to `reverse:secret_key`.

This value is dynamically set by the service and unused by Terraform.

* Update the `circonus_check` resource.

Still a WIP.

* Add docs for the `circonus_check` resource.

Commit miss, this should have been included in the last commit.

* "Fix" serializing check tags

I still need to figure out how I can make them order agnostic w/o using
a TypeSet.  I'm worried that's what I'm going to have to do.

* Spike a quick circonus_broker data source.

* Convert tags to a Set so the order does not matter.

* Add a `circonus_account` data source.

* Correctly spell account.

Pointed out by: @postwait

* Add the `circonus_contact_group` resource.

* Push descriptions into their own file in order to reduce the busyness of the schema when reviewing code.

* Rename `circonus_broker` and `broker` to `circonus_collector` and `collector`, respectively.

Change made with concent by Circonus to reduce confusion (@postwait, @maier, and several others).

* Use upstream contsants where available.

* Import the latest circonus-gometrics.

* Move to using a Set of collectors vs a list attached to a single attribute.

* Rename "cid" to "id" in the circonus_account data source and elsewhere
where possible.

* Inject a tag automatically.  Update gometrics.

* Checkpoint `circonus_metric` resource.

* Enable provider-level auto-tagging.  This is disabled by default.

* Rearrange metric.  This is an experimental "style" of a provider.  We'll see.

That moment. When you think you've gone off the rails on a mad scientist
experiment but like the outcome and think you may be onto something but
haven't proven it to yourself or anyone else yet?  That.  That exact
feeling of semi-confidence while being alone in the wilderness.  Please
let this not be the Terraform provider equivalent of DJB's C style of
coding.

We'll know in another resource or two if this was a horrible mistake or
not.

* Begin moving `resource_circonus_check` over to the new world order/structure:

Much of this is WIP and incomplete, but here is the new supported
structure:

```
variable "used_metric_name" {
  default = "_usage`0`_used"
}

resource "circonus_check" "usage" {
  # collectors = ["${var.collectors}"]
  collector {
    id = "${var.collectors[0]}"
  }

  name       = "${var.check_name}"
  notes      = "${var.notes}"

  json {
    url = "https://${var.target}/account/current"

    http_headers = {
      "Accept"                = "application/json"
      "X-Circonus-App-Name"   = "TerraformCheck"
      "X-Circonus-Auth-Token" = "${var.api_token}"
    }
  }

  stream {
    name = "${circonus_metric.used.name}"
    tags = "${circonus_metric.used.tags}"
    type = "${circonus_metric.used.type}"
  }

  tags = {
    source = "circonus"
  }
}

resource "circonus_metric" "used" {
  name = "${var.used_metric_name}"

  tags = {
    source = "circonus"
  }

  type = "numeric"
}
```

* Document the `circonus_metric` resource.

* Updated `circonus_check` docs.

* If a port was present, automatically set it in the Config.

* Alpha sort the check parameters now that they've been renamed.

* Fix a handful of panics as a result of the schema changing.

* Move back to a `TypeSet` for tags.  After a stint with `TypeMap`, move
back to `TypeSet`.

A set of strings seems to match the API the best.  The `map` type was
convenient because it reduced the amount of boilerplate, but you loose
out on other things.  For instance, tags come in the form of
`category:value`, so naturally it seems like you could use a map, but
you can't without severe loss of functionality because assigning two
values to the same category is common.  And you can't normalize map
input or suppress the output correctly (this was eventually what broke
the camel's back).  I tried an experiment of normalizing the input to be
`category:value` as the key in the map and a value of `""`, but... seee
diff suppress.  In this case, simple is good.

While here bring some cleanups to _Metric since that was my initial
testing target.

* Rename `providerConfig` to `_ProviderConfig`

* Checkpoint the `json` check type.

* Fix a few residual issues re: missing descriptions.

* Rename `validateRegexp` to `_ValidateRegexp`

* Use tags as real sets, not just a slice of strings.

* Move the DiffSuppressFunc for tags down to the Elem.

* Fix up unit tests to chase the updated, default hasher function being used.

* Remove `Computed` attribute from `TypeSet` objects.

This fixes a pile of issues re: update that I was having.

* Rename functions.

`GetStringOk` -> `GetStringOK`
`GetSetAsListOk` -> `GetSetAsListOK`
`GetIntOk` -> `GetIntOK`

* Various small cleanups and comments rolled into a single commit.

* Add a `postgresql` check type for the `circonus_check` resource.

* Rename various validator functions to be _CapitalCase vs capitalCase.

* Err... finish the validator renames.

* Add `GetFloat64()` support.

* Add `icmp_ping` check type support.

* Catch up to the _API*Attr renames.

Deliberately left out of the previous commit in order to create a clean
example of what is required to add a new check type to the
`circonus_check` resource.

* Clarify when the `target` attribute is required for the `postgresql`
check type.

* Correctly pull the metric ID attribute from the right location.

* Add a circonus_stream_group resource (a.k.a. a Circonus "metric cluster")

* Add support for the [`caql`](https://login.circonus.com/user/docs/caql_reference) check type.

* Add support for the `http` check type.

* `s/SSL/TLS/g`

* Add support for `tcp` check types.

* Enumerate the available metrics that are supported for each check type.

* Add [`cloudwatch`](https://login.circonus.com/user/docs/Data/CheckTypes/CloudWatch) check type support.

* Add a `circonus_trigger` resource (a.k.a Circonus Ruleset).

* Rename a handful of functions to make it clear in the function name the
direction of flow for information moving through the provider.

TL;DR: Replace `parse` and `read` with "foo to bar"-like names.

* Fix the attribute name used in a validator.  Absent != After.

* Set the minimum `absent` predicate to 70s per testing.

* Fix the regression tests for circonus_trigger now that absent has a 70s min

* Fix up the `tcp` check to require a `host` attribute.

Fix tests.  It's clear I didn't run these before committing/pushing the
`tcp` check last time.

* Fix `circonus_check` for `cloudwatch` checks.

* Rename `parsePerCheckTypeConfig()` to `_CheckConfigToAPI` to be
consistent with other function names.

grep(1)ability of code++

* Slack buttons as an integer are string encoded.

* Fix updates for `circonus_contact`.

* Fix the out parameters for contact groups.

* Move to using `_CastSchemaToTF()` where appropriate.

* Fix circonus_contact_group.  Updates work as expected now.

* Use `_StateSet()` in place of `d.Set()` everywhere.

* Make a quick pass over the collector datasource to modernize its style

* Quick pass for items identified by `golint`.

* Fix up collectors

* Fix the `json` check type.

Reconcile possible sources of drift.  Update now works as expected.

* Normalize trigger durations to seconds.

* Improve the robustness of the state handling for the `circonus_contact_group` resource.

* I'm torn on this, but sort the contact groups in the notify list.

This does mean that if the first contact group in the list has a higher
lexical sort order the plan won't converge until the offending resource
is tainted and recreated.  But there's also some sorting happening
elsewhere, so.... sort and taint for now and this will need to be
revisited in the future.

* Add support for the `httptrap` check type.

* Remove empty units from the state file.

* Metric clusters can return a 404.  Detect this accordingly in its
respective Exists handler.

* Add a `circonus_graph` resource.

* Fix a handful of bugs in the graph provider.

* Re-enable the necessary `ConflictsWith` definitions and normalize attribute names.

* Objects that have been deleted via the UI return a 404. Handle in Exists().

* Teach `circonus_graph`'s Stack set to accept nil values.

* Set `ForceNew: true` for a graph's name.

* Chase various API fixes required to make `circonus_graph` work as expected.

* Fix up the handling of sub-1 zoom resolutions for graphs.

* Add the `check_by_collector` out parameter to the `circonus_check` resource.

* Improve validation of line vs area graphs.  Fix graph_style.

* Fix up the `logarithmic` graph axis option.

* Resolve various trivial `go vet` issues.

* Add a stream_group out parameter.

* Remove incorrectly applied `Optional` attributes to the `circonus_account` resource.

* Remove various `Optional` attributes from the `circonus_collector` data source.

* Centralize the common need to suppress leading and trailing whitespace into `suppressWhitespace`.

* Sync up with upstream vendor fixes for circonus_graph.

* Update the checksum value for the http check.

* Chase `circonus_graph`'s underlying `line_style` API object change from `string` to `*string`.

* Clean up tests to use a generic terraform regression testing account.

* Add support for the MySQL to the `circonus_check` resource.

* Begin stubbing out the Circonus provider.

* Remove all references to `reverse:secret_key`.

This value is dynamically set by the service and unused by Terraform.

* Update the `circonus_check` resource.

Still a WIP.

* Add docs for the `circonus_check` resource.

Commit miss, this should have been included in the last commit.

* "Fix" serializing check tags

I still need to figure out how I can make them order agnostic w/o using
a TypeSet.  I'm worried that's what I'm going to have to do.

* Spike a quick circonus_broker data source.

* Convert tags to a Set so the order does not matter.

* Add a `circonus_account` data source.

* Correctly spell account.

Pointed out by: @postwait

* Add the `circonus_contact_group` resource.

* Push descriptions into their own file in order to reduce the busyness of the schema when reviewing code.

* Rename `circonus_broker` and `broker` to `circonus_collector` and `collector`, respectively.

Change made with concent by Circonus to reduce confusion (@postwait, @maier, and several others).

* Use upstream contsants where available.

* Import the latest circonus-gometrics.

* Move to using a Set of collectors vs a list attached to a single attribute.

* Rename "cid" to "id" in the circonus_account data source and elsewhere
where possible.

* Inject a tag automatically.  Update gometrics.

* Checkpoint `circonus_metric` resource.

* Enable provider-level auto-tagging.  This is disabled by default.

* Rearrange metric.  This is an experimental "style" of a provider.  We'll see.

That moment. When you think you've gone off the rails on a mad scientist
experiment but like the outcome and think you may be onto something but
haven't proven it to yourself or anyone else yet?  That.  That exact
feeling of semi-confidence while being alone in the wilderness.  Please
let this not be the Terraform provider equivalent of DJB's C style of
coding.

We'll know in another resource or two if this was a horrible mistake or
not.

* Begin moving `resource_circonus_check` over to the new world order/structure:

Much of this is WIP and incomplete, but here is the new supported
structure:

```
variable "used_metric_name" {
  default = "_usage`0`_used"
}

resource "circonus_check" "usage" {
  # collectors = ["${var.collectors}"]
  collector {
    id = "${var.collectors[0]}"
  }

  name       = "${var.check_name}"
  notes      = "${var.notes}"

  json {
    url = "https://${var.target}/account/current"

    http_headers = {
      "Accept"                = "application/json"
      "X-Circonus-App-Name"   = "TerraformCheck"
      "X-Circonus-Auth-Token" = "${var.api_token}"
    }
  }

  stream {
    name = "${circonus_metric.used.name}"
    tags = "${circonus_metric.used.tags}"
    type = "${circonus_metric.used.type}"
  }

  tags = {
    source = "circonus"
  }
}

resource "circonus_metric" "used" {
  name = "${var.used_metric_name}"

  tags = {
    source = "circonus"
  }

  type = "numeric"
}
```

* Document the `circonus_metric` resource.

* Updated `circonus_check` docs.

* If a port was present, automatically set it in the Config.

* Alpha sort the check parameters now that they've been renamed.

* Fix a handful of panics as a result of the schema changing.

* Move back to a `TypeSet` for tags.  After a stint with `TypeMap`, move
back to `TypeSet`.

A set of strings seems to match the API the best.  The `map` type was
convenient because it reduced the amount of boilerplate, but you loose
out on other things.  For instance, tags come in the form of
`category:value`, so naturally it seems like you could use a map, but
you can't without severe loss of functionality because assigning two
values to the same category is common.  And you can't normalize map
input or suppress the output correctly (this was eventually what broke
the camel's back).  I tried an experiment of normalizing the input to be
`category:value` as the key in the map and a value of `""`, but... seee
diff suppress.  In this case, simple is good.

While here bring some cleanups to _Metric since that was my initial
testing target.

* Rename `providerConfig` to `_ProviderConfig`

* Checkpoint the `json` check type.

* Fix a few residual issues re: missing descriptions.

* Rename `validateRegexp` to `_ValidateRegexp`

* Use tags as real sets, not just a slice of strings.

* Move the DiffSuppressFunc for tags down to the Elem.

* Fix up unit tests to chase the updated, default hasher function being used.

* Remove `Computed` attribute from `TypeSet` objects.

This fixes a pile of issues re: update that I was having.

* Rename functions.

`GetStringOk` -> `GetStringOK`
`GetSetAsListOk` -> `GetSetAsListOK`
`GetIntOk` -> `GetIntOK`

* Various small cleanups and comments rolled into a single commit.

* Add a `postgresql` check type for the `circonus_check` resource.

* Rename various validator functions to be _CapitalCase vs capitalCase.

* Err... finish the validator renames.

* Add `GetFloat64()` support.

* Add `icmp_ping` check type support.

* Catch up to the _API*Attr renames.

Deliberately left out of the previous commit in order to create a clean
example of what is required to add a new check type to the
`circonus_check` resource.

* Clarify when the `target` attribute is required for the `postgresql`
check type.

* Correctly pull the metric ID attribute from the right location.

* Add a circonus_stream_group resource (a.k.a. a Circonus "metric cluster")

* Add support for the [`caql`](https://login.circonus.com/user/docs/caql_reference) check type.

* Add support for the `http` check type.

* `s/SSL/TLS/g`

* Add support for `tcp` check types.

* Enumerate the available metrics that are supported for each check type.

* Add [`cloudwatch`](https://login.circonus.com/user/docs/Data/CheckTypes/CloudWatch) check type support.

* Add a `circonus_trigger` resource (a.k.a Circonus Ruleset).

* Rename a handful of functions to make it clear in the function name the
direction of flow for information moving through the provider.

TL;DR: Replace `parse` and `read` with "foo to bar"-like names.

* Fix the attribute name used in a validator.  Absent != After.

* Set the minimum `absent` predicate to 70s per testing.

* Fix the regression tests for circonus_trigger now that absent has a 70s min

* Fix up the `tcp` check to require a `host` attribute.

Fix tests.  It's clear I didn't run these before committing/pushing the
`tcp` check last time.

* Fix `circonus_check` for `cloudwatch` checks.

* Rename `parsePerCheckTypeConfig()` to `_CheckConfigToAPI` to be
consistent with other function names.

grep(1)ability of code++

* Slack buttons as an integer are string encoded.

* Fix updates for `circonus_contact`.

* Fix the out parameters for contact groups.

* Move to using `_CastSchemaToTF()` where appropriate.

* Fix circonus_contact_group.  Updates work as expected now.

* Use `_StateSet()` in place of `d.Set()` everywhere.

* Make a quick pass over the collector datasource to modernize its style

* Quick pass for items identified by `golint`.

* Fix up collectors

* Fix the `json` check type.

Reconcile possible sources of drift.  Update now works as expected.

* Normalize trigger durations to seconds.

* Improve the robustness of the state handling for the `circonus_contact_group` resource.

* I'm torn on this, but sort the contact groups in the notify list.

This does mean that if the first contact group in the list has a higher
lexical sort order the plan won't converge until the offending resource
is tainted and recreated.  But there's also some sorting happening
elsewhere, so.... sort and taint for now and this will need to be
revisited in the future.

* Add support for the `httptrap` check type.

* Remove empty units from the state file.

* Metric clusters can return a 404.  Detect this accordingly in its
respective Exists handler.

* Add a `circonus_graph` resource.

* Fix a handful of bugs in the graph provider.

* Re-enable the necessary `ConflictsWith` definitions and normalize attribute names.

* Objects that have been deleted via the UI return a 404. Handle in Exists().

* Teach `circonus_graph`'s Stack set to accept nil values.

* Set `ForceNew: true` for a graph's name.

* Chase various API fixes required to make `circonus_graph` work as expected.

* Fix up the handling of sub-1 zoom resolutions for graphs.

* Add the `check_by_collector` out parameter to the `circonus_check` resource.

* Improve validation of line vs area graphs.  Fix graph_style.

* Fix up the `logarithmic` graph axis option.

* Resolve various trivial `go vet` issues.

* Add a stream_group out parameter.

* Remove incorrectly applied `Optional` attributes to the `circonus_account` resource.

* Remove various `Optional` attributes from the `circonus_collector` data source.

* Centralize the common need to suppress leading and trailing whitespace into `suppressWhitespace`.

* Sync up with upstream vendor fixes for circonus_graph.

* Update the checksum value for the http check.

* Chase `circonus_graph`'s underlying `line_style` API object change from `string` to `*string`.

* Clean up tests to use a generic terraform regression testing account.

* Rename all identifiers that began with a `_` and replace with a corresponding lowercase glyph.

* Remove stale comment in types.

* Move the calls to `ResourceData`'s `SetId()` calls to be first in the
list so that no resources are lost in the event of a `panic()`.

* Remove `stateSet` from the `circonus_trigger` resource.

* Remove `stateSet` from the `circonus_stream_group` resource.

* Remove `schemaSet` from the `circonus_graph` resource.

* Remove `stateSet` from the `circonus_contact` resource.

* Remove `stateSet` from the `circonus_metric` resource.

* Remove `stateSet` from the `circonus_account` data source.

* Remove `stateSet` from the `circonus_collector` data source.

* Remove stray `stateSet` call from the `circonus_contact` resource.

This is an odd artifact to find... I'm completely unsure as to why it
was there to begin with but am mostly certain it's a bug and needs to be
removed.

* Remove `stateSet` from the `circonus_check` resource.

* Remove the `stateSet` helper function.

All call sites have been converted to return errors vs `panic()`'ing at
runtime.

* Remove a pile of unused functions and type definitions.

* Remove the last of the `attrReader` interface.

* Remove an unused `Sprintf` call.

* Update `circonus-gometrics` and remove unused files.

* Document what `convertToHelperSchema()` does.

Rename `castSchemaToTF` to `convertToHelperSchema`.

Change the function parameter ordering so the `map` of attribute
descriptions: this is much easier to maintain when the description map
is first when creating schema inline.

* Move descriptions into their respective source files.

* Remove all instances of `panic()`.

In the case of software bugs, log an error.  Never `panic()` and always
return a value.

* Rename `stream_group` to `metric_cluster`.

* Rename triggers to rule sets

* Rename `stream` to `metric`.

* Chase the `stream` -> `metric` change into the docs.

* Remove some unused test functions.

* Add the now required `color` attribute for graphing a `metric_cluster`.

* Add a missing description to silence a warning.

* Add `id` as a selector for the account data source.

* Futureproof testing: Randomize all asset names to prevent any possible resource conflicts.

This isn't a necessary change for our current build and regression
testing, but *just in case* we have a radical change to our testing
framework in the future, make all resource names fully random.

* Rename various values to match the Circonus docs.

* s/alarm/alert/g

* Ensure ruleset criteria can not be empty.
2017-03-10 14:19:17 -06:00
clint shryock 4a34fb1d34 fix go vet issue 2017-03-10 11:25:58 -06:00
clint shryock 87c91f5bc8 provider/aws: annoymize tags in VPC data source test 2017-03-10 10:48:35 -06:00
Andy Lindeman fa18174713 Updates heroku-go to the latest revision (#12575) 2017-03-10 14:00:03 +02:00
Clint d24c761bbb more aws acc test fixes (#12568)
* provider/aws: fix TestAccAWSAutoScalingGroup_ALB_TargetGroups_ELBCapacity

* provider/aws: Randomize to fix TestAccDataSourceAwsVpc_basic
2017-03-09 16:01:18 -06:00
Clint 3fdeacdca7 helper/schema: Rename Timeout resource block to Timeouts (#12533)
helper/schema: Rename Timeout resource block to Timeouts

- Pluralize configuration argument name to better represent that there is
one block for many timeouts
- use a const for the configuration timeouts key
- update docs
2017-03-09 14:40:14 -06:00
James Bardin 343b96c9d7 Add MetaReset
Make sure the ArmClient gets a new StopContext for each test
2017-03-09 08:39:02 -05:00
John Engelman 8d35e3dc22 Closes #11054. Apply the set value for finish_upgrade. (#12545) 2017-03-09 01:32:28 +02:00
Seth Vargo d387860c19 Hash custom_data in state storage (#12214)
This also switches to helpers for b64.
2017-03-08 23:57:51 +02:00
clint shryock 3022eb6da0 provider/aws: fix acc test for data source 2017-03-08 15:43:57 -06:00
Paul Stack 10f080f315 provider/aws: Prevent aws_dms_replication_task panic (#12539)
Fixes: #12506

When a replication_task cdc_start_time was specified as an int, it was
causing a panic as the conversion to a Unix timestampe was expecting a
string

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAwsDmsReplicationTaskBasic'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/03/08 22:55:29 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAwsDmsReplicationTaskBasic -timeout 120m
=== RUN   TestAccAwsDmsReplicationTaskBasic
--- PASS: TestAccAwsDmsReplicationTaskBasic (1089.77s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	1089.802s
```
2017-03-08 23:27:47 +02:00
clint shryock 7f87abae91 provider/aws: increase randomization in beantsalk app version tests 2017-03-08 15:25:41 -06:00
Clint c5b833b999 provider/aws: Default build_timeout to 60, matching docs, update tests (#12531) 2017-03-08 14:14:02 -06:00
Robert Rudduck bf4d6d5b1e provider/azurerm: Add support for managed availability sets. (#12532)
* Add support for managed availability sets.

* Formatting.
2017-03-08 21:30:11 +02:00