Commit Graph

7208 Commits

Author SHA1 Message Date
Julien Pivotto ccb34b702d provider/digitalocean: prevent new resources when using ID's of images with slugs (#13879)
When you specify the ID of an image that has a slug, terraform would
store its slug to the state, hence it would always recreate the image.

This commit fixes it by storing the image as an ID when it is specified
by and ID by the user, ignoring the slug.

Closes #12751.
Fixes #12255.

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2017-04-27 18:48:58 +01:00
Paddy 8aadf6ecdd provider/google: fix project metadata tests
Update our project metadata tests to stand up their own projects, so
they don't trample all over each other anymore.

The fixes for this were more invasive than I had hoped they would be,
but the tests all pass now (when run sequentially) and there's no reason
for them not to pass when run in parallel.
2017-04-27 10:28:31 -07:00
Paddy 170b5cff3c Merge pull request #14042 from hashicorp/paddy_ds_google_network_test_randomize
provider/google: randomize network data source test name.
2017-04-27 09:50:24 -07:00
Craig Knott 7781baa24b Change fmt error to errwrap wrapf 2017-04-27 11:39:10 -05:00
Radek Simko 12e7412434 provider/digitalocean: Log HTTP requests & responses in DEBUG+ level (#14039) 2017-04-27 17:14:37 +01:00
Craig Knott aa2e02ab14 Added data source for aws_efs_file_system, heavily based off of resource_aws_efs_file_systems read method. 2017-04-27 10:52:36 -05:00
Paddy ece9f85983 provider/google: randomize network data source test name.
We have tests failing because we hard-coded the network name in our
network data source test. By randomizing it, we don't fix the dangling
resource problem, but do make the tests pass again.
2017-04-27 08:52:02 -07:00
Brian Antonelli 2dd7e72674 Fix for getting partition for federated users (#13992)
Federated users calling `iam:GetUser` will get the error code `InvalidClientTokenId` so this shouldn't bail out but instead continue on to try `sts:GetCallerIdentity`.
2017-04-27 10:24:53 -05:00
James Bardin 78c2720a4c Merge pull request #13793 from paybyphone/data_source_plan_count_boundary
core: Add CountBoundaryTransformer to the plan graph builder
2017-04-27 11:22:57 -04:00
Dan Peterson e495c6bacc providers/heroku: add heroku_app_feature resource (#14035) 2017-04-27 09:55:07 -05:00
Jake Champlin e91d915154 Merge pull request #13956 from weargoggles/patch-1
provider/nomad: Add TLS options
2017-04-27 10:43:50 -04:00
Julien Pivotto bfc1008b4d provider/digitalocean: Remove unneeded droplet test (#14034)
Reverts #13883.

Quoting @radeksimko: "We actually refresh the state
as part of every test step, so this is not necessary"

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2017-04-27 14:46:42 +01:00
Radek Simko 086af4bd62 provider/aws: Retry setting KMS key rotation on DisabledException (#14029) 2017-04-27 12:42:36 +01:00
Tom Harvey a23201a415 Merge pull request #13965 from codekoala/azurerm_lb_private_ip_address
provider/azurerm: Expose any dynamically-assigned private IP address
2017-04-27 11:19:43 +01:00
Julien Pivotto a3e775cb94 Rename datasource_digitalocea{l,n}_image.go (#14025)
refs #13787

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2017-04-27 11:11:57 +01:00
Dan Peterson cf6e86a127 providers/heroku: use a helper for common app post-create tasks (#13990)
Buildpacks were being configured post-create for non-org apps but not
for org apps. Consolidate post-create tasks into a helper used by both
paths.
2017-04-26 17:02:53 -05:00
Paddy ec7869c6a8 Merge pull request #14012 from danawillow/tests
provider/google: a few quick test fixes
2017-04-26 14:38:01 -07:00
Dana Hoffman 9942c157ac provider/google: a few quick test fixes 2017-04-26 13:24:40 -07:00
Paul Stack c953a2fc41 provider/aws: Set aws_instance volume_tags to be Computed (#14007)
Fixes: #14003

When an EBS volume was created and tags were specified on that resource
and NOT the aws_instance it was attached to, the tags would be removed
on subsequent Terraform runs.

We need to set volume_tags to be Computed to allow for changes to EBS
volumes not created as part of the instance but that are attached to the
instance

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSInstance_volumeTagsComputed'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/04/27 07:33:36 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSInstance_volumeTagsComputed -timeout 120m
=== RUN   TestAccAWSInstance_volumeTagsComputed
--- PASS: TestAccAWSInstance_volumeTagsComputed (151.37s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	151.411s
```
2017-04-27 07:50:06 +12:00
Paul Stack f9ba882f73 provider/aws: Update aws_ebs_volume when attached (#14005)
Fixes: #12496

When an EBS volume was attached to an instance and the user tried to
resize, they would get an error as follows:

```
* aws_ebs_volume.ebs_data_volume: Error waiting for Volume (vol-027e83f7) to become available: unexpected state 'in-use', wanted target 'available'. last error: %!s(<nil>)
```

`available` is a state *only* when creating an EBS volume that is not attached. When an instance is attached, it will go into the state `in-use`. Therefore `in-use` is a valid state when modifying an EBS volume that is attached:

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSEBSVolume_'                                   ✹ ✭
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/04/27 07:08:18 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSEBSVolume_ -timeout 120m
=== RUN   TestAccAWSEBSVolume_importBasic
--- PASS: TestAccAWSEBSVolume_importBasic (41.10s)
=== RUN   TestAccAWSEBSVolume_basic
--- PASS: TestAccAWSEBSVolume_basic (38.22s)
=== RUN   TestAccAWSEBSVolume_updateAttachedEbsVolume
--- PASS: TestAccAWSEBSVolume_updateAttachedEbsVolume (199.11s)
=== RUN   TestAccAWSEBSVolume_updateSize
--- PASS: TestAccAWSEBSVolume_updateSize (70.53s)
=== RUN   TestAccAWSEBSVolume_updateType
--- PASS: TestAccAWSEBSVolume_updateType (69.75s)
=== RUN   TestAccAWSEBSVolume_updateIops
--- PASS: TestAccAWSEBSVolume_updateIops (70.38s)
=== RUN   TestAccAWSEBSVolume_kmsKey
--- PASS: TestAccAWSEBSVolume_kmsKey (76.64s)
=== RUN   TestAccAWSEBSVolume_NoIops
--- PASS: TestAccAWSEBSVolume_NoIops (39.80s)
=== RUN   TestAccAWSEBSVolume_withTags
--- PASS: TestAccAWSEBSVolume_withTags (38.04s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	643.609s
```
2017-04-27 07:30:23 +12:00
Christoph Blecker 0ffb5aa1d6 Fix vet errors in fastly provider (#14001) 2017-04-27 06:42:53 +12:00
James Nugent 77a24f8a5b Merge pull request #14000 from hashicorp/triton-envvars
provider/triton: Read TRITON_* as well as SDC_*
2017-04-26 10:56:48 -07:00
Pete Wildsmith 5d40be3209 reformat incorrectly formatted file 2017-04-26 18:48:57 +01:00
James Nugent 69ba1d4bad provider/triton: Read TRITON_* as well as SDC_*
The Triton CLI tools have been using TRITON_* as their configuration
environment variables for some time now. This commit makes Terraform use
them in preference to any SDC_* variables set, and allows Terraform to
work with the credentials set by the `triton env` in the CLI.
2017-04-26 10:46:18 -07:00
stack72 f094dda901
Merge branch 'master' of github.com:hashicorp/terraform 2017-04-27 05:45:17 +12:00
stack72 fd48f91876
provider/gitlab: Addition of the documentation link for gitlab to sidebar
```
% make testacc TEST=./builtin/providers/gitlab
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/04/27 05:37:02 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/gitlab -v  -timeout 120m
=== RUN   TestProvider
--- PASS: TestProvider (0.00s)
=== RUN   TestProvider_impl
--- PASS: TestProvider_impl (0.00s)
=== RUN   TestAccGitlabProject_basic
--- PASS: TestAccGitlabProject_basic (41.11s)
=== RUN   TestGitlab_validation
--- PASS: TestGitlab_validation (0.00s)
=== RUN   TestGitlab_visbilityHelpers
--- PASS: TestGitlab_visbilityHelpers (0.00s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/gitlab	41.125s
```
2017-04-27 05:44:05 +12:00
stack72 898ac02854
Merge branch 'feature/gitlab_provider' of https://github.com/richardc/terraform into richardc-feature/gitlab_provider 2017-04-27 05:08:12 +12:00
= fc942c6202 refactor the read 2017-04-26 09:25:10 -06:00
Josh VanderLinden 790874b372 Iterate over loadBalancer.LoadBalancerPropertiesFormat.FrontendIPConfigurations directly 2017-04-26 15:03:42 +00:00
Paul Stack 39d7400813 provider/aws: Change running of CloudTrail tests to not be parallel (#13982)
We can only ever have 5 cloudtrails in an AWS account so we want to make
sure we run these tests serially to make sure we don't exhaust limits
and get non-deterministic failures
2017-04-27 02:41:47 +12:00
Paul Stack 011cab5917 provider/aws: Add support for CustomOrigin timeouts to aws_cloudfront_distribution (#13367)
```

```
2017-04-27 02:13:59 +12:00
James Healy ae7df37e6f Make dnsimple_records importable (#9130)
* Make dnsimple_records importable

terraform 0.7 supports importing a resource into the local state, and
this adds that feature to the dnsimple_record resource.

Unfortunately, the DNSimple v1 API requires a domain name and record ID
to fetch a record, so the import command accepts both pieces of data as
a slash-delimted string like so:

    terraform import dnsimple_record.test example.com/1234

* add an acceptance test for importing a dnsimple_record
2017-04-27 02:07:23 +12:00
Jake Champlin 64134418a5 Merge pull request #12933 from hashicorp/f-network-interfaces
provider/aws: Add network_interface to aws_instance
2017-04-26 08:05:21 -04:00
Dana Hoffman 6ff114a178 provider/google: fix panic in GKE provisioning with addons (#13954) 2017-04-26 11:35:19 +01:00
Josh VanderLinden d3687fc9e9 Expose any dynamically-assigned private IP address 2017-04-26 05:22:01 +00:00
Joshua Spence 76b0eefacc Fix validation of the `name_prefix` parameter of the `aws_alb` resource (#13441)
This parameter is being validated using the wrong validation function, which means that we are incorrectly disallowing a `name_prefix` value ending with a dash.
2017-04-26 11:48:02 +12:00
Joseph Anthony Pasquale Holsten 87ebc19ae5 Merge pull request #13785 from bhood4/master
provider/ultradns: ultradns_rdpool resource minor improvements
2017-04-25 15:59:04 -07:00
Jake Champlin 1e9593fa61 Merge pull request #13952 from danawillow/is-13823
provider/google: documentation and validation fixes for forwarding rules
2017-04-25 18:51:14 -04:00
Jake Champlin 22ed31c7a6 Merge pull request #13921 from bernerdschaefer/bs-create-space
providers/heroku: add heroku_space resource
2017-04-25 18:43:42 -04:00
Bernerd Schaefer e7c904a87d Add note about type conversion 2017-04-25 15:32:27 -07:00
Paul Stack f4015b43c5 provider/aws: Support aws_instance and volume tagging on creation (#13945)
Fixes: #13173

We now tag at instance creation and introduced `volume_tags` that can be
set so that all devices created on instance creation will receive those
tags

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSInstance_volumeTags'                      2 ↵ ✚ ✭
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/04/26 06:30:48 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSInstance_volumeTags -timeout 120m
=== RUN   TestAccAWSInstance_volumeTags
--- PASS: TestAccAWSInstance_volumeTags (214.31s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	214.332s
```
2017-04-26 10:12:38 +12:00
Pete Wildsmith ad604d91dc Add TLS options to Nomad provider schema 2017-04-25 23:11:24 +01:00
Joshua Spence d721ff6d66 provider/aws: Sort AMI and snapshot IDs (#13866)
As a follow up to #13844, this pull request sorts the AMIs and snapshots returned from the aws_ami_ids and aws_ebs_snapshot_ids data sources, respectively.
2017-04-25 15:11:21 -07:00
Jake Champlin b0f8ab492e Merge pull request #13862 from bernerdschaefer/bs-heroku-app-space
Create Heroku app in a private space
2017-04-25 18:01:57 -04:00
Jake Champlin 4ad3cc3647 Merge pull request #13937 from tomelliff/filter-subnet-ids
provider/aws: Allow filtering of aws_subnet_ids by tags
2017-04-25 17:35:25 -04:00
Jake Champlin 33c5b7c98f Merge pull request #13919 from mcuadros/fix-11518
ignition: internal cache moved to global, instead per provider instance
2017-04-25 17:17:33 -04:00
Radek Simko eb374b795b provider/aws: Add test for SNS subscription w/ autoconfirming endpoint (#13912) 2017-04-25 21:25:36 +01:00
Dana Hoffman e7c3575499 provider/google: add attached_disk field to google_compute_instance (#13443) 2017-04-25 13:20:02 -07:00
ebilhoo 87db8b3b43 use validation helper 2017-04-25 20:06:33 +00:00
Dana Hoffman 6d3251b08d provider/google: documentation and validation fixes for forwarding rules 2017-04-25 13:03:36 -07:00
Matthew Frahry 9c42866887 Merge pull request #13942 from hashicorp/p-aws-glacier-vault-test
Randomizes glacier vault name
2017-04-25 13:44:52 -06:00
Bernerd Schaefer c55a4b3a51 Merge branch 'master' into bs-heroku-app-space 2017-04-25 11:04:13 -07:00
Martin Atkins eaac9fbca3 provider/template: template_dir explicitly create dest dir
Previously we were letting it get implicitly created as part of making
the structure for copying in each file, but that isn't sufficient if the
source directory is empty.

By explicitly creating the directory first we ensure that it will complete
successfully even in the case of an empty directory.
2017-04-25 10:48:26 -07:00
Martin Atkins eda2550074 provider/template: template_dir: don't crash if source dir nonexistent
When an error is passed, the FileInfo can be nil, which was previously
causing a crash on trying to evaluate f.IsDir(). By checking for an error
first we avoid this crash.
2017-04-25 10:48:26 -07:00
Quentin Machu f721608e4e provider/template: Add a 'dir' resource to template entire directories
When TerraForm is used to configure and deploy infrastructure
applications that require dozens templated files, such as Kubernetes, it
becomes extremely burdensome to template them individually: each of them
requires a data source block as well as an upload/export (file
provisioner, AWS S3, ...).

Instead, this commit introduces a mean to template an entire folder of
files (recursively), that can then be treated as a whole by any provider
or provisioner that support directory inputs (such as the
file provisioner, the archive provider, ...).

This does not intend to make TerraForm a full-fledged templating system
as the templating grammar and capabilities are left unchanged. This only
aims at improving the user-experience of the existing templating
provider by significantly reducing the overhead when several files are
to be generated - without forcing the users to rely on external tools
when these templates stay simple and that their generation in TerraForm
is justified.
2017-04-25 10:48:26 -07:00
= 7130755d8b Randomizes basic test name 2017-04-25 11:44:42 -06:00
= 1e0f4d5e5e Randomizes glaciar vault name 2017-04-25 11:30:42 -06:00
Matthew Frahry f0272f5b14 Merge pull request #13918 from hashicorp/p-aws-ecs-service-test
Randomize mongodb names
2017-04-25 08:40:48 -06:00
Jake Champlin c839a7b2ff Merge pull request #13910 from bernerdschaefer/bs-heroku-buildpacks
provider/heroku: set app buildpacks from config
2017-04-25 10:40:19 -04:00
Jake Champlin af3ba9a02c
cleanup conditional logic 2017-04-25 10:06:28 -04:00
Tom Elliff bc46b1cbf9 Allow filtering of aws_subnet_ids by tags
This is the minimal amount of work needed to be able to create a list of a subset of subnet IDs in a VPC, allowing people to loop through them easily when creating EC2 instances or provide a list straight to an ELB.
2017-04-25 14:46:51 +01:00
tombuildsstuff 5121995100 Ignoring the case of the create_option field. Fixes #13927. 2017-04-25 10:45:46 +01:00
Bernerd Schaefer dbf82e651e Implementation 2017-04-24 17:34:34 -07:00
Bernerd Schaefer 43257492b9 Add first failing test for heroku_space 2017-04-24 17:08:22 -07:00
Jake Champlin 10ddf607e3
provider/aws: Add `network_interface` to instance 2017-04-24 18:06:28 -04:00
= 15aabe93c3 Randomize mongodb names 2017-04-24 15:23:52 -06:00
Paul Stack 1eeb3c41e3 provider/aws: Allow AWS Subnet to change IPv6 CIDR Block without ForceNew (#13909)
Fixes: #13588

It was pointed out in #13588 that we don't need to ForceNew on a change
of IPv6 CIDR block. The logic I decided to implement here was to
disassociate then associate. We should only be able to be associated to
1 IPv6 CIDR block at once. This feels like a risky move. We can
disassociate and then error on the associate. This would leave us in a
situation where we have no IPv6 CIDR block associated

The alternative here would be that the failure of association, triggers
a reassociation with the old IPv6 CIDR block

I added a test to make sure that the subnet Ids don't change as the ipv6
block changes. Before removing the ForceNew from the ipv6_cidr_block,
the test results in the following:

```
=== RUN   TestAccAWSSubnet_ipv6
--- FAIL: TestAccAWSSubnet_ipv6 (92.09s)
	resource_aws_subnet_test.go:105: Expected SubnetIDs not to change, but both got before: subnet-0d2b6a6a and after: subnet-742c6d13
```

After the removal of ForceNew, the test result looks as follows:

```
=== RUN   TestAccAWSSubnet_ipv6
--- PASS: TestAccAWSSubnet_ipv6 (188.34s)
```

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSSubnet_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/04/24 21:26:36 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSSubnet_ -timeout 120m
=== RUN   TestAccAWSSubnet_importBasic
--- PASS: TestAccAWSSubnet_importBasic (85.63s)
=== RUN   TestAccAWSSubnet_basic
--- PASS: TestAccAWSSubnet_basic (80.28s)
=== RUN   TestAccAWSSubnet_ipv6
--- PASS: TestAccAWSSubnet_ipv6 (188.34s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	354.283s
```
2017-04-24 23:39:28 +03:00
Radek Simko f33afb7e4e
provider/aws: Support IPSets with 0 descriptors 2017-04-24 21:53:25 +02:00
Radek Simko 01aa3fd76a
provider/aws: Fix WAF IPSet descriptors removal on update 2017-04-24 21:53:25 +02:00
Radek Simko cda84b1674 provider/aws: Expose invoke ARN from Lambda function (for APIG) (#13890) 2017-04-24 20:47:11 +02:00
Radek Simko 3c2a40a192 provider/aws: Expose execution ARN + invoke URL for APIG deployment (#13889) 2017-04-24 20:43:56 +02:00
Julien Pivotto 61d183eded provider/digitaocean: Test that droplets are indempotent (#13883)
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2017-04-24 21:43:27 +03:00
Bernerd Schaefer acdb5c659a provider/heroku: set app buildpacks from config
Many apps deployed to Heroku require that multiple buildpacks be
configured in a particular order to operate correctly.

This updates the builtin Heroku provider's app resource to support
configuring buildpacks and the related documentation in the website.

Similar to config vars, externally set buildpacks will not be altered if
the config is not set.
2017-04-24 11:40:29 -07:00
Radek Simko 5681a47260 Merge pull request #13878 from hashicorp/f-core-computed-fields-validation
helper/schema: Disallow validation+diff suppression on computed fields
2017-04-24 20:04:28 +02:00
Paul Stack 1d350ed5ef provider/aws: Adding support for ipv6 to aws_subnets needs migration (#13876)
Fixes: #13829

When IPv6 support was added to subnets, we added a new parameter that
had a default value. This means that users are experiencing unexpected
changes in their configuration

We need a schema migration in place to make sure this isn't the case for
the users who have not upgraded yet

```
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/04/23 10:36:43 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAWSSubnetMigrateState -timeout 120m
=== RUN   TestAWSSubnetMigrateState
2017/04/23 10:37:27 [INFO] Found AWS Subnet State v0; migrating to v1
2017/04/23 10:37:27 [DEBUG] Attributes before migration: map[string]string{}
2017/04/23 10:37:27 [DEBUG] Attributes after migration: map[string]string{"assign_ipv6_address_on_creation":"false"}
--- PASS: TestAWSSubnetMigrateState (0.00s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	0.021s
```
2017-04-24 18:20:32 +01:00
Andy Lindeman 46fd77bbed Clears branch protection from state only if error is an HTTP 404 (#13887) 2017-04-24 18:19:27 +01:00
clint shryock fe15c68aa9 provider/aws: Fix-up TestAccAWSIAMInstanceProfile_missingRoleThrowsError
A change in the error produced by the resource was causing the regex to
fail
2017-04-24 10:24:34 -05:00
Tom Harvey a7401ad354 Merge pull request #13899 from hashicorp/azurerm-redis-bug
provider/azurerm: fixing a bug refreshing the `azurerm_redis_cache`
2017-04-24 16:17:00 +01:00
tombuildsstuff 04bf00f0c6 Comment explaning why we can have deleted resources in the state 2017-04-24 15:35:59 +01:00
Jake Champlin 78bc9ed09d Merge pull request #13861 from hashicorp/pr-10594
provider/aws: Adds aws_network_interface_attachment resource
2017-04-24 09:12:38 -04:00
tombuildsstuff 8e58be37c7 Ensuring the Redis instance exists. Fixes #13896 2017-04-24 11:38:47 +01:00
Richard Clamp 631b0b865c provider/gitlab: add gitlab provider and `gitlab_project` resource
Here we add a basic provider with a single resource type.

It's copied heavily from the `github` provider and `github_repository`
resource, as there is some overlap in those types/apis.

~~~
resource "gitlab_project" "test1" {
  name = "test1"
  visibility_level = "public"
}
~~~

We implement in terms of the
[go-gitlab](https://github.com/xanzy/go-gitlab) library, which provides
a wrapping of the [gitlab api](https://docs.gitlab.com/ee/api/)

We have been a little selective in the properties we surface for the
project resource, as not all properties are very instructive.
Notable is the removal of the `public` bool as the `visibility_level`
will take precedent if both are supplied which leads to confusing
interactions if they disagree.
2017-04-24 11:38:20 +01:00
Tom Elliff 18c6c3b47b Validate WAF metric names
WAF metric names must be alphanumeric only.
See http://docs.aws.amazon.com/waf/latest/developerguide/web-acl-rules.html#web-acl-rules-creating and
http://docs.aws.amazon.com/waf/latest/developerguide/web-acl-working-with.html#web-acl-creating
2017-04-23 21:46:39 +01:00
Máximo Cuadros a217acf789 ignition: internal cache moved to global, instead per provider instance 2017-04-23 20:32:04 +02:00
Radek Simko cb2f224180
provider/rancher: Remove DiffSuppressFunc from Computed-only fields 2017-04-23 12:41:18 +02:00
Radek Simko 3954276490
provider/consul: Remove ValidateFunc from Computed-only fields 2017-04-23 12:40:58 +02:00
Radek Simko f95b37638d
provider/circonus: Remove ValidateFunc from Computed-only field 2017-04-23 12:40:17 +02:00
Brandon Clodius 399cf72414 Fixes issue for cross account iam role with aws_lambda_permission (#13865) 2017-04-23 11:44:07 +02:00
Radek Simko 00c6958704
aws: Separate acc test for R53 zone w/ trailing dot 2017-04-23 11:25:52 +02:00
Ryan Eschinger e2ee211b7b provider/aws: fix aws_route53_zone force_destroy behavior (#12421)
The conditional to ignore the deletion of NS and SOA records can fail to
match if the hostedZoneName already ends with a ".". When that happens,
terraform tries to delete those records which is not supported by AWS
and results in a 400 bad request. This fixes the conditional so that it
will work whether or not hostedZoneName ends with a ".".

fixes #12407
2017-04-23 11:24:37 +02:00
Julien Pivotto 8343d5908f provider/digitalocean: Improve test coverage for droplet pricing (#13868)
Implement much better testing for GH-13720.

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2017-04-23 04:55:08 +03:00
Kit Ewbank ff9af4c90b Add tagging support to the 'aws_lambda_function' resource. (#13873) 2017-04-23 04:51:20 +03:00
Bernerd Schaefer fd98f1e0c5 providers/heroku: create app in space 2017-04-21 14:22:42 -07:00
Jake Champlin 5f8b6091de
provider/aws: Adds aws_network_interface_attachment resource
```
$ make testacc TEST=./builtin/providers/aws TESTARGS="-run=TestAccAWSNetworkInterfaceAttachment_basic"
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/04/21 15:24:58 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSNetworkInterfaceAttachment_basic -timeout 120m
=== RUN   TestAccAWSNetworkInterfaceAttachment_basic
--- PASS: TestAccAWSNetworkInterfaceAttachment_basic (273.14s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    273.145s
```
2017-04-21 15:42:18 -04:00
Jake Champlin 9ef947b0c3
Merge remote-tracking branch 'origin' into pr-10594 2017-04-21 15:37:39 -04:00
Dana Hoffman 4f00fa6474 provider/google: Make ports in resource_compute_forwarding_rule ForceNew (#13833) 2017-04-21 20:47:02 +03:00
Joe Topjian 7ff92746a2 provider/rabbitmq: Add test for binding properties_key (#13797) 2017-04-21 20:01:46 +03:00
Michael Dunton 8995f1afdb provider/fastly: GCS (#13553)
*  PAAS-5611 Adding docs

* PAAS-5611 adding gcs logging resource

* PAAS-5611 adding gcs testing

* Adding testing file

* Cleaning up type and making flatten array clearer

* Fixing issue with tests
2017-04-21 19:44:25 +03:00
Alex Meng 7cc4018577 provider/aws: Fix security group rule import (#13630) 2017-04-21 11:38:41 -05:00
Jake Champlin 022d0cd14f Merge pull request #10590 from pielu/aws/feature/r-net-iface-ips-count
provider/aws: Exercise SecondaryPrivateIpAddressCount for network interface
2017-04-21 10:25:44 -04:00
Jake Champlin a7ccf1c76b Merge pull request #13846 from hashicorp/b-update-opc-instance-docs
provider/opc: Fix Instance Label / Update Docs
2017-04-21 10:20:09 -04:00
Jasmin Gacic 61499cfcf0 Provider Oneandone (#13633)
* Terraform Provider 1&1

* Addressing pull request remarks

* Fixed imports

* Fixing remarks

* Test optimiziation
2017-04-21 17:19:10 +03:00
Jake Champlin 2eaf6beff0
provider/opc: Fix Instance Label / Update Docs
Fix issue with an instances label causing a ForceNew if omitted.

Also updates mistyped docs for the `opc_compute_security_list` resource.

```
$ make testacc TEST=./builtin/providers/opc TESTARGS="-run=TestAccOPCInstance_emptyLabel"
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/04/21 09:57:48 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/opc -v -run=TestAccOPCInstance_emptyLabel -timeout 120m
=== RUN   TestAccOPCInstance_emptyLabel
--- PASS: TestAccOPCInstance_emptyLabel (574.79s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/opc    574.835s
```
2017-04-21 10:09:26 -04:00
Paul Stack 72a14ef2bb provider/aws: Add IPv6 outputs to aws_subnet datasource (#13841)
Fixes: #13595

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccDataSourceAwsSubnet'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/04/21 13:52:43 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccDataSourceAwsSubnet -timeout 120m
=== RUN   TestAccDataSourceAwsSubnetIDs
--- PASS: TestAccDataSourceAwsSubnetIDs (81.05s)
=== RUN   TestAccDataSourceAwsSubnet
--- PASS: TestAccDataSourceAwsSubnet (57.48s)
=== RUN   TestAccDataSourceAwsSubnetIpv6ByIpv6Filter
--- PASS: TestAccDataSourceAwsSubnetIpv6ByIpv6Filter (82.63s)
=== RUN   TestAccDataSourceAwsSubnetIpv6ByIpv6CidrBlock
--- PASS: TestAccDataSourceAwsSubnetIpv6ByIpv6CidrBlock (82.43s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	303.625s
```
2017-04-21 16:54:55 +03:00
Joshua Spence 2aac8fb8fc Add `aws_ami_ids` and `aws_ebs_snapshot_ids` resources (#13844)
Fixes #12081. Adds new `aws_ami_ids` and `aws_ebs_snapshot_ids` resources.
2017-04-21 16:37:26 +03:00
Julien Pivotto c2a1e688cb Add DigitalOcean datasource digitalocean_image (#13787)
Add a new data source for Digital Ocean that finds snapshots by name.

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2017-04-21 16:25:34 +03:00
Paul Stack 0aad5f2c43 provider/aws: Add replica_source_db to the aws_db_instance datasource (#13842)
Fixes: #13471
2017-04-21 14:23:48 +03:00
terraformbot 352a5c753f provider/aws: Changing aws_opsworks_instance should ForceNew (#13839)
Fixes: #13838

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSOpsworksInstance_UpdateHostNameForceNew'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/04/21 13:11:08 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSOpsworksInstance_UpdateHostNameForceNew -timeout 120m
=== RUN   TestAccAWSOpsworksInstance_UpdateHostNameForceNew
--- PASS: TestAccAWSOpsworksInstance_UpdateHostNameForceNew (114.27s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	114.294s
```
2017-04-21 13:21:09 +03:00
Gauthier Wallet 80d940d154 provider/aws: Added Cognito Identity Pool (#13783) 2017-04-21 12:53:48 +03:00
stack72 82293bf59e
Merge branch 'master' of github.com:hashicorp/terraform 2017-04-21 12:52:22 +03:00
stack72 1913d72212
Merge branch 'olakar_g-network-import' of https://github.com/skalle/terraform into skalle-olakar_g-network-import 2017-04-21 12:41:09 +03:00
Pasha Palangpour 2a7b0e7e36 provider/ns1: record documentation improvements (#13786)
* provider/ns1: Adds acctest for SRV type records

* ns1/provider: Adds dns record examples to documentation.
2017-04-21 12:38:05 +03:00
Devin Lundberg 081121d29b Fix invalid MIME formatting in multipart cloudinit userdata (#13752)
* Fix invalid MIME formatting in multipart cloudinit userdata 

Per https://tools.ietf.org/html/rfc822#appendix-B.2, MIME headers and Body need to be separated by two new lines (or CRLFs in this case). 

The email parser in python can handle this which is what cloud-init uses but this bug causes problems if you try to parse the multipart message by languages other than python.

* Fix test cases
2017-04-21 08:30:09 +02:00
Ola Karlsson 3af9aa283d Adding Import to the Google network resource 2017-04-21 01:58:22 +00:00
Stephen Weatherford 21cd620ef9 PR fixes 2017-04-20 23:27:36 +00:00
Joshua Spence f3b5a883b7 Add `bucket_prefix` to `aws_s3_bucket` (#13274)
Adds a `bucket_prefix` parameter to the `aws_s3_bucket` resource.
2017-04-20 23:28:40 +03:00
Stephen Weatherford d378e30b1d Fix crash for outputs of type Object (#7353), and support bool and int outputs
Included in this fix:
1) No crash
2) Debug log indicates problem, otherwise unsupported outputs are ignored
3) String, bool and int outputs are supported
4) Documentation indicates these limitations
What is not included:
5) Array, object, securestring, secureobject still not supported
2017-04-20 20:28:08 +00:00
Jon Oden d5207e17ed Add ability to associate healthcheck to a backend (#13539) 2017-04-20 23:24:19 +03:00
Paddy 600a117301 Merge pull request #13671 from JDiPierro/google_address_name_fix
provider/google: Set name field when reading addresses
2017-04-20 13:14:57 -07:00
Dominik-K 565f0a4e0f `roles` deprecated in docs & code error message (#13622) 2017-04-20 23:02:48 +03:00
Chris Broglie 3f0934bd4e provider/aws: Add aws_kinesis_stream data source (#13562)
This fixes #13521
2017-04-20 22:13:39 +03:00
Jake Champlin 35388cbc31 Merge pull request #13468 from hashicorp/f-oracle-compute
provider/opc: Add Oracle Compute Provider
2017-04-20 14:52:39 -04:00
Paul Stack 195ad5ef02 provider/logentries: Refresh from state when resources not found (#13810)
Fixes: #13805

Before the fix:

```
Error refreshing state: 1 error(s) occurred:

* logentries_logset.logset: logentries_logset.logset: No such log set with key 278e7344-1201-43ba-9804-77b9a72fe7d6
```

After the fix:

```
% terraform plan                                                                                  ✚ ✭
[WARN] /Users/stacko/Code/go/bin/terraform-provider-logentries overrides an internal plugin for logentries-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.

logentries_logset.logset: Refreshing state... (ID: 278e7344-...a72fe7d6)
logentries_log.log: Refreshing state... (ID: 2ae1e8ae-...e932d25c)
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.

+ logentries_log.log
    logset_id:        "${logentries_logset.logset.id}"
    name:             "test-log"
    retention_period: "ACCOUNT_DEFAULT"
    source:           "token"
    token:            "<computed>"

+ logentries_logset.logset
    location: "nonlocation"
    name:     "testing-terraform-destroy"

Plan: 2 to add, 0 to change, 0 to destroy.
```

Test Run:

```
% make testacc TEST=./builtin/providers/logentries                                                ✚ ✭
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/04/20 20:36:20 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/logentries -v  -timeout 120m
=== RUN   TestProvider
--- PASS: TestProvider (0.00s)
=== RUN   TestProvider_impl
--- PASS: TestProvider_impl (0.00s)
=== RUN   TestAccLogentriesLog_Token
--- PASS: TestAccLogentriesLog_Token (39.03s)
=== RUN   TestAccLogentriesLog_SourceApi
--- PASS: TestAccLogentriesLog_SourceApi (28.46s)
=== RUN   TestAccLogentriesLog_SourceAgent
--- PASS: TestAccLogentriesLog_SourceAgent (6.19s)
=== RUN   TestAccLogentriesLog_RetentionPeriod1M
--- PASS: TestAccLogentriesLog_RetentionPeriod1M (3.04s)
=== RUN   TestAccLogentriesLog_RetentionPeriodAccountDefault
--- PASS: TestAccLogentriesLog_RetentionPeriodAccountDefault (2.71s)
=== RUN   TestAccLogentriesLog_RetentionPeriodAccountUnlimited
--- PASS: TestAccLogentriesLog_RetentionPeriodAccountUnlimited (2.65s)
=== RUN   TestAccLogentriesLogSet_Basic
--- PASS: TestAccLogentriesLogSet_Basic (1.54s)
=== RUN   TestAccLogentriesLogSet_NoLocation
--- PASS: TestAccLogentriesLogSet_NoLocation (1.54s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/logentries	85.177s
```
2017-04-20 21:38:37 +03:00
Andy Lindeman 28d71e6624 provider/github: Implements github_branch_protection (#10476) 2017-04-20 21:11:49 +03:00
Joe Topjian 6262a73de7 provider/rabbitmq: Allow users without tags (#13798)
This commit makes the tags attribute optional for users. It also
handles cases when a user defines a tag as an empty string ("").
2017-04-20 20:10:20 +03:00
Alexander 9bd50a1219 provider/google: BigQuery Dataset (#13436)
* Vendor BigQuery

* Add resource

* Add tests

* Add documentation

* Remove named import

* Remove `retain_on_delete`

* Fix formatting
2017-04-20 09:47:38 -07:00
Tom Harvey 6e698fd5fe Merge pull request #13755 from StephenWeatherford/11625c
Fix another issue from #11625 that's causing null entries in ssh_keys
2017-04-20 14:01:31 +01:00
Tom Harvey 1775d48381 Merge pull request #13791 from whiskeyjay/subnetRTFix
provider/azurerm: Locking route table on subnet create/delete
2017-04-20 12:39:59 +01:00
tombuildsstuff 8706d2181f Fixing the import test by adding missing formatting values 2017-04-20 12:28:33 +01:00
Thomas Poindessous 1fa91dfb4d merge upstream/master 2017-04-20 12:37:18 +02:00
Thomas Poindessous 1b22200c44 Corrected test for snapshot. Simplified tests. Added a new test for source_disk_link 2017-04-20 12:13:17 +02:00
Thomas Poindessous 573da4d729 Added a new attribute : source_disk_link 2017-04-20 12:12:43 +02:00
Daniel Kats 8a70108612 fix a word in aws_iam_role_policy error msg (#13794) 2017-04-20 06:48:58 +01:00
Chris Marchesi d41b806789 core: Restore CountBoundaryTransformer to apply, add/adjust tests
Moving the transformer wholesale looks like it broke some tests, with
some actually doing legit work in normalizing singular resources from a
foo.0 notation to just foo.

Adjusted the TestPlanGraphBuilder to account for the extra
meta.count-boundary nodes in the graph output now, as well as added
another context test that tests this case. It appears the issue happens
during validate, as this is where the state can be altered to a broken
state if things are not properly transformed in the plan graph.
2017-04-19 22:23:52 -07:00
Chris Marchesi 2802d319d2 core: Move CountBoundaryTransformer to the plan graph builder
This fixes interpolation issues on grandchild data sources that have
multiple instances (ie: counts). For example, baz depends on bar, which
depends on foo.

In this instance, after an initial TF run is done and state is saved,
the next refresh/plan is not properly transformed, and instead of the
graph/state coming through as data.x.bar.0, it comes through as
data.x.bar.  This breaks interpolations that rely on splat operators -
ie: data.x.bar.*.out.
2017-04-19 16:56:54 -07:00
clint shryock 7f3c8e4765 move this test to new region 2017-04-19 17:20:44 -05:00
Jake Champlin fe8029e65e
initial attempt 2017-04-19 17:30:58 -04:00
ebilhoo 8ef010440e cleanup and validation, rdpool.order optional with ROUND_ROBIN default 2017-04-19 20:02:27 +00:00
Joseph Anthony Pasquale Holsten c57e0735d1 Merge pull request #13745 from bhood4/master
provider/ultradns: add ultradns_rdpool resource
2017-04-19 10:45:20 -07:00
Christoph Blecker 596f05b881 Fix govet errors (#13774) 2017-04-19 20:21:31 +03:00
Jay Wang c42b2381c6 Added check for empty strings in resource id parsing logic. 2017-04-18 17:17:14 -07:00
Stephen Weatherford 1320347b7b Fix another issue from #11625 that's causing null entries in ssh_keys 2017-04-18 21:38:03 +00:00
Jay Wang f712880fee Lock Route Table / Subnets 2017-04-18 14:18:30 -07:00
Joseph Herlant 507917df43 provider/fastly: upgrade go-fastly to fix #12910 (#13648)
* Adding acceptance tests to reproduce issue #12910

* Upgrade go-fastly and its dependencies and move the Version to int as changed upstream
2017-04-18 13:30:54 -05:00
Tom Harvey 502a744a65 Merge pull request #13637 from hashicorp/azurerm-lock-bugfix
provider/azurerm: Locking around Network Security Group / Subnets
2017-04-18 17:34:04 +01:00
tombuildsstuff 079043d5f8 Checking the type of the subnet before using it 2017-04-18 16:38:36 +01:00
tombuildsstuff fd03d0310e Formatting 2017-04-18 16:12:22 +01:00
tombuildsstuff 3ecb0f4fc4 Locking on the NSG ID 2017-04-18 16:12:22 +01:00
tombuildsstuff b93e6e3af7 Locking on the delete too 2017-04-18 16:12:22 +01:00
tombuildsstuff b6866f2187 Locking the NSG to only operate on one resource at a time in the create 2017-04-18 16:12:22 +01:00