Commit Graph

6383 Commits

Author SHA1 Message Date
Clint c5f899d64c Merge pull request #11247 from hashicorp/b-aws-rds-mssql-timezone
provider/aws: Add support for setting MSSQL Timezone in aws_db_instance
2017-01-18 08:39:41 -06:00
clint shryock 549fd22c87 provider/aws: Add support for setting MSSQL Timezone in aws_db_instance 2017-01-18 08:39:18 -06:00
Eric Lee 33f781be36 provider/aws allow ALB target group stickiness to be enabled (#11251)
* aws_alb_target_group allow stickiness to be disabled

* aws_alb_target_group document stickiness enabled flag
2017-01-18 14:10:09 +00:00
Dana Hoffman 449a98a398 providers/google: Add support for encrypting a disk (#11167)
* providers/google: add support for encrypting a disk

* providers/google: Add docs for encrypting disks

* providers/google: CSEK small fixes: sensitive params and mismatched state files
2017-01-18 13:49:48 +00:00
Marcin Suterski 1f520bcd3b Add request_condition to backend definistion (#11238) 2017-01-18 13:43:09 +00:00
Joe Topjian e31269d721 provider/openstack: Fix Instance Metadata Deletion (#11252)
This commit fixes a bug where instance metadata removed from the
configuration was not removed from the actual instance.
2017-01-18 11:50:59 +00:00
Joe Topjian d240ddcde8 provider/openstack: Increase deletion timeout for router interfaces (#11250) 2017-01-18 09:39:41 +00:00
Christoph Blecker 73bd728fe5 Add support for session_affinity to google_compute_region_backend_service 2017-01-17 16:32:58 -08:00
Paul Stack 36b6384956 provider/aws: Add support for placement_constraint to aws_ecs_service (#11242)
```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSEcsServiceWithPlacementConstraints'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/17 18:25:27 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSEcsServiceWithPlacementConstraints -timeout 120m
=== RUN   TestAccAWSEcsServiceWithPlacementConstraints
--- PASS: TestAccAWSEcsServiceWithPlacementConstraints (113.18s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	113.208s
```

//cc @catsby
2017-01-17 18:43:34 +00:00
Greg Thole e06f32ffe9 Provider AWS: Add Placement Strategy to aws_ecs_service resource (#11201)
* Add aws_ecs_service placement_strategy param

* Update docs
2017-01-17 18:10:44 +00:00
David Blooman 05c83a3ca1 provider/aws: Add Inspector Support (#11217)
* provider/aws: Add Inspector Support

* inscrease time to 1 hour
2017-01-17 17:30:46 +00:00
Peter McAtominey d97f7e5d7b provider/azurerm: use configured environment for storage clients (#11159)
This fixes storage related operations for all environments outside of the public
Azure cloud, tested by deploying all storage resources in a German subscription.
2017-01-17 16:28:24 +00:00
stack72 f6ac901315
Merge branch 'statuscake_adding_contact_group' of https://github.com/ldjohnson/terraform into ldjohnson-statuscake_adding_contact_group 2017-01-17 16:11:23 +00:00
Jake Champlin 679c952da5 Merge pull request #11206 from hashicorp/f-add-aggregator-datadog
provider/datadog: Add aggregator method to timeboard graph resource
2017-01-17 09:34:06 -05:00
Raphael Randschau 8183d4667a provider/scaleway: fix provider configuration (#11234)
properly fetch configuration from env - leftover from #10874
2017-01-17 12:50:10 +00:00
Conor Mongey 77c8683281 provider/vault: Remove user input for optional vault provider fields (#11082)
* Remove the need to input vault optional settings

* Allow TypeList to skip input

* Remove conflicts on vault ca_cert_* fields
2017-01-17 12:06:55 +00:00
Raphael Randschau 1e589f589c provider/scaleway improve bootscript data source (#11183)
* provider/scaleway: fix bootscript tests

the bootscript tests where failing because the referenced bootscript is no
longer available.

for now this just makes the tests pass again, next step should be to lookup a
bootscript so we don't have to update the tests all the time

* provider/scaleway: fix bootscript data source filter bug

when providing a name only the architecture was ignoerd, which can lead to
issues since some bootscript names are identical, even though the architecture
is different.

* provider/scaleway: remove data bootscript exact name test

the test fails after some time because scaleway removes older bootscripts.
let's just settle with filtered tests for now, which don't have this problem.
2017-01-17 12:05:16 +00:00
Ollie Ford ed2b959f7e Fix contradiction in terms with provider documentation (#10815) (#10874)
* Remove contradiction with Scaleway documentation

The parameters previously termed by Terraform:

1. Organization
2. Access key

Are referred to, respectively, by Scaleway [0] as:

1. Access key
2. Token

which is a confusing contradiction for a user.

Since Scaleway terms (1) both 'access key' [0] and 'organization ID' [1],
@nicolai86 suggested keeping the latter as already used, but changing (2) for
'token'; removing the contradiction.

This commit thus changes the parameters to:

1. Organization
2. Token

Closes #10815.

[0] - https://cloud.scaleway.com/#/credentials
[1] - https://www.scaleway.com/docs/retrieve-my-organization-id-throught-the-api

* Update docs to reflect Scaleway offering x86

Scaleway now provides x86 servers [0] as well as ARM.

This commit removes 'ARM' from various references suggesting that might be the
only option.

[0] - https://blog.online.net/2016/03/08/c2-insanely-affordable-x64-servers/
2017-01-17 12:02:55 +00:00
Máximo Cuadros 40902f3e40 provider/ignition: allowing empty systemd.content when a dropin is provided (#11216) 2017-01-17 11:49:45 +00:00
Jake Champlin fd20f16a06 Merge pull request #11197 from hashicorp/f-add-cloudflare-record-validation
provider/cloudflare: Add validation for record types and record content
2017-01-13 18:20:03 -05:00
Jake Champlin f38e72f5fb
Fix fmt.Errorf() formatting 2017-01-13 18:19:35 -05:00
Jake Champlin 8fdc6518c8
provider/datadog: Add aggregator method to timeboard graph resource
Adds aggregator argument to the timeboard graph resource.

Ex:
```
request {
  q = "top(avg:docker.cpu.system{*} by {container_name}, 10, 'mean', 'desc')"
  aggregator = "sum"
}
```

```
$ make testacc TEST=./builtin/providers/datadog TESTARGS='-run=TestAccDatadogTimeboard_update'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/13 17:52:50 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/datadog -v -run=TestAccDatadogTimeboard_update -timeout 120m
=== RUN   TestAccDatadogTimeboard_update
--- PASS: TestAccDatadogTimeboard_update (82.60s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/datadog        82.619s
```

Fixes: #11168
2017-01-13 18:08:41 -05:00
James Bardin ee1d6d3d43 Fix vet errors in providers 2017-01-13 17:31:44 -05:00
Jake Champlin 6a31ed5ee8
Use a better format in error output 2017-01-13 15:43:47 -05:00
Clint 2599137150 Merge pull request #11164 from johanneswuerbach/aws-route53-changeable-record-type
provider/aws: Make the type of a route53_record changeable
2017-01-13 13:51:35 -06:00
Jake Champlin 8ac7f53c33
provider/cloudflare: Add validation for record types and record content
Adds a validation function for cloudflare record types. Also adds an apply-time validation for the record's content based on record type. Currently only validating `A` and `AAAA` records, can be expanded to verify record content for every possible record type in the future.

```
$ make test TEST=./builtin/providers/cloudflare
==> Checking that code complies with gofmt requirements...
==> Checking AWS provider for unchecked errors...
==> NOTE: at this time we only look for uncheck errors in the AWS package
==> Installing errcheck...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/13 14:41:37 Generated command/internal_plugin_list.go
TF_ACC= go test ./builtin/providers/cloudflare  -timeout=30s -parallel=4
ok      github.com/hashicorp/terraform/builtin/providers/cloudflare     0.018s
```

Fixes: #11173
2017-01-13 14:42:13 -05:00
Reinhard Nägele 69316a8726 Add 'ForceNew: true' to additional_zones 2017-01-13 19:39:35 +01:00
Reinhard Nägele 17e8e94fb8 Fix if condition in test 2017-01-13 19:37:59 +01:00
Reinhard Nägele 722fad6d94 Add test for additional zones existance 2017-01-13 17:03:28 +01:00
Reinhard Nägele 776bc47df3 Merge remote-tracking branch 'upstream' into feature/additional_zones 2017-01-13 16:44:09 +01:00
Paul Stack 8e4f19918a provider/aws: Add Support for aws_cloudwatch_metric_alarm extended (#11193)
statistic

Fixes: #11189

This introduces a new parameter and makes an existing parameter from
`required` to `optional` as both cannot be specified together

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSCloudWatchMetricAlarm_' 2 ↵ ✹ ✭
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/13 11:25:24 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSCloudWatchMetricAlarm_ -timeout 120m
=== RUN   TestAccAWSCloudWatchMetricAlarm_importBasic
--- PASS: TestAccAWSCloudWatchMetricAlarm_importBasic (19.80s)
=== RUN   TestAccAWSCloudWatchMetricAlarm_basic
--- PASS: TestAccAWSCloudWatchMetricAlarm_basic (20.42s)
=== RUN   TestAccAWSCloudWatchMetricAlarm_extendedStatistic
--- PASS: TestAccAWSCloudWatchMetricAlarm_extendedStatistic (18.92s)
PASS
```
2017-01-13 14:47:58 +00:00
Sam Crang a4c4b791ae Add support for StatusCake confirmation servers (#11179)
* Add support for StatusCake confirmation servers

* Add documentation for new StatusCake confirmations argument
2017-01-13 11:35:15 +00:00
Raphael Randschau 3954c1ecf0 provider/scaleway: delay between requests when waiting (#11184)
the CI sees many failing Scaleway tests due to request quotas being exceeded.
this PR aims to address this issue by switching from `resource.Retry`, which
waits 100ms between retries, to `resource.StateChangeConf` with a configured
delay of 5s between retries.

this should help us fixing the quota issue…
2017-01-13 10:49:16 +00:00
Jake Champlin a2c0b85b2d Merge pull request #11162 from hashicorp/f-add-route53-record-import-10941
provider/aws: Add import to route53 record
2017-01-12 12:08:46 -05:00
Jake Champlin bb0b9048b0 Merge pull request #11178 from hashicorp/cloudwatch-log-tags
provider/aws: Add Support for Tags to aws_cloudwatch_log_group
2017-01-12 10:21:07 -05:00
Paul Stack 6b292c23dc Update resource_aws_cloudwatch_log_group.go 2017-01-12 17:14:29 +02:00
Paul Stack bcdabe7619 provider/aws: New DataSource: aws_elb_hosted_zone_id (#11027)
* provider/aws: New DataSource: aws_elb_hosted_zone_id

This datasource is a list of all of the ELB DualStack Hosted Zone IDs.
This will allow us to reference the correct hosted zone id when creating
route53 alias records

There are many bugs for this - this is just the beginning of fixing them

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSElbHostedZoneId_basic'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/04 13:04:32 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSElbHostedZoneId_basic -timeout 120m
=== RUN   TestAccAWSElbHostedZoneId_basic
--- PASS: TestAccAWSElbHostedZoneId_basic (20.46s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	20.484s
```

* Update elb_hosted_zone_id.html.markdown
2017-01-12 16:50:58 +02:00
stack72 188350458c
provider/aws: Add Support for Tags to aws_cloudwatch_log_group
``````
make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSCloudWatchLogGroup_'                               2 ↵ ✭
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/12 16:22:07 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSCloudWatchLogGroup_ -timeout 120m
=== RUN   TestAccAWSCloudWatchLogGroup_importBasic
--- PASS: TestAccAWSCloudWatchLogGroup_importBasic (44.20s)
=== RUN   TestAccAWSCloudWatchLogGroup_basic
--- PASS: TestAccAWSCloudWatchLogGroup_basic (38.08s)
=== RUN   TestAccAWSCloudWatchLogGroup_retentionPolicy
--- PASS: TestAccAWSCloudWatchLogGroup_retentionPolicy (55.85s)
=== RUN   TestAccAWSCloudWatchLogGroup_multiple
--- PASS: TestAccAWSCloudWatchLogGroup_multiple (20.68s)
=== RUN   TestAccAWSCloudWatchLogGroup_disappears
--- PASS: TestAccAWSCloudWatchLogGroup_disappears (21.48s)
=== RUN   TestAccAWSCloudWatchLogGroup_tagging
--- PASS: TestAccAWSCloudWatchLogGroup_tagging (39.09s)
ok
PASS	github.com/hashicorp/terraform/builtin/providers/aws	219.411s
```
2017-01-12 16:39:12 +02:00
Paul Stack 73e950989c provider/aws: Allow creating aws_codecommit repository outside of (#11177)
us-east-1

Fixes #11175

Because of a previous limitation that codecommit only ran in us-east-1,
we hard coded the session under which it should run. This has caused the
repository to be spun up in the wrong region regardless of what region
was passed to the provider

```
make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSCodeCommitRepository_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/12 16:09:52 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSCodeCommitRepository_ -timeout 120m
=== RUN   TestAccAWSCodeCommitRepository_basic
--- PASS: TestAccAWSCodeCommitRepository_basic (23.28s)
=== RUN   TestAccAWSCodeCommitRepository_withChanges
--- PASS: TestAccAWSCodeCommitRepository_withChanges (33.71s)
=== RUN   TestAccAWSCodeCommitRepository_create_default_branch
--- PASS: TestAccAWSCodeCommitRepository_create_default_branch (22.70s)
=== RUN   TestAccAWSCodeCommitRepository_create_and_update_default_branch
--- PASS: TestAccAWSCodeCommitRepository_create_and_update_default_branch (32.72s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	112.437s
```
2017-01-12 16:27:04 +02:00
zbikmarc 77037bed2c providers/google: Add subnetwork_project field to enable cross-project networking in instance templates (#11110)
* Add subnetwork_project field to allow for XPN in GCE instance templates

* Missing os import

* Removing unneeded check

* fix formatting

* Add subnetwork_project to read
2017-01-12 16:05:13 +02:00
Joe Topjian 91147fe11c provider/openstack: LoadBalancer Security Groups (#11074)
* provider/openstack: LoadBalancer Security Groups

This commit adds the ability to specify security groups on a loadbalancer
resource.

* provider/openstack: LoadBalancer Security Groups Refactor

Moving common security group code into a dedicated function.
2017-01-12 16:00:32 +02:00
Peter McAtominey b869e1682a provider/azurerm: make lb sub resources idempotent (#11128)
If an error occurred which prevented the lb sub resources being written to state
then the next apply would fail as the resources would already exist in the API.

go test -c ./builtin/providers/azurerm -o ./builtin/providers/azurerm/test-azurerm
TestAccAzureRMLoadBalancerBackEndAddressPool_reapply
TestAccAzureRMLoadBalancerBackEndAddressPool_removal
TestAccAzureRMLoadBalancerNatPool_basic
TestAccAzureRMLoadBalancerBackEndAddressPool_basic
TestAccAzureRMLoadBalancerNatRule_basic
TestAccAzureRMLoadBalancerNatPool_reapply
TestAccAzureRMLoadBalancerNatPool_removal
TestAccAzureRMLoadBalancerNatPool_update
TestAccAzureRMLoadBalancerProbe_basic
TestAccAzureRMLoadBalancerNatRule_removal
TestAccAzureRMLoadBalancerNatRule_update
TestAccAzureRMLoadBalancerNatRule_reapply
TestAccAzureRMLoadBalancerProbe_removal
TestAccAzureRMLoadBalancerProbe_reapply
TestAccAzureRMLoadBalancerProbe_update
TestAccAzureRMLoadBalancerRule_basic
TestAccAzureRMLoadBalancerRule_inconsistentReads
TestAccAzureRMLoadBalancerRule_removal
TestAccAzureRMLoadBalancerProbe_updateProtocol
TestAccAzureRMLoadBalancer_basic
TestAccAzureRMLoadBalancerRule_update
TestAccAzureRMLoadBalancerRule_reapply
TestAccAzureRMLoadBalancer_frontEndConfig
TestAccAzureRMLoadBalancer_tags
2017-01-12 15:57:07 +02:00
Peter McAtominey 57b9e7b30a provider/azurerm: add caching support for virtual_machine data_disks (#11142) 2017-01-12 15:52:40 +02:00
Johannes Würbach ef0196f754
provider/aws: Make the type of a route53_record changeable
Utilize the ChangeResourceRecordSets to change the type of a record by
deleting and recreating with a new type.

As change batches are considered transactional changes, Amazon Route 53
either makes all or none of the changes in the batch request ensuring the
update will never be partially applied.
2017-01-12 13:13:35 +01:00
Sean Chittenden 4278c615af
Follow up to #11161 to fix `connection_limit` updates to a ROLE. 2017-01-11 16:24:00 -08:00
Sean Chittenden 864c7691b1 Merge pull request #11165 from hashicorp/b-11161
Add a test to make sure the implied `connection_limit` default of `-1` is always set.
2017-01-11 15:23:32 -08:00
Sean Chittenden 9201265395
Add a test to make sure the implied `connection_limit` default of `-1` is always set.
Covers: #11161
2017-01-11 15:21:17 -08:00
Jake Champlin e579c1c90f
provider/aws: Add import to route53 record
Allows the user to run:

```
terraform import aws_route53_record.record_name <record_id>
```

Fixes: #10941
2017-01-11 17:38:02 -05:00
pbthorste 11f680a88e remove computed true for postgres connections 2017-01-11 22:55:50 +01:00
pbthorste 0c1175f78b set default postgres connection limit 2017-01-11 22:45:30 +01:00
Jake Champlin 642e0107e1
Update error message to 'route_table_id' 2017-01-11 13:23:40 -05:00
Jake Champlin 439b94707e
Use 'route_table_id' instead of 'rtb_id' 2017-01-11 13:22:29 -05:00
Jake Champlin d794bdfc26
provider/aws: Add missing id argument for Route Table data source
Documentation for the `aws_route_table` data source mentions that it supports a route table `id` as an argument, however it was missing from the actual provider code.

Adds in the missing provider code, adds a test, and updates the documentation to use `rtb_id` as the argument, instead of the more ambiguous `id`.
2017-01-11 13:16:52 -05:00
Jake Champlin 7399401b64
provider/aws: Fix panic caused by main route table lookup
A VPC's main route table has an implicit subnet association, not an explicit subnet association. This caused a Terraform panic when using the `data_source_aws_route_table` resource to query the main route table for a VPC.

This fixes the Terraform panic, and allows the data lookup to complete successfully. Also added an acceptance test to verify the bugfix.

Fixes: #11134
2017-01-11 12:33:15 -05:00
clint shryock 87bb691800 Revert "New provider arukas (#10862)"
This reverts commit 9176bd4861.
This provider includes a dependency that at time of writing requires a
*nix system, and will not build on Windows.
2017-01-11 09:04:32 -06:00
Jake Champlin 712b3e74b6
provider/digitalocean: Fix failing acceptance test
The second step of the `TestAccDigitalOceanDroplet_ResizeWithOutDisk` acceptance test was regularly failing. Upon investigation it was found that the second step's Terraform configuration had omitted the `user_data` parameter, thus forcing Terraform to create a new droplet resource instead of updating the current resource.

```
-/+ digitalocean_droplet.foobar
    disk:                 "20" => "<computed>"
    image:                "centos-7-x64" => "centos-7-x64"
    ipv4_address:         "138.197.0.55" => "<computed>"
    ipv4_address_private: "" => "<computed>"
    ipv6_address:         "" => "<computed>"
    ipv6_address_private: "" => "<computed>"
    locked:               "false" => "<computed>"
    name:                 "foo" => "foo"
    region:               "nyc3" => "nyc3"
    resize_disk:          "true" => "false"
    size:                 "512mb" => "1gb"
    ssh_keys.#:           "1" => "1"
    ssh_keys.0:           "5770472" => "5770472"
    status:               "active" => "<computed>"
    user_data:            "foobar" => "" (forces new resource)
    vcpus:                "1" => "<computed>"
```

This fixes the acceptance test by adding the missing `user_data` parameter.
2017-01-10 10:00:04 -05:00
Ninir fe60b4e90a Added aws-sdk-go SFN service (#11109) 2017-01-10 14:17:39 +00:00
Peter McAtominey 825a41aa08 provider/azurerm: fix update protocol for lb_probe (#11125)
request_path had Computed enabled which prevented updating it to an empty value

TF_ACC=1 go test ./builtin/providers/azurerm -v -run TestAccAzureRMLoadBalancerProbe -timeout 120m
=== RUN   TestAccAzureRMLoadBalancerProbe_basic
--- PASS: TestAccAzureRMLoadBalancerProbe_basic (119.63s)
=== RUN   TestAccAzureRMLoadBalancerProbe_removal
--- PASS: TestAccAzureRMLoadBalancerProbe_removal (122.50s)
=== RUN   TestAccAzureRMLoadBalancerProbe_update
--- PASS: TestAccAzureRMLoadBalancerProbe_update (129.98s)
=== RUN   TestAccAzureRMLoadBalancerProbe_duplicate
--- PASS: TestAccAzureRMLoadBalancerProbe_duplicate (115.22s)
=== RUN   TestAccAzureRMLoadBalancerProbe_updateProtocol
--- PASS: TestAccAzureRMLoadBalancerProbe_updateProtocol (127.25s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/azurerm	614.657s
2017-01-10 08:49:30 +00:00
Paddy 690db74d4a Read update_strategy before overwriting it. (#11013)
As brought up in #10174, our update_strategy property for instance group
managers in GCP would always be set to "RESTART" on read, even if the
user asked for them to be "NONE" in the config.

This adds a test to ensure that the user wishes were respected, which
fails until we check for update_strategy in the ResourceData before we
update it within the Read function. Because the update_strategy property
doesn't map to anything in the API, we never need to read it from
anywhere but the config, which means the ResourceData should be
considered authoritative by the time we get to the Read function.

The fix for this was provided by @JDiPierro in #10198 originally, but
was missing tests, so it got squashed into this.
2017-01-09 23:15:50 +00:00
Clint c0d0f711d9 provider/aws: Allow disabled access_log in ELB (#11120)
* provider/aws: Save disabled ELB accesslogs to state

Save any explicitly disabled access_log to state. Do not save disabled
access_logs if they are not in the configuration.

* test that fails on master
2017-01-09 23:10:58 +00:00
Jake Champlin 1955ac38bc
provider/aws: Route53 Record: Add Type validation
Adds validation for the `type` parameter of an `aws_route53_record` resource.

This will allow Terraform to catch any user errors of a `type` parameter during a `terraform plan` instead of during a `terraform apply`.

Fixes: #11114
2017-01-09 15:45:26 -05:00
Paul Stack 519d873263 provider/aws: New Resource aws_codedeploy_deployment_config (#11062)
* provider/aws: New Resource - aws_codedeploy_deployment_config

* provider/aws: Adding acceptance tests for new
aws_codedeploy_deployment_config resource

* provider/aws: Documentation for the aws_codedeploy_deployment_config resource

* Update codedeploy_deployment_config.html.markdown
2017-01-09 19:17:09 +00:00
Paul Stack 5ece0f2d04 provider/aws: aws_db_instance restored from snapshot had problem with (#11050)
subnet_group

Fixes #11024

A change was introduced in 0.8.2 that allows db_instances to change
their db_subnet_group. Unfortunately, this caused an issue for
db_instances that were being restored from snapshot. The restore from
snapshot part of create calls the Update func whereas a normal create
calls the Read func

When calling the Update func, the db_instance was trying to go through a
db_subnet_group_name change and was failing for the following reason:

```
InvalidVPCNetworkStateFault: You cannot move DB instance _rds_instance_name_ to subnet group _subnet_group_name_. The specified DB subnet group and DB instance are in the same VPC. Choose a DB subnet group in different VPC than the specified DB instance and try again.
```
2017-01-09 19:10:13 +00:00
Kazumichi Yamamoto 9176bd4861 New provider arukas (#10862)
* Add a Arukas provider

* Add dependencies for the Arukas provider

* Add documents for the Arukas
2017-01-09 17:14:33 +00:00
Jake Champlin b9d4a54341
provider/aws: Add S3 Bucket name validation
Adds region specific S3 bucket name validation. Currently all regions except for us-east-1 force a dns-compliant naming convention. Thus we cannot utilize the standard `SchemaValidateFunc` interface to validate an S3 bucket name.
 This change creates a helper function outside of the schema validation interface so we can validate S3 bucket names for both naming conventions. At a later date, when the us-east-1 region is updated to conform to a dns-compliant naming scheme, we can refactor the `validateS3BucketName` function to fit the `SchemaValidateFunc` interface.
2017-01-09 11:22:47 -05:00
Paul Stack ba41375fd9 provider/aws: Add support for content_handling to (#11002)
aws_api_gateway_integration_response

This continues the work carried out in #10696

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSAPIGatewayIntegrationResponse_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/03 14:18:46 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v
-run=TestAccAWSAPIGatewayIntegrationResponse_ -timeout 120m
=== RUN   TestAccAWSAPIGatewayIntegrationResponse_basic
--- PASS: TestAccAWSAPIGatewayIntegrationResponse_basic (57.33s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws57.352s
```
2017-01-09 14:46:21 +00:00
Kazuma Watanabe c560c72e58 provider/aws: Validate window time format (#11089)
* create window format validate function

* apply ValidateFunc for window time format
2017-01-09 13:12:07 +00:00
Paul Stack cf390e86b8 provider/aws: Fix up AWS Lambda* tests (#11104)
The tests are complaining of:

```
Errors: []string{"aws_lambda_function.test_lambda: \"runtime\": required field is not set"}
```
2017-01-09 09:56:37 +01:00
Tim Gossett 25f9aeb30a
lambda_function_association as List not Set 2017-01-06 10:59:03 -05:00
Tim Gossett 32f7a86e10
lambda_function_association attribute as []interface{} 2017-01-06 10:20:35 -05:00
clint shryock e4b9e63e90 provider/aws: Update regex to pass test 2017-01-05 15:06:54 -06:00
clint shryock 520029032d provider/aws: fix iam login user test 2017-01-05 14:54:03 -06:00
Tom Harvey 05d00a93ce New Provider: OpsGenie (#11012)
* Importing the OpsGenie SDK

* Adding the goreq dependency

* Initial commit of the OpsGenie / User provider

* Refactoring to return a single client

* Adding an import test / fixing a copy/paste error

* Adding support for OpsGenie docs

* Scaffolding the user documentation for OpsGenie

* Adding a TODO

* Adding the User data source

* Documentation for OpsGenie

* Adding OpsGenie to the internal plugin list

* Adding support for Teams

* Documentation for OpsGenie Team's

* Validation for Teams

* Removing Description for now

* Optional fields for a User: Locale/Timezone

* Removing an implemented TODO

* Running makefmt

* Downloading about half the internet

Someone witty might simply sign this commit with "npm install"

* Adding validation to the user object

* Fixing the docs

* Adding a test creating multple users

* Prompting for the API Key if it's not specified

* Added a test for multiple users / requested changes

* Fixing the linting
2017-01-05 19:25:04 +00:00
Tim Gossett 9c5a25dd48
update lambda function association test for new hash order 2017-01-05 13:06:30 -05:00
Tim Gossett fa7eecf508
add lambda_arn to lambda func association hash 2017-01-05 13:05:53 -05:00
clint shryock f4c5b9fada provider/aws: Update lambda_function with runtime for tests 2017-01-05 11:24:17 -06:00
Paul Stack 8542715151 provider/aws: Updating the aws_efs_mount_target dns_name (#11023)
Fixes:#10902

AWS introduced a change to the Mount Target DNS Name to remove the
availability_zone from it -
https://aws.amazon.com/about-aws/whats-new/2016/12/simplified-mounting-of-amazon-efs-file-systems/

This was because there used to be a limit of 1 mount target per AZ -
this has been raised.

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSEFSMountTarget_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/04 10:45:35 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSEFSMountTarget_ -timeout 120m
=== RUN   TestAccAWSEFSMountTarget_importBasic
--- PASS: TestAccAWSEFSMountTarget_importBasic (236.19s)
=== RUN   TestAccAWSEFSMountTarget_basic
--- PASS: TestAccAWSEFSMountTarget_basic (445.52s)
=== RUN   TestAccAWSEFSMountTarget_disappears
--- PASS: TestAccAWSEFSMountTarget_disappears (228.31s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	910.044s
```
2017-01-04 23:12:45 +00:00
Clint 3b4866042b Merge pull request #10987 from zendesk/fix_10983
aws_key_pair: Ensure key_name attribute is set
2017-01-04 16:18:31 -06:00
Clint cfb597d42d Merge pull request #11043 from hashicorp/b-aws-test-fixes
provider/aws: Fix some failing AWS acc tests
2017-01-04 16:03:47 -06:00
clint shryock b656579211 provider/aws: Randomize lb and policy name in LB policy test 2017-01-04 16:02:02 -06:00
Christian Hildebrando Hercules 63eb0ba870 Increasing timeout for redshift cluster creation
This is in response to creating 25 node cluster, and taking longer than 40 min max.
2017-01-04 13:03:57 -08:00
clint shryock db1c1bec72 add missing runtime param to test 2017-01-04 14:58:47 -06:00
Clint 21e706cb82 Merge pull request #11030 from hashicorp/f-aws-ecs-placement
provider/aws: Add Placement Constraints to ECS Task Definition
2017-01-04 13:41:41 -06:00
Paul Stack 2331a64fd8 provider/aws: aws_kinesis_firehose_delivery_stream code cleanup (#11021)
We `removed` these items in 0.7 and they can be deleted from 0.8 IMO

//cc @catsby
2017-01-04 15:40:41 +00:00
clint shryock a73f947b8d provider/aws: Add Placement Constraints to ECS Task Definition
Adds support for applying placement constraints to
aws_ecs_task_definition resource
2017-01-04 09:10:18 -06:00
Peter McAtominey 0284138440 provider/azurerm: support non public clouds (#11026)
* vendor: update jen20/riviera to pull in endpoints change

* provider/auzrerm: support non public clouds

Ran tests below with ARM_ENVIRONMENT=german and changes the location to Germany
Central in the test config. The virtual network tests cover both Riviera (resource
groups) and the official SDK client.

TF_ACC=1 go test ./builtin/providers/azurerm -v -run TestAccAzureRMVirtualNetwork_ -timeout 120m
=== RUN   TestAccAzureRMVirtualNetwork_importBasic
--- PASS: TestAccAzureRMVirtualNetwork_importBasic (81.84s)
=== RUN   TestAccAzureRMVirtualNetwork_basic
--- PASS: TestAccAzureRMVirtualNetwork_basic (78.14s)
=== RUN   TestAccAzureRMVirtualNetwork_disappears
--- PASS: TestAccAzureRMVirtualNetwork_disappears (78.45s)
=== RUN   TestAccAzureRMVirtualNetwork_withTags
--- PASS: TestAccAzureRMVirtualNetwork_withTags (81.78s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/azurerm	320.310s
2017-01-04 12:00:14 +00:00
Daniel del Castillo cbcb313c08 aws_redshift_cluster: Fix typo security groups update (#11025) 2017-01-04 11:19:49 +00:00
Raphaël Pinson 59aff50223 Add 'finishing-upgrade' state to rancher stack (#11019) 2017-01-04 09:16:04 +00:00
Reinhard Nägele 038d330365 [GKE] Allow additional zones to be configured 2017-01-04 07:37:57 +01:00
Paul Stack 56c352a535 provider/aws: data_source_aws_iam_server_certificate latest should be (#11016)
bool not string

Fixes: #11010

Adds a test to show cover the use-case that the OP suggested caused the
panic

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSDataSourceIAMServerCertificate_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/03 22:39:21 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSDataSourceIAMServerCertificate_ -timeout 120m
=== RUN   TestAccAWSDataSourceIAMServerCertificate_basic
--- PASS: TestAccAWSDataSourceIAMServerCertificate_basic (19.48s)
=== RUN   TestAccAWSDataSourceIAMServerCertificate_matchNamePrefix
--- PASS: TestAccAWSDataSourceIAMServerCertificate_matchNamePrefix (1.95s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	21.454s
```
2017-01-03 22:45:39 +00:00
Paddy 5fba7570b2 Merge pull request #10858 from hashicorp/paddy_10823_create_timeout_force_new
Remove create_timeout backwards incompatibilities.
2017-01-03 14:23:39 -08:00
Paul Stack 8ff44d0056 provider:aws: Add support for updating aws_emr_cluster parameters (#11008)
* provider:aws: Add support for updating aws_emr_cluster parameters

Fixes #10962

We now support the update of `visibile_to_add_users` and
`termination_protected` parameters

```
make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSEMRCluster_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/03 18:45:20 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSEMRCluster_ -timeout 120m
=== RUN   TestAccAWSEMRCluster_basic
--- PASS: TestAccAWSEMRCluster_basic (551.98s)
=== RUN   TestAccAWSEMRCluster_terminationProtected
--- PASS: TestAccAWSEMRCluster_terminationProtected (545.52s)
=== RUN   TestAccAWSEMRCluster_visibleToAllUsers
--- PASS: TestAccAWSEMRCluster_visibleToAllUsers (552.09s)
=== RUN   TestAccAWSEMRCluster_tags
--- PASS: TestAccAWSEMRCluster_tags (598.91s)
PASS
ok	github.com/hashicorp/terraform/builtin/providers/aws	2248.537s
```

* Update resource_aws_emr_cluster_test.go
2017-01-03 22:15:44 +00:00
Paul Stack cb64fdeb28 provider/aws: Add support for updating tags in aws_emr_cluster (#11003)
Fixes: #10958

This wasn't implemented the first time around for some reason

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSEMRCluster_'                                       2 ↵ ✹ ✭
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/01/03 15:40:09 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSEMRCluster_ -timeout 120m
=== RUN   TestAccAWSEMRCluster_basic
--- PASS: TestAccAWSEMRCluster_basic (529.36s)
=== RUN   TestAccAWSEMRCluster_tags
--- PASS: TestAccAWSEMRCluster_tags (556.81s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	1086.197s
```
2017-01-03 18:30:40 +00:00
hmcgonig 78e7d20bcb provider/docker: Add support for a list of pull_triggers within the docker_image resource. (#10845) 2017-01-03 16:10:39 +00:00
VERDOÏA Laurent f8ce2f76e3 provider/docker: Add network create --internal flag support (#10932)
* provider/docker: Add network create --internal flag support

* provider/docker: Add acceptance tests for network --internal flag
2017-01-03 11:46:16 +00:00
Máximo Cuadros 85f0fba9f9 Ignition provider (#6189)
* providers: ignition, basic config, version and config

* providers: ignition, user and passwd example, general cache implementation

* vendor: Capture new dependency upstream-pkg

* providers: ignition ignition_user

* providers: ignition ignition_disk, ignition_group and ignition_raid

* providers: ignition_file and ignition_filesystem

* providers: ignition_systemd_unit and ignition_networkd_unit

* providers: ignition_config improvements

* vendor: Capture new dependency upstream-pkg

* providers: ignition main

* documentation: ignition provider

* providers: ignition minor changes

* providers: ignition, fix test

* fixing tests and latest versions
2017-01-03 11:29:14 +00:00
Tim Gossett c2c7f23bba
fix expectation messages that did not align with code 2017-01-02 23:00:12 -05:00
Paul Stack cb1acca2be provider/aws: Add snapshotting to the list of pending state for (#10965)
elasticache

Fixes #10964
2017-01-02 20:37:43 +00:00
Paul Stack d9088d8cc0 provider/aws: Bump SDK version to 1.6.9 (#10993)
There is 1 breaking change. The OpsWorks Update API no longer supports
`tenancy` as an update. So that has to be marked as ForceNew: true

```
% 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/01/02 17:11:29 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v
-run=TestAccAWSOpsworksInstance -timeout 120m
=== RUN   TestAccAWSOpsworksInstance
--- PASS: TestAccAWSOpsworksInstance (99.89s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws99.911s
```
2017-01-02 20:35:31 +00:00
James Nugent 81dc5ee328 Merge branch 'azurerm-provider-registration' of https://github.com/BedeGaming/terraform into BedeGaming-azurerm-provider-registration 2017-01-02 11:51:26 -06:00
Tom Harvey 8580cc4b18 provider/azurerm: EventHub Authorization Rules (#10971)
* Adding a missing property to the Consumer Groups doc

* Support for Event Hub Authorization Rules

* Documentation for Authorization Rules

* Missed a comment

* Fixing the `no authorisation rule` state

* Making the documentation around the Permissions more explicit / updating the import url

* Fixing up the tests

* Clearing up the docs

* Fixing the linting

* Moving the validation inside of the expand
2017-01-02 16:32:07 +00:00
Tom Harvey 874ec8b5cf provider/azurerm: Container Registry (#10973)
* Fixing the indentation

* Adding the Container Registry SDK

* Implementing the container registry

* Enabling the provider / registering the Resource Provider

* Acceptance Tests

* Documentation for Container Registry

* Fixing the name validation

* Validation for the Container Registry Name

* Added Import support for Containr Registry

* Storage Account is no longer optional

* Updating the docs

* Forcing a re-run in Travis
2017-01-02 14:37:45 +00:00
Chris Trotman ae3144a876 provider/aws: Add `most_recent` to the ebs_snapshot data source (#10986) 2017-01-02 13:48:23 +00:00
Joe Topjian 414b566d2e provider/openstack: Updating LBaaSV1 acceptance tests (#10979) 2017-01-02 13:46:15 +00:00
Peter McAtominey 98c3b16f55 provider/azurerm: avoid registering providers already registered, add option to disable
The provider now consults the Providers API to detect which providers are already
registered and uses this call to test the credentials

A new option `skip_provider_registration` / `ARM_SKIP_PROVIDER_REGISTRATION` is
now available to opt out of provider registration entirely
2017-01-02 12:22:41 +00:00
Michael S. Fischer af9505ffa2 aws_key_pair: Ensure key_name attribute is set
Ensure that the `key_name` attribute is available to `aws_key_pair`
resource dependents, even when the attribute is not specifically
set (i.e., when `key_name_prefix` or automatic naming is performed).

Fixes #10983.
2017-01-01 12:17:43 -08:00
Tim Gossett 39520ab568
implement CloudFront Lambda function associations 2016-12-31 20:51:30 -05:00
Joe Topjian af5baf7b13 provider/openstack: Network and Object Storage Acceptance Test Cleanup (#10967)
* provider/openstack: Updating Networking acceptance tests

* provider/openstack: Updating Object Storage acceptance tests
2016-12-31 18:09:56 +00:00
Kit Ewbank e8f4d002d9 provider/aws: Add 'aws_vpc_peering_connection' data source (#10913)
* Add 'aws_vpc_peering_connection' data source.

* Changes after code review.

* Add 'accepter' and 'requester' blocks to aws_vpc_peering_connection data source output attributes.
2016-12-30 00:30:51 +00:00
Ninir d126570712 provider/aws: Added a validation for security group rule types (#10864) 2016-12-30 00:26:01 +00:00
Joe Topjian b55cf9d601 provider/openstack: Updating FWaaS and LBaaS v2 Acceptance Tests (#10959)
* provider/openstack: Updating FWaaS acceptance tests

* provider/openstack: Updating LBaaS v2 acceptance tests
2016-12-29 23:37:01 +00:00
Joe Topjian 64051f9214 provider/openstack: Updating Compute acceptance tests (#10954) 2016-12-29 16:01:30 +00:00
William Bowling 7faa755061 only wait for spot fleet instance termination if requested 2016-12-29 13:17:42 +11:00
Paul Stack e336d4e00b provider/aws: Set aws_autoscaling_policy metric_aggregation_type to be (#10904)
Computed

Fixes: #10887

In the Terraform documentation, we say the following:

```
metric_aggregation_type - (Optional) The aggregation type for the policy's metrics. Valid values are "Minimum", "Maximum", and "Average". Without a value, AWS will treat the aggregation type as "Average".
```

Therefore, because the parameter wasn't set as computed, we got a diff as follows:

```
~ aws_autoscaling_policy.scale
    metric_aggregation_type: "Average" => ""
```

With the change in place, we get the correct behaviour

```
% 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_launch_configuration.launch: Refreshing state... (ID: config)
aws_autoscaling_group.asg: Refreshing state... (ID: asg)
aws_autoscaling_policy.scale: Refreshing state... (ID: scale)

No changes. Infrastructure is up-to-date. This means that Terraform
could not detect any differences between your configuration and
the real physical resources that exist. As a result, Terraform
doesn't need to do anything.
```
2016-12-28 23:30:43 +00:00
Tom Harvey cc09ac6b3f provider/azurerm: Event Hubs Consumer Groups (#9902)
* Documentation

* Scaffolding Consumer Groups

* Linting

* Adding a missing </li>

* User MetaData needs to explicitly be optional

* Typo

* Fixing the test syntax

* Removing the eventHubPath field since it appears to be deprecated

* Added a Complete import test

* WIP

* Updating to use SDK 7.0.1

* Calling the correct method

* Removing eventhubPath and updating the docs

* Fixing a typo
2016-12-28 23:12:47 +00:00
myoung34 dd807c79ff Add support for instance tenancy in `aws_opsworks_instance` (#10885) 2016-12-28 22:48:24 +00:00
Joe Topjian c8ac1f7f4e provider/openstack: Acceptance Test Cleanup: Provider & Block Storage (#10839)
* provider/openstack: Updating provider test configuration

* provider/openstack: Updating Block Storage acceptance tests
2016-12-28 16:56:49 +00:00
Clint b6a54bb14f provider/aws: Guard against nil change output (#10798) 2016-12-28 16:45:07 +00:00
Joe Topjian 91a332b5b5 Merge pull request #10875 from jtopjian/openstack-lbv2-member-409
provider/openstack: 409 Response on Member Create
2016-12-27 21:44:28 -07:00
Sean Chittenden 9dc71312b7 Merge pull request #10808 from hashicorp/f-postgresql-owner
Resource: `postgresql_schema` privilege support
2016-12-27 16:08:13 -08:00
Sean Chittenden a96f7408dd
Fix a few small grammar nits. 2016-12-27 15:50:25 -08:00
Sean Chittenden 152b0b1ff6
Fix compile: return a string, not an error to `errwrap` 2016-12-27 15:50:25 -08:00
Sean Chittenden 4919f16cca
Use `fmt.Fprint()` instead of `Fprintf()`. 2016-12-27 15:50:25 -08:00
Sean Chittenden 4570460f4e
Audit all call sites where `fmt.Errorf()` was being used and switch to errwrap. 2016-12-27 15:50:25 -08:00
Sean Chittenden 9ab60ecc7b
Add an Exists function for each resource type. Also add a provider RWMutex.
Some of the checks didn't support concurrent updates.  This should
improve the reliability of the provider.
2016-12-27 15:50:25 -08:00
James Nugent 15e58310bd provider/postgres: Ignore temporary Postgres data 2016-12-27 15:13:27 -06:00
James Nugent 97420f523c provider/postgres: Allow brew installed postgresql
This commit modifies the GNUmakefile used for starting PostgreSQL for
testing purposes to prefer the version installed via Homebrew, followed
by the version installed via MacPorts. POSTGRES, PSQL and INITDB may be
overriden as Make variables if neither of these package management
systems is in use.
2016-12-27 15:10:20 -06:00
Ninir 5dbc66012e provider/aws: Reworked validateArn function to handle empty values (#10833) 2016-12-27 20:52:22 +00:00
James Nugent fce99df7fb Merge pull request #10871 from curtisallen/issue_10786
provider/aws: fix double base64 encode

Fixes #10786.
2016-12-27 14:44:36 -06:00
James Nugent 63dbfc2544 Merge pull request #10921 from Ninir/s3_replication_storage_class
provider/aws: Fixed the need of sending S3 Replication StorageClass when not set

Fixes #10909.
2016-12-27 14:39:12 -06:00
Conor Mongey dd187beda3 Fix typo in error code for aws_spot_fleet (#10928) 2016-12-27 16:26:20 +00:00
Sean Chittenden 73be4bc21f
Remove old docs. Update docs and code to support the PUBLIC role. 2016-12-26 07:00:03 -08:00
Sean Chittenden c3a3ddc0f5
Return an empty string if no value was provided.
This restores the original behavior of the initial patch.
2016-12-25 15:26:54 -08:00
Sean Chittenden 7d19fcae25
Improve a bit more upon work done in #10922 and only return a quoted
string if there is whitespace present.

Aesthetics.  What can I say.
2016-12-25 06:19:14 -08:00
Sean Chittenden d92a3caedf
Before revoking a privilege from a schema, check to ensure role exists. 2016-12-25 06:13:34 -08:00
Sean Chittenden 6c91676c40
Comment out the role that gets dropped before the schema's policies are
applied.

This is only a problem when the ROLE is removed before the revokation of
the schema's policies on the doomed PostgreSQL ROLE.  Comment out the
tests for now to get unit tests to pass.  Using hard-coded values that
exist outside of the Terraform unit test work.
2016-12-25 06:13:34 -08:00
Sean Chittenden ed7511e004
Add a small note re: needing `-test.parallel=1` when running PG tests. 2016-12-25 06:13:33 -08:00
Sean Chittenden 38928b91ba
Update the postgresql_schema resource to accept policies.
It is now possible to begin specifying DCL for schemas.
2016-12-25 06:13:33 -08:00
Sean Chittenden 897609878f
Automatically perform a `REASSIGN OWNED` and `DROP OWNED BY` when
removing a PostgreSQL role.

Add manual overrides if this isn't the desired behavior, but it should
universally be the desired outcome except when a ROLE name is reused
across multiple databases in the same PostgreSQL cluster, in which case
the `skip_drop_role` is necessary for all but the last PostgreSQL
provider.
2016-12-25 06:13:33 -08:00
Sean Chittenden 6e200c98d0
Use the right verb for errors. 2016-12-25 06:13:33 -08:00
Sean Chittenden ebc81727da
Add the postgresql_schema_policy resource. This is a WIP due to
issues with cycles when an object is destroyed.
2016-12-25 06:13:33 -08:00
Sean Chittenden de6dcbd8cd
Add the `owner` attribute to the `postgresql_schema` resource. 2016-12-25 06:13:32 -08:00
Sean Chittenden 1d60e9ab04
Clean up the description on postgresql_database.owner. 2016-12-25 06:13:32 -08:00
Sean Chittenden d673a0b532
Properly escape DSN parameters. 2016-12-25 05:53:12 -08:00
Sean Chittenden 0ae84bb0a8
Merge branch 'postgres-dsn-quote' of github.com:idubinskiy/terraform into idubinskiy-postgres-dsn-quote 2016-12-25 05:43:19 -08:00
Martin Atkins 6ad1e596dd provider/archive: Test that archive_file hashes seem plausible
We just check these for syntax rather than exact value because the
underlying archive library is free to evolve its exact encoding over time
as long as the result is semantically equivalent, and we don't want these
tests to break when we build on different versions of Go.
2016-12-24 11:52:17 -08:00
Martin Atkins ea93b91a80 Merge #10851: archive_file md5 hash attribute 2016-12-24 11:39:28 -08:00
Alexander bac59eb531 provider/pagerduty Add delete support to pagerduty_service_integration (#10891)
* Vendor update

* Add delete support

* Update documentation
2016-12-24 14:43:06 +00:00
Ninir 88b3cc5b58 provider/aws: Fixed the need of sending S3 Replication StorageClass when not set 2016-12-24 11:47:04 +01:00
Igor Dubinskiy 56a1ea9012 provider/postgresql: Quote connection string parameters 2016-12-23 10:09:32 -08:00
Joe Topjian b2417ce880 provider/openstack: 409 Response on Member Create
This commit accounts for a 409 response when a LBaaS v2 member is
being created. Rather than error out, this should be considered a
pending state.
2016-12-23 04:29:39 +00:00
Curtis Allen ad565974ac fixes double base64 encode
Add a utility that ensures a byte array is not doubly base64 encoded
Fixes #10786
2016-12-20 17:47:05 -07:00
Paddy e6349aee4f Remove create_timeout backwards incompatibilities.
A new create_timeout attribute was added that had some backwards
incompatibilities, and as per discussion in #10823, it was determined we
could make upgrading to 0.8.x easier by fixing them, without really
losing any functionality.

Because create_timeout is not something stored or transmitted to the
API, it's not something we need a ForceNew on. Also, because an update
wouldn't result in an API call, we can add a state migration to avoid a
false positive diff that requires people to plan and apply but doesn't
actually make an API call.
2016-12-19 23:49:53 -08:00
Mike Tougeron 61fec06f51 Add the archive file's MD5 to the output 2016-12-19 18:39:38 -08:00
Clint 7998c3be92 Merge pull request #8622 from optimisticanshul/8604-snapshot-rds-password
Update rds password if provided while creating from snapshot
2016-12-19 13:59:48 -06:00
Peter McAtominey b4e0b8a9f5 provider/azurerm: fix network_interface.ip_configuration has for load balancers (#10834)
The subsets for backend address pools and inbound nat rules weren't being hashed
properly as part of the ip_configuration hash which caused multiple
ip_configurations to be expanded and sent to the API with conflicting names

TF_ACC=1 go test ./builtin/providers/azurerm -v -run TestAccAzureRMNetworkInterface -timeout 120m
=== RUN   TestAccAzureRMNetworkInterface_basic
--- PASS: TestAccAzureRMNetworkInterface_basic (160.24s)
=== RUN   TestAccAzureRMNetworkInterface_disappears
--- PASS: TestAccAzureRMNetworkInterface_disappears (157.00s)
=== RUN   TestAccAzureRMNetworkInterface_enableIPForwarding
--- PASS: TestAccAzureRMNetworkInterface_enableIPForwarding (156.86s)
=== RUN   TestAccAzureRMNetworkInterface_multipleLoadBalancers
--- PASS: TestAccAzureRMNetworkInterface_multipleLoadBalancers (185.87s)
=== RUN   TestAccAzureRMNetworkInterface_withTags
--- PASS: TestAccAzureRMNetworkInterface_withTags (1212.92s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/azurerm	1872.960s
2016-12-19 13:21:51 +00:00
Joe Topjian 504407c1cb provider/openstack: Block Device Tests and Docs (#10830)
This commit adds some basic tests for block device functionality. It also
expands the existing block device documentation as well references the
new "volume attach" resources for further block storage functionality.
2016-12-19 10:29:37 +00:00
Joe Topjian 7843a5c6e6 provider/openstack: Handle Volume Creation Errors (#10821)
This commit makes the openstack_blockstorage_volume resources better able
to handle volume creation errors upon resource creation. The cause of this
change is because there could be some storage backend error that happens
during storage provisioning that won't manifest in an "err" but will set
the volume's status to "error". We now check for a status of "error" and
propagate the error up the stack.
2016-12-18 22:38:55 +00:00
Paul Stack 1ff623a790 provider/aws: Support updating of aws_db_instance db_subnet_group_name (#10818)
Fixes: #10811

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSDBInstance_subnetGroup'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2016/12/18 12:52:21 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSDBInstance_subnetGroup -timeout 120m
=== RUN   TestAccAWSDBInstance_subnetGroup
--- PASS: TestAccAWSDBInstance_subnetGroup (992.05s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	992.073s
```
2016-12-18 14:35:24 +00:00
Tom Harvey 776e76f6ce provider/azurerm: Redis Cache (#10184)
* Implementing Redis Cache

* Properties should never be nil

* Updating the SDK to 7.0.1

* Redis Cache updated for SDK 7.0.1

* Fixing the max memory validation tests

* Cleaning up

* Adding tests for Standard with Tags

* Int's -> Strings for the moment

* Making the RedisConfiguration object mandatory

* Only parse out redis configuration values if they're set

* Updating the RedisConfiguration object to be required in the documentaqtion

* Adding Tags to the Standard tests / importing excluding the redisConfiguration

* Removing support for import for Redis Cache for now

* Removed a scaling test
2016-12-18 14:23:29 +00:00
Kit Ewbank ca183126c8 Add 'aws_iam_account_alias' data source. (#10804) 2016-12-18 14:17:19 +00:00
Christoph Blecker b7faae4bac Use node_version during google_container_cluster creation (#10817) 2016-12-18 13:50:46 +00:00
Harry Hull 2ebbf598cb Add aws verification checks to opsworks acceptance tests (#10813)
* Verify with aws api in opsworks resource acceptance tests
Fixes #6202

* Minor fix to resource_aws_opsworks_application_test.go
2016-12-18 11:55:40 +00:00
Alexander 471299c4ae provider/pagerduty pagerduty_schedule - support for start_day_of_week (schedule restriction) (#10069)
* Adding support for start_day_of_week (schedule restriction)

* Vendor update

* Update schedule tests
2016-12-18 11:23:00 +00:00
Michael Kuzmin 7a59971777 provider/docker: fix regression, cert_path stop working (#10754) (#10801) 2016-12-17 12:41:08 +00:00
James Bardin 4f625af3fd Merge pull request #10787 from hashicorp/jbardin/inteprolate-list-of-maps
Inteprolate list of maps
2016-12-16 16:41:36 -05:00
clint shryock 42efeb66db add missing runtime 2016-12-16 11:36:19 -06:00
clint shryock 45a7cc5afd more randomiztion for lambda tests 2016-12-16 10:42:37 -06:00
James Bardin d1d6907640 Add a provider test for a list of maps
Interpolation of a map from a list of maps was not working. Add a
provider example test to cover this.
2016-12-16 10:36:26 -05:00
Ninir f96e45ba56 provider/aws: Deprecated aws_lambda_function nodejs runtime in favor of nodejs4.3 (#9724)
* provider/aws/lambda: Deprecated nodejs in favor of nodejs4.3

* Removed redundant type declarations in composite literals

* Added validation tests
2016-12-16 12:24:45 +00:00
Ivan Fuyivara 4d4ec6c0d1 provider/aws: Support for SES Configuration sets and Event Destinations (#10735)
* adding configuration set

* adding event destination

* adding test, all tests passing

* adding doccumentation
2016-12-16 11:46:39 +00:00
stack72 8efa37f7ff
Merge branch 'api_gateway_binary_media_types' of https://github.com/jmettes/terraform into jmettes-api_gateway_binary_media_types 2016-12-16 11:16:04 +00:00
Clint 7711952423 Merge pull request #9837 from Ninir/redshift_cluster_password
provider/aws: Redshift Cluster: Fix for master_username & password
2016-12-15 21:28:36 -06:00
Jonathan Mettes 0e6b2a4f9f Add support for binary media type to AWS API Gateway 2016-12-16 02:14:29 +00:00
Clint 75010e9112 Merge pull request #10771 from hashicorp/b-aws-test-fixes
provider/aws: More randomization so our tests can run in parallel
2016-12-15 16:36:37 -06:00
clint shryock 8d2e61e88d provider/aws: More randomization so our tests can run in parallel 2016-12-15 16:33:10 -06:00
Dan Thagard 82ef4b678d Drop alias from state file if missing from lambda. (#10759)
* Drop alias from state file if missing from lambda.

This commit fixes an issue where if you remove a AWS Lambda, the corresponding alias for that Lambda is also deleted.

* Added missing imports.

* Removed non-local reference to constant.
2016-12-15 15:33:38 -06:00
Clint 8371d3faab Merge pull request #10763 from Ninir/d-aws-source-ami-owners
provider/aws: Fixed the data source ami enforcing non-nil values
2016-12-15 14:35:29 -06:00
Paul Tyng 3dfe5a47f1
provider/newrelic: Add new provider for New Relic 2016-12-15 19:14:59 +00:00
Ninir a8a37b8f84 provider/aws: Fixed the data source ami enforcing non-nil values 2016-12-15 19:18:57 +01:00
Joseph Anthony Pasquale Holsten d783e831f8 ultradns providers and improvements (#9788)
* vendor: update github.com/Ensighten/udnssdk to v1.2.1

* ultradns_tcpool: add

* ultradns.baseurl: set default

* ultradns.record: cleanup test

* ultradns_record: extract common, cleanup

* ultradns: extract common

* ultradns_dirpool: add

* ultradns_dirpool: fix rdata.ip_info.ips to be idempotent

* ultradns_tcpool: add doc

* ultradns_dirpool: fix rdata.geo_codes.codes to be idempotent

* ultradns_dirpool: add doc

* ultradns: cleanup testing

* ultradns_record: rename resource

* ultradns: log username from config, not client

udnssdk.Client is being refactored to use x/oauth2, so don't assume we
can access Username from it

* ultradns_probe_ping: add

* ultradns_probe_http: add

* doc: add ultradns_probe_ping

* doc: add ultradns_probe_http

* ultradns_record: remove duplication from error messages

* doc: cleanup typos in ultradns

* ultradns_probe_ping: add test for pool-level probe

* Clean documentation

* ultradns: pull makeSetFromStrings() up to common.go

* ultradns_dirpool: log hashIPInfoIPs

Log the key and generated hashcode used to index ip_info.ips into a set.

* ultradns: simplify hashLimits()

Limits blocks only have the "name" attribute as their primary key, so
hashLimits() needn't use a buffer to concatenate.

Also changes log level to a more approriate DEBUG.

* ultradns_tcpool: convert rdata to schema.Set

RData blocks have the "host" attribute as their primary key, so it is
used by hashRdatas() to create the hashcode.

Tests are updated to use the new hashcode indexes instead of natural
numbers.

* ultradns_probe_http: convert agents to schema.Set

Also pull the makeSetFromStrings() helper up to common.go

* ultradns: pull hashRdatas() up to common

* ultradns_dirpool: convert rdata to schema.Set

Fixes TF-66

* ultradns_dirpool.conflict_resolve: fix default from response

UltraDNS REST API User Guide claims that "Directional Pool
Profile Fields" have a "conflictResolve" field which "If not
specified, defaults to GEO."
https://portal.ultradns.com/static/docs/REST-API_User_Guide.pdf

But UltraDNS does not actually return a conflictResolve
attribute when it has been updated to "GEO".

We could fix it in udnssdk, but that would require either:
* hide the response by coercing "" to "GEO" for everyone
* use a pointer to allow checking for nil (requires all
users to change if they fix this)

An ideal solution would be to have the UltraDNS API respond
with this attribute for every dirpool's rdata.

So at the risk of foolish consistency in the sdk, we're
going to solve it where it's visible to the user:
by checking and overriding the parsing. I'm sorry.

* ultradns_record: convert rdata to set

UltraDNS does not store the ordering of rdata elements, so we need a way
to identify if changes have been made even it the order changes.
A perfect job for schema.Set.

* ultradns_record: parse double-encoded answers for TXT records

* ultradns: simplify hashLimits()

Limits blocks only have the "name" attribute as their primary key, so
hashLimits() needn't use a buffer to concatenate.

* ultradns_dirpool.description: validate

* ultradns_dirpool.rdata: doc need for set

* ultradns_dirpool.conflict_resolve: validate
2016-12-15 16:28:34 +00:00
Peter McAtominey 3fbe2534a6 provider/azurerm: add support for tags to dns_zone (#10750)
tags were documented, just not implemented

TF_ACC=1 go test ./builtin/providers/azurerm -v -run TestAccAzureRMDnsZone_ -timeout 120m
=== RUN   TestAccAzureRMDnsZone_importBasic
--- PASS: TestAccAzureRMDnsZone_importBasic (89.04s)
=== RUN   TestAccAzureRMDnsZone_basic
--- PASS: TestAccAzureRMDnsZone_basic (92.91s)
=== RUN   TestAccAzureRMDnsZone_withTags
--- PASS: TestAccAzureRMDnsZone_withTags (105.88s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/azurerm	287.912s
2016-12-15 14:14:53 +00:00
Matt Long 0d0c31d962 provider/pagerduty: Allow 'team_responder' role for pagerduty_user resource (#10728)
* provider/pagerduty: Allow 'team_responder' role for pagerduty_user resource

* Change unit test to exercise 'team_responder' and reformat

* Update the test fixture to use the 'team_responder' role
2016-12-14 23:01:19 +00:00
Clint 89c328aed4 Merge pull request #10733 from hashicorp/f-remove-deprecated-param-group
provider/aws: Removed deprecated parameter group from RDS Cluster
2016-12-14 16:32:36 -06:00
clint shryock 70b1f4e708 provider/aws: Bump EMR Cluster create timeout 2016-12-14 10:25:45 -06:00
clint shryock 4007fd2bc8 provider/aws: Removed deprecated parameter group from RDS Cluster 2016-12-14 10:08:11 -06:00
James Nugent a160d1cd69 provider/aws: Support eu-west-2 (#10470)
* provider/aws: Support eu-west-2

This is the new London region - we don't have access yet but several
enquiries have come from customers who do.

* provider/aws: Support eu-west-2 region

* Update hosted_zones.go
2016-12-14 09:33:58 +00:00
Kit Ewbank c7bf4fc8d3 Correct error message for 'aws_caller_identity' acceptance test. (#10712) 2016-12-14 09:33:06 +00:00
Clint 56b0e87f5e Merge pull request #10704 from Ninir/r-aws-sns_topic-protocols
provider/aws: Improved the SNS topic subscription protocols validation
2016-12-13 16:54:21 -06:00
stack72 9aebe3344a
provider/google: Moving the XPN EnvVar check into provider_test.go to stop failed build 2016-12-13 19:29:23 +00:00
stack72 4f256a54db
Merge branch 'google-xpn' of https://github.com/danawillow/terraform 2016-12-13 19:15:54 +00:00
Sean Chittenden 60658fdfbc Merge pull request #10707 from hashicorp/b-postgresql-schema-auth
Dept of second thoughts: remove authorization support ASAP.
2016-12-13 10:45:19 -08:00
Sean Chittenden 56a193f228
Dept of second thoughts: remove authorization support before 0.8
releases.

When postgresql_schema_policy lands this attribute should be removed in
order to provide a single way of accomplishing setting permissions on
schema objects.
2016-12-13 10:28:06 -08:00
Ninir 99be2d3280 provider/aws: Improved the SNS topic subscription protocols validation 2016-12-13 17:54:52 +01:00
Mathieu Herbert 3239138099 provider/aws: data source for AWS Hosted Zone (#9766)
* provider/aws: data source for AWS Hosted Zone

* add caller_reference, resource_record_set_count fields, manage private zone and trailing dot

* fix fmt

* update documentation, use string function in hostedZoneNamewq

* add vpc_id support

* add tags support

* add documentation for hosted zone data source tags support
2016-12-13 16:22:26 +00:00
Clint b2136beff2 Merge pull request #10702 from hashicorp/pr-10694
provider/aws: Save `iam_access_key` secret to state if no PGP key given (supersedes #10694)
2016-12-13 10:11:07 -06:00
clint shryock 72885c6736 provider/aws: Save secret to state in iam_access_key if pgp key not found 2016-12-13 09:32:04 -06:00
Ryan Hoegg 73213793ca provider/aws: Add aws_eip data source (#9833)
* provider/aws: Add the aws_eip data source

* Document the aws_eip data source on the website

* provider/aws: support query by public_ip for aws_eip data source
2016-12-13 12:09:21 +00:00
Samuel BERTHE 88faa1bb7f Improving Rundeck provider: scheduler (#9449)
* feat(rundeck provider): Scheduling (crontab)

* fix(govendor-upgrade): Rundeck api wrapper
2016-12-13 12:00:53 +00:00
Paul Stack e558cbddf4 provider/rundeck: Set Computed on rundeck_job preserve_options_order (#10695)
Before the change, this was the test result:

```
% make testacc TEST=./builtin/providers/rundeck                                                                               2 ↵
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2016/12/13 11:14:11 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/rundeck -v  -timeout 120m
=== RUN   TestProvider
--- PASS: TestProvider (0.00s)
=== RUN   TestProvider_impl
--- PASS: TestProvider_impl (0.00s)
=== RUN   TestAccJob_basic
--- FAIL: TestAccJob_basic (6.51s)
	testing.go:265: Step 0 error: After applying this step, the plan was not empty:

		DIFF:

		UPDATE: rundeck_job.test
		  preserve_options_order: "true" => "false"

		STATE:

		rundeck_job.test:
		  ID = 1da079e6-31f1-4c77-9cbb-c77c0a16fea5
		  allow_concurrent_executions = true
		  command.# = 1
		  command.0.inline_script =
		  command.0.job.# = 0
		  command.0.node_step_plugin.# = 0
		  command.0.script_file =
		  command.0.script_file_args =
		  command.0.shell_command = echo Hello World
		  command.0.step_plugin.# = 0
		  command_ordering_strategy = node-first
		  continue_on_error = false
		  description = A basic job
		  group_name =
		  log_level = INFO
		  max_thread_count = 1
		  name = basic-job
		  node_filter_exclude_precedence = false
		  node_filter_query = example
		  option.# = 1
		  option.0.allow_multiple_values = false
		  option.0.default_value = bar
		  option.0.description =
		  option.0.exposed_to_scripts = false
		  option.0.multi_value_delimiter =
		  option.0.name = foo
		  option.0.obscure_input = false
		  option.0.require_predefined_choice = false
		  option.0.required = false
		  option.0.validation_regex =
		  option.0.value_choices.# = 0
		  option.0.value_choices_url =
		  preserve_options_order = true
		  project_name = terraform-acc-test-job
		  rank_attribute =
		  rank_order = ascending

		  Dependencies:
		    rundeck_project.test
		rundeck_project.test:
		  ID = terraform-acc-test-job
		  default_node_executor_plugin = jsch-ssh
		  default_node_file_copier_plugin = jsch-scp
		  description = parent project for job acceptance tests
		  extra_config.% = 0
		  name = terraform-acc-test-job
		  resource_model_source.# = 1
		  resource_model_source.0.config.% = 2
		  resource_model_source.0.config.file = /tmp/terraform-acc-tests.xml
		  resource_model_source.0.config.format = resourcexml
		  resource_model_source.0.type = file
		  ssh_authentication_type = privateKey
		  ssh_key_file_path =
		  ssh_key_storage_path =
		  ui_url = http://192.168.50.2:4440/api/18/project/terraform-acc-test-job
=== RUN   TestAccPrivateKey_basic
--- PASS: TestAccPrivateKey_basic (7.90s)
=== RUN   TestAccProject_basic
--- PASS: TestAccProject_basic (2.21s)
=== RUN   TestAccPublicKey_basic
--- PASS: TestAccPublicKey_basic (2.43s)
FAIL
exit status 1
FAIL	github.com/hashicorp/terraform/builtin/providers/rundeck	19.067s
make: *** [testacc] Error 1
```

After the change:

```
% make testacc TEST=./builtin/providers/rundeck                                                                               2 ↵
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2016/12/13 11:35:46 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/rundeck -v  -timeout 120m
=== RUN   TestProvider
--- PASS: TestProvider (0.00s)
=== RUN   TestProvider_impl
--- PASS: TestProvider_impl (0.00s)
=== RUN   TestAccJob_basic
--- PASS: TestAccJob_basic (1.46s)
=== RUN   TestAccPrivateKey_basic
--- PASS: TestAccPrivateKey_basic (0.26s)
=== RUN   TestAccProject_basic
--- PASS: TestAccProject_basic (0.65s)
=== RUN   TestAccPublicKey_basic
--- PASS: TestAccPublicKey_basic (0.59s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/rundeck	2.975s
```
2016-12-13 11:42:26 +00:00
BobVanB a60a3764f2 provider/rundeck) enable validation for multiple values in an array (#8913) 2016-12-13 11:40:31 +00:00
Kit Ewbank d3633398a7 provider/aws Add aws_vpc_endpoint_service data source (#10261)
* provider/aws Add aws_vpc_endpoint_services data source.

* Rename 'aws_vpc_endpoint_services' to 'aws_vpc_endpoint_service'.
2016-12-13 10:40:35 +00:00
Kazuma Watanabe 0134315148 enable DeleteOnTermination (#9922) 2016-12-13 10:38:05 +00:00
Mickaël Canévet 3ab5c630bd Don't remove secret, just deprecate it 2016-12-13 11:31:32 +01:00
Paddy a08d562abf Merge pull request #10684 from cblecker/gcp-ssl-cert-name-prefix
Add support for name_prefix to google_compute_ssl_certificate
2016-12-12 16:40:07 -08:00
Christoph Blecker fa8921f8f4 Add support for name_prefix to google_compute_ssl_certificate 2016-12-12 15:57:58 -08:00
James Nugent 7cda9e8c74 Merge pull request #10682 from hashicorp/f-fixup-postgresql
Various changes to the PostgreSQL provider
2016-12-12 15:22:53 -08:00
Sean Chittenden ce60c4fede
gofmt cleanup on imports. 2016-12-12 15:21:20 -08:00
Sean Chittenden 2ecd42c0be
Remove non-standard environment variables in prep for 0.8. 2016-12-12 15:21:00 -08:00
Sean Chittenden 6ed37770c3
Add the testing Makefile that I'm using for testing the provider locally. 2016-12-12 14:44:46 -08:00
Sean Chittenden 8c41f0859b
Add the version attribute to postgresql_extension. 2016-12-12 14:37:40 -08:00
Paul Stack 1113ed5fc7 provider/aws: Support MFA delete for s3 bucket versioning (#10020)
Fixes #7902

```
% make testacc TEST=./builtin/providers/aws
% TESTARGS='-run=TestAccAWSS3Bucket_'
% ✹
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2016/12/12 12:11:45 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSS3Bucket_
-timeout 120m
=== RUN   TestAccAWSS3Bucket_importBasic
--- PASS: TestAccAWSS3Bucket_importBasic (55.74s)
=== RUN   TestAccAWSS3Bucket_importWithPolicy
--- PASS: TestAccAWSS3Bucket_importWithPolicy (63.34s)
=== RUN   TestAccAWSS3Bucket_Notification
--- PASS: TestAccAWSS3Bucket_Notification (165.15s)
=== RUN   TestAccAWSS3Bucket_NotificationWithoutFilter
--- PASS: TestAccAWSS3Bucket_NotificationWithoutFilter (63.22s)
=== RUN   TestAccAWSS3Bucket_basic
--- PASS: TestAccAWSS3Bucket_basic (47.82s)
=== RUN   TestAccAWSS3Bucket_region
--- PASS: TestAccAWSS3Bucket_region (18.88s)
=== RUN   TestAccAWSS3Bucket_acceleration
--- PASS: TestAccAWSS3Bucket_acceleration (34.56s)
=== RUN   TestAccAWSS3Bucket_RequestPayer
--- PASS: TestAccAWSS3Bucket_RequestPayer (90.26s)
=== RUN   TestAccAWSS3Bucket_Policy
--- PASS: TestAccAWSS3Bucket_Policy (120.25s)
=== RUN   TestAccAWSS3Bucket_UpdateAcl
--- PASS: TestAccAWSS3Bucket_UpdateAcl (87.51s)
=== RUN   TestAccAWSS3Bucket_Website_Simple
--- PASS: TestAccAWSS3Bucket_Website_Simple (138.38s)
=== RUN   TestAccAWSS3Bucket_WebsiteRedirect
--- PASS: TestAccAWSS3Bucket_WebsiteRedirect (139.44s)
=== RUN   TestAccAWSS3Bucket_WebsiteRoutingRules
--- PASS: TestAccAWSS3Bucket_WebsiteRoutingRules (97.82s)
=== RUN   TestAccAWSS3Bucket_shouldFailNotFound
--- PASS: TestAccAWSS3Bucket_shouldFailNotFound (26.84s)
=== RUN   TestAccAWSS3Bucket_Versioning
--- PASS: TestAccAWSS3Bucket_Versioning (131.89s)
=== RUN   TestAccAWSS3Bucket_Cors
--- PASS: TestAccAWSS3Bucket_Cors (92.71s)
=== RUN   TestAccAWSS3Bucket_Logging
--- PASS: TestAccAWSS3Bucket_Logging (86.46s)
=== RUN   TestAccAWSS3Bucket_Lifecycle
--- PASS: TestAccAWSS3Bucket_Lifecycle (132.70s)
=== RUN   TestAccAWSS3Bucket_Replication
--- PASS: TestAccAWSS3Bucket_Replication (122.70s)
=== RUN   TestAccAWSS3Bucket_ReplicationExpectVersioningValidationError
--- PASS: TestAccAWSS3Bucket_ReplicationExpectVersioningValidationError (39.04s)
```
2016-12-12 22:34:03 +00:00
Sean Chittenden a4965c01af
Fix up helpers.
Pointed out by: @stack72
2016-12-12 14:30:25 -08:00
Traver Tischio 27d42d1831 provider/fastly add origin shielding (#10677)
* Add shield to options for fastly backend

* Add shield to acceptance test for fastly

* Update website with shield option
2016-12-12 22:17:35 +00:00
Ninir 16660a4f60 provider/aws: Fixed deletion of aws_api_gateway_base_path_mapping with empty path (#10177) 2016-12-12 22:09:25 +00:00
Sean Chittenden c602f024f4
Fix the remaining `postgresql_extension` unit test. 2016-12-12 13:40:49 -08:00
Sean Chittenden daa951434f
Teach postgresql_extension about schemas. 2016-12-12 13:15:57 -08:00
Sean Chittenden d1c9ebb6c2
Add PostgreSQL schema support 2016-12-12 13:11:47 -08:00
James Bardin 5b0bc3b25e wrong printf verb 2016-12-12 15:03:21 -05:00
Paddy 8d046c766c Merge pull request #10453 from danawillow/google-ilb
providers/google: Add support for Internal Load Balancing
2016-12-12 09:47:20 -08:00
Ninir fc5b05ebc1 provider/aws: Added SQS FIFO queues (#10614) 2016-12-12 17:40:59 +00:00
stack72 3ecdc057b5
provider/digitalocean: Removal of an old test that was causing the CI acceptance tests to hang 2016-12-12 17:11:20 +00:00
Paul Stack 949d18da22 provider/digitalocean: Fix a whitespace issue in DO ssh_key causing test failures (#10673) 2016-12-12 16:27:55 +00:00
Len Smith 015e96d0dd Initial check in for Icinga2 Provider/Resource (#8306)
* Initial checkin for PR request

* Added an argument to provider to allow control over whether or not TLS Certs will skip verification. Controllable via provider or env variable being set

* Initial check-in to use refactored module

* Checkin of very MVP for creating/deleting host test which works and validates basic host creation and deletion

* Check in with support for creating hosts with variables working

* Checking in work to date

* Remove code that causes travis CI to fail while I debug

* Adjust create to accept multivale

* Back on track. Working basic tests. go-icinga2-api needs more test too

* Squashing

* Back on track. Working basic tests. go-icinga2-api needs more test too

* Check in refactored hostgroup support

* Check in refactored check_command, hosts, and hsotgroup with a few test

* Checking in service code

* Add in dependency for icinga2 provider

* Add documentation. Refactor, fix and extend based on feedback from Hashicorp

* Added checking and validation around invalid URL and unavailable server
2016-12-12 15:28:26 +00:00
Ninir 048a932abd provider/aws: Added Lambda function guard when needed attributes are not set (#10663) 2016-12-12 15:12:56 +00:00
Jan Schumann a01a93067f tests for #5907 (#10669) 2016-12-12 14:42:04 +00:00
Ninir 3f5e12ff7e provider/aws: Set the DBName when restoring from a snapshot (#10664) 2016-12-12 12:56:56 +00:00
Sean Chittenden 1a93309e50
Expand postgresql_role support to include all known options. 2016-12-12 01:37:00 -08:00
Sean Chittenden 4c6c52ee8d
Nuke some whitespace. 2016-12-12 01:36:14 -08:00
Sean Chittenden 6deb61b0cf
Enable import support for PostgreSQL's extensions. 2016-12-12 01:33:02 -08:00
Sean Chittenden e36827c5fe
Change the default for `valid_until` to `infinity` to match the default. 2016-12-12 01:18:13 -08:00
Joe Topjian fd40eb3421 provider/openstack: More Import and Region Fixes (#10662)
This has a few more import and region fixes from #10509
2016-12-12 09:14:38 +00:00
Sean Chittenden e9dc92c18d
Change the default for `inherit` from `false` to `true` to match PostgreSQL. 2016-12-12 01:11:07 -08:00
Sean Chittenden b576a3eda1
Rename variable from `roleSuperUserAttr` to `roleSuperuserAttr`. 2016-12-12 01:07:26 -08:00
Sander van Harmelen bad3a876ca provider/cloudstack: add support for multiple NICs with port forwards and set network_domain for networks (#10638)
* Add support for multiple NICs with port forwards

* Fix issue #9801
2016-12-12 10:06:42 +01:00
Sean Chittenden 15cd542392
Remove a duplicate `connect_timeout` from a rebase+stash. 2016-12-12 00:53:06 -08:00
Rui Gonçalves 5016a56fd4 provider/statuscake: fix StatusCake tests (#10660)
* Update vendored statuscake SDK

* Set all attributes when upserting statuscake tests
2016-12-11 19:41:49 +00:00
Sean Chittenden e2448473cb
Clean up the DatabaseCreate call. 2016-12-10 12:32:21 +11:00
Sean Chittenden db5d7b0438
Style nit 2016-12-10 12:32:21 +11:00
Sean Chittenden bfc2a2d42f
Commit WIP re: updated postgresql_role provider.
*Read() and *Update() still need to be updated.
2016-12-10 12:32:20 +11:00
Sean Chittenden 2e529146a5
Remove unused code. 2016-12-10 12:32:20 +11:00
Sean Chittenden 6b540ecb55
Don't use d.GetOk() when the zero value is a required attribute.
Add "pathological" test.
2016-12-10 12:32:20 +11:00
Sean Chittenden 37fdc958b3
Always remove the IS_TEMPLATE attribute before dropping a database. 2016-12-10 12:32:20 +11:00
Sean Chittenden e9b2b38288
Remove SetId() call from *Read(), this isn't required for import to work. 2016-12-10 12:32:20 +11:00
Sean Chittenden f253fc9eff
Commit miss earlier, fix syntax from unstaged commit. 2016-12-10 12:32:20 +11:00
Sean Chittenden 5280c37bea
`postgresql_database` resource provider should now be feature complete.
* Add support to import databases.  See docs.
* Add support for renaming databases
* Add support for all known PostgreSQL database attributes, including:
  * "allow_connections"
  * "lc_ctype"
  * "lc_collate"
  * "connection_limit"
  * "encoding"
  * "is_template"
  * "owner"
  * "tablespace_name"
  * "template"
2016-12-10 12:32:20 +11:00
Sean Chittenden 59f4ad6fd1
Alpha sort the resources in the PostgreSQL map. 2016-12-10 12:32:19 +11:00
Sean Chittenden 300ef2bc97
Add `connect_timeout` support to the PostgreSQL provider. 2016-12-10 12:32:19 +11:00
Sean Chittenden 3750bf7af2
Depreciate the PostgreSQL provider's `ssl_mode` option in favor of `sslmode`.
Both libpq(3) and github.com/lib/pq both use `sslmode`.  Prefer this vs
the non-standard `ssl_mode`.  `ssl_mode` is supported for compatibility
but should be removed in the future.

Changelog: yes
2016-12-10 12:32:19 +11:00
Sean Chittenden a200899d93
Allow the PostgreSQL provider to talk to a non-default database. 2016-12-10 12:32:19 +11:00
Sean Chittenden 602a908d7b
Add a `fallback_application_name` to the PostgreSQL DSN. 2016-12-10 12:32:19 +11:00
Sean Chittenden 44d907a3de
Revert "Prefer PGHOSTADDR over PGHOST, if set." lib/pq doesn't support PGHOSTADDR.
d8eeeb8bae/conn.go (L1851)

This reverts commit 26a2a974f2b2f2cefd41b426b8469fa3ea72b33e.
2016-12-10 12:32:19 +11:00
Sean Chittenden 55061d190a
Prefer PGHOSTADDR over PGHOST, if set. 2016-12-10 12:32:19 +11:00
Sean Chittenden 3779dfffa9
Use a string instead of the `%t` modifier for printing a bool in SQL 2016-12-10 12:32:19 +11:00
Sean Chittenden 5b66bf0745
ForceNew is required when changing the locale, ctype, and encoding.
This will cause someone some grief.  TODO: Figure out how to prevent
someone from blowing off their foot if they twiddle this after the
fact.
2016-12-10 12:32:18 +11:00
Sean Chittenden 547dcf27e1
Decorate the computed attribute where appropriate 2016-12-10 12:32:18 +11:00
Sean Chittenden 242405bdf1
Factor out the validate function for connection limits 2016-12-10 12:32:18 +11:00
Sean Chittenden 02dea2edd9
Add missing descriptions to owner and name 2016-12-10 12:32:18 +11:00
Sean Chittenden deb91f61ce
Update the descriptions to mostly match the official PostgreSQL docs. 2016-12-10 12:32:18 +11:00
Sean Chittenden 68cadd3c2a
Update the FIXME/TODO style to match Google style guides 2016-12-10 12:32:18 +11:00
Sean Chittenden f3add9e7ef
Flesh out the CREATE DATABASE for PostgreSQL. 2016-12-10 12:32:18 +11:00
Sean Chittenden 2aee081e4b
Eh, specify default values lib/pq zero initializes itself 2016-12-10 12:32:17 +11:00
Sean Chittenden 7e5ccc089b
Spell `ssl_mode` like `sslmode` 2016-12-10 12:32:17 +11:00
Sean Chittenden 655617ed6a
Remove the PGPASSWORD requirement for tests.
If they're required and the value is missing, the test will fail.  There's
no need to enforce that in the test itself.
2016-12-10 12:32:17 +11:00
Sean Chittenden ec130d538c
Add comments requesting that the testing-specific environment variables
can be removed in Terraform 0.8.0
2016-12-10 12:32:17 +11:00
Sean Chittenden b68ef2c40b
Fall through to using the defaults from github.com/lib/pq 2016-12-10 12:32:17 +11:00
Sean Chittenden f31ebff10e
Change the PostgreSQL PGSSLMODE option to sslmode to match PostgreSQL idioms.
Also don't specify the default and rely on github.com/lib/pq (which uses "required"
and is different than what libpq(3) uses, which is "preferred" and unsupported by
github.com/lib/pq).
2016-12-10 12:32:17 +11:00
Paul Stack c69e325a1a provider/aws: Add support for AWS Lightsail Domain (#10637)
```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSLightsailDomain_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2016/12/09 15:19:58 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v
-run=TestAccAWSLightsailDomain_ -timeout 120m
=== RUN   TestAccAWSLightsailDomain_basic
--- PASS: TestAccAWSLightsailDomain_basic (16.28s)
=== RUN   TestAccAWSLightsailDomain_disappears
--- PASS: TestAccAWSLightsailDomain_disappears (12.71s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws29.015s
```
2016-12-09 17:56:48 +00:00
Clint e705cd9a93 Merge pull request #10635 from dougneal/import_vpc_peerconn_accepter_fix
provider/aws: aws_vpc_peering_connection: import fix
2016-12-09 11:50:55 -06:00
Tom Wilkie dd39296d6c Allow import of aws_security_groups with more than one source_security_group_id rule (#9477)
* Allow import of aws_security_groups with more than one source_security_group_id rule

* Add acceptable test for security group with multiple source rules.
2016-12-09 15:50:51 +00:00
Clint 5f765d9de6 Merge pull request #10624 from hashicorp/pr-9891
provider/aws: Add aws_snapshot_create_volume_permission resource (contd. #9891)
2016-12-09 08:43:18 -06:00
Clint 0766074289 Merge pull request #10583 from hashicorp/f-lightsail-key-pair
provider/aws: Add Lightsail Key Pair resource
2016-12-09 08:26:00 -06:00
Doug Neal 24baa38408 provider/aws: aws_vpc_peering_connection: import fix
When importing an `aws_vpc_peering_connection`, the code assumes that
the account under Terraform control is the initiator (requester) of the
VPC peering request. This holds true when the peering connection is
between two VPCs in the same account, or when the peering connection has
been initiated from the controlled account to another.

However, when the peering connection has been initiated from a foreign
account towards the account under management, importing the peering
connection into the statefile results in values of `peer_vpc_id` and
`vpc_id` being the opposite way round to what they should be, and in the
`peer_owner_id` being set to the managed account's ID rather than the
foreign account's ID.

This patch checks the Accepter and Requester Owner IDs against the AWS
connection's reported owner ID, and reverses the mapping if it is
determined that the VPC peering connection is owned by the foreign
account.
2016-12-09 12:05:06 +00:00
Peter McAtominey 6f21b78710 provider/azurerm: fix virtual_machine reading plan as the wrong type (#10626)
TF_ACC=1 go test ./builtin/providers/azurerm -v -run TestAccAzureRMVirtualMachine_plan -timeout 120m
=== RUN   TestAccAzureRMVirtualMachine_plan
--- PASS: TestAccAzureRMVirtualMachine_plan (798.75s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/azurerm	798.835s
2016-12-09 10:41:45 +01:00
Eddy Hernandez 7e737dac62 Add support for AWS CA Central 1 Region (#10618)
* Add support for AWS CA Central 1 Region

* additional metadata for ca-central-1

* add elb metadata for ca-central-1
2016-12-09 10:35:07 +01:00
Dana Hoffman 2ad3042877 fix tests 2016-12-08 19:59:03 -08:00
clint shryock 42057045ff refactor the test to use caller_identity data source, and new ebs_snapshot resource 2016-12-08 16:43:03 -06:00
Jeremy Asher 185ee439da add wait after AWS snapshot attr modification
This adds up to a 5 minute wait after issuing an add or remove request
to adjust a snapshot's createVolumePermission attribute.
2016-12-08 16:12:25 -06:00
Jeremy Asher f20d1c3caa WIP aws_snapshot_create_volume_permission tests 2016-12-08 16:12:24 -06:00
Jeremy Asher 7216185f0d implement aws_snapshot_create_volume_permission
This adds the new resource aws_snapshot_create_volume_permission which
manages the createVolumePermission attribute of snapshots.  This allows
granting an AWS account permissions to create a volume from a particular
snapshot.  This is often required to allow another account to copy a
private AMI.
2016-12-08 16:12:23 -06:00
Dana Hoffman 985b4e2b66 use conflictswith for health check instead of separate type field 2016-12-08 13:35:57 -08:00
clint shryock 97ac4bde16 implement name_prefix 2016-12-08 14:08:45 -06:00
Dana Hoffman 35664ff0e1 log id of health check that still exists on destroy 2016-12-08 10:40:09 -08:00
clint shryock 1e8e83fa6a provider/aws: Encrypt aws_iam_access_key.secret with pgp
optionally encrypt the iam access key secret with a pgp key
2016-12-08 11:08:05 -06:00
Peter McAtominey 56344eb98d provider/azurerm: fix servicebus_topic max_size_in_megabytes for premium namespaces (#10611)
The value is only multiplied by the API for topics in non-premium namespaces

TF_ACC=1 go test ./builtin/providers/azurerm -v -run TestAccAzureRMServiceBusTopic_enablePartitioning -timeout 120m
=== RUN   TestAccAzureRMServiceBusTopic_enablePartitioningStandard
--- PASS: TestAccAzureRMServiceBusTopic_enablePartitioningStandard (378.80s)
=== RUN   TestAccAzureRMServiceBusTopic_enablePartitioningPremium
--- PASS: TestAccAzureRMServiceBusTopic_enablePartitioningPremium (655.00s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/azurerm	1033.874s
2016-12-08 17:06:27 +01:00
Doug Neal 195b041cd5 Validate `effect` in aws_iam_policy_document data source (#10608)
AWS allows only the case-sensitive strings `Allow` and `Deny` to appear
in the `Effect` fields of IAM policy documents. Catch deviations from
this, including mis-casing, before hitting the API and generating an
error (the error is a generic 400 and doesn't indicate what part of the
policy doc is invalid).
2016-12-08 16:16:40 +01:00
Ninir 29f8af16a1 provider/aws: Added S3 Bucket replication (#10552) 2016-12-08 11:59:13 +01:00
Otto Jongerius 10d68d90dd provider/datadog 9869: Validate credentials when initialising client. (#10567)
* provider/datadog 9869: Validate credentials when initialising client.

* provider/datadog Pull in new version of go-datadog-api.

* provider/datadog Update testAccCheckDatadogMonitorConfigNoThresholds test config.
2016-12-08 11:17:42 +01:00
Timon Wong 80afc6759b provider/aws: Add "no_device" support to ephemeral block devices (#10547)
Fixes #8455, #5390

This add a new `no_device` attribute to `ephemeral_block_device` block,
which allows users omit ephemeral devices from AMI's predefined block
device mappings, which is useful for EBS-only instance types.
2016-12-08 11:03:51 +01:00
Ninir 5e3477664d provider/aws: Forces the api gateway domain name certificates to recreate the resource (#10588) 2016-12-07 22:51:44 +01:00
Ninir 4b25837dd0 provider/aws: FIxed the api_gw_domain_name replace operation (#10179) 2016-12-07 21:47:20 +01:00
clint shryock 86bb969087 provider/aws: add aws_lightsail_key_pair 2016-12-07 11:13:47 -06:00
Andras Ferencz-Szabo 53ebbed8df Service role is not updated on AWS for a CodeDeploy deployment group (#9866)
Service role is not updated on AWS for a CodeDeploy deployment group
2016-12-07 13:34:58 +01:00
Otto Jongerius d06138d052 provider/datadog #9375: Refactor tags to a list instead of a map. (#10570)
* provider/datadog #9375: Refactor tags to a list instead of a map.
Tags are allowed to be but not restricted to, key value pairs (ie: foo:bar)
but are esssentially strings. This changes allows using, and mixing of tags with
form "foo" and "foo:bar". It also allows using duplicate keys like "foo:bar" and "foo:baz".

* provider/datadog update import test.
2016-12-07 12:05:57 +01:00
Raphael Randschau 2b711f77c8 feat/aws: add iam_server_certificate data source (#10558)
useful if you have an automatic process creating certs for you, e.g. let's
lambda
2016-12-07 11:40:53 +01:00
stack72 8bd20c004b
provider/azurerm: arm_virtual_machine panic fix 2016-12-07 11:22:39 +01:00
James Nugent 48d2ac8c35 Merge pull request #10560 from hashicorp/extract-encryption
provider/aws: Extract helper/encryption library
2016-12-06 17:51:57 -06:00
Paul Stack 30240ff836 provider/azurerm: Do not pass an empty string of license_type to AMR VMs (#10564) 2016-12-07 00:43:18 +01:00
Mitchell Hashimoto 544d008f88 Merge pull request #10549 from hashicorp/b-ssh-race
communicator/ssh: don't share rand object to guarantee unique values
2016-12-06 12:43:01 -08:00
Paddy 8a7f43c82e Merge pull request #10537 from hashicorp/paddy_10227_metadata
provider/google: Fix instance/template metadata support
2016-12-06 12:26:22 -08:00
James Nugent 3177fc0765 provider/aws: Extract helper/encryption library
This commit extracts the GPG code used for aws_iam_user_login_profile
into a library that can be reused for other resources, and updates the
call sites appropriately.
2016-12-06 14:24:21 -06:00
Paul Stack 54459900c5 [WIP] provider/azurerm: Bump sdk version to 7.0.1 (#10458)
* provider/azurerm: Bump sdk version to 7.0.1

* Fixing the build (#10489)

* Fixing the broken tests (#10499)

* Updating the method signatures to match (#10533)
2016-12-06 08:39:47 +00:00
Tom Straub 20003b2744 provider/azurerm support `license_type` virtual_machine property for Windows machines. (#10539)
* Added license_type to Azure VirtualMachineProperties call.

* Updated websit documentation.

* Added validation for license_type

* Added acceptance test

* Clarified documentation.
2016-12-06 08:38:10 +00:00
Cameron Childress c5e63106b5 Force a recreate if the numbers for the AS are changed. (#10545) 2016-12-06 08:34:25 +00:00
zimbatm 01876ef415
provider/fastly: add ssl_hostname option
Fastly will fail if the user sets the port to 443, ssl_check_cert is set
to true and the ssl_hostname is not provided.
2016-12-06 08:28:37 +00:00
Mitchell Hashimoto 4b1d9cfd7d
communicator/ssh: don't share rand object to guarantee unique values
Fixes #10463

I'm really surprised this flew under the radar for years...

By having unique PRNGs, the SSH communicator could and would
generate identical ScriptPaths and two provisioners running in parallel
could overwrite each other and execute the same script. This would
happen because they're both seeded by the current time which could
potentially be identical if done in parallel...

Instead, we share the rand now so that the sequence is guaranteed
unique. As an extra measure of robustness, we also multiple by the PID
so that we're also protected against two processes at the same time.
2016-12-06 00:21:49 -08:00
Paul Tyng 15cde73000 Add pagerduty_user data source (#10541) 2016-12-05 22:42:58 +00:00
Clint f8f4634858 Merge pull request #10492 from Ninir/lambda_env_removal
provider/aws: Fixed Lambda environment removal
2016-12-05 14:33:11 -06:00
Martin Atkins e772b45970 "external" data source, for integrating with external programs (#8768)
* "external" provider for gluing in external logic

This provider will become a bit of glue to help people interface external
programs with Terraform without writing a full Terraform provider.

It will be nowhere near as capable as a first-class provider, but is
intended as a light-touch way to integrate some pre-existing or custom
system into Terraform.

* Unit test for the "resourceProvider" utility function

This small function determines the dependable name of a provider for
a given resource name and optional provider alias. It's simple but it's
a key part of how resource nodes get connected to provider nodes so
worth specifying the intended behavior in the form of a test.

* Allow a provider to export a resource with the provider's name

If a provider only implements one resource of each type (managed vs. data)
then it can be reasonable for the resource names to exactly match the
provider name, if the provider name is descriptive enough for the
purpose of the each resource to be obvious.

* provider/external: data source

A data source that executes a child process, expecting it to support a
particular gateway protocol, and exports its result. This can be used as
a straightforward way to retrieve data from sources that Terraform
doesn't natively support..

* website: documentation for the "external" provider
2016-12-05 17:24:57 +00:00
Jan Schumann 9e293def6a provider/aws: Add opsworks rds db resource (#10294)
* add rds db for opsworks

* switched to stack in vpc

* implement update method

* add docs

* implement and document force new resource behavior

* implement retry for update and delete

* add test that forces new resource
2016-12-05 16:14:15 +00:00
Joe Topjian 1c9853ec1b provider/openstack: Fix Ordering of Port Allowed Address Pairs (#10250)
This commit changes allowed_address_pairs from a TypeList to a TypeSet
allowing for arbitrary ordering. This solves the issue where a user
specifies an address pair one way and OpenStack returns a different
order.
2016-12-05 15:36:37 +00:00
John Engelman 243ecf3b4f [Provider] Rancher (#9173)
* Vendor Rancher Go library.

* Implement Rancher Provider.

Starting implementation taken from
https://github.com/platanus/terraform-provider-rancher

Commits from jidonoso@gmail.com and raphael.pinson@camptocamp.com
2016-12-05 15:29:41 +00:00
stack72 9ffb39b44e
Merge branch 'master' of github.com:hashicorp/terraform 2016-12-05 15:07:13 +00:00
stack72 63aa6a1fcd
provider/azurerm: removing azurerm_virtual_machine data_disk disk_size_in_gb 2016-12-05 15:05:21 +00:00
Clint e477658832 Merge pull request #10473 from hashicorp/f-aws-lightsail-instance
provider/aws: Add Lightsail Instance
2016-12-05 08:39:17 -06:00
stack72 f7aea2f447
Merge branch 'master' of https://github.com/ckarlsen84/terraform into ckarlsen84-master 2016-12-05 14:23:26 +00:00
Daniel del Castillo 08da905374 aws-emr-cluster: Assign correct number of core instances (n-1) on update (#10529) 2016-12-05 14:17:29 +00:00
Evgeny Chuvpilo 8586e323dc
provider/aws: Add support for termination protection and autotermination to EMR. 2016-12-05 13:54:00 +00:00
Mitchell Hashimoto e014cf3d83 providers/aws: cloudfront distribution 404 should mark as gone (#10281) 2016-12-05 13:31:05 +00:00
Brendan Shaklovitz 122e2f8170 provider/datadog: Improve datadog timeboard support (#10027)
* Update to latest version of go-datadog-api

* Updates to  latest go-datadog-api version, which adds more complete
timeboard support.

* Add more complete timeboard support

* Adds in support for missing timeboard fields, so now we can have nice
things like conditional formats and more.

* Document new fields in datadog_timeboard resource

* Add acceptance test for datadog timeboard changes
2016-12-05 13:16:47 +00:00
Kit Ewbank 26d0525e82 Add new aws_vpc_endpoint_route_table_association resource (#10137)
* Add new aws_vpc_endpoint_route_table_association resource.

This commit adds a new resource which allows to a list of route tables to be
either added and/or removed from an existing VPC Endpoint. This resource would
also be complimentary to the existing `aws_vpc_endpoint` resource where the
route tables might not be specified (not a requirement for a VPC Endpoint to
be created successfully) during creation, especially where the workflow is
such where the route tables are not immediately known.

Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>

Additions by Kit Ewbank <Kit_Ewbank@hotmail.com>:

* Add functionality
* Add documentation
* Add acceptance tests
* Set VPC endpoint route_table_ids attribute to "Computed"

* Changes after review - Set resource ID in create function.

* Changes after code review by @kwilczynski:
* Removed error types and simplified the error handling in 'resourceAwsVPCEndpointRouteTableAssociationRead'
* Simplified logging in 'resourceAwsVPCEndpointRouteTableAssociationDelete'
2016-12-05 12:55:37 +00:00
Michael Kuzmin 05145dba19 provider/docker: Upload files into container before first start (#9520)
* Create uploads section for docker containers

* Upload a single file, load its content from state
2016-12-05 11:06:34 +00:00
Paddy e1a5805833 Fix instance/template metadata support
Update our instance template to include metadata_startup_script, to
match our instance resource. Also, we've resolved the diff errors around
metadata.startup-script, and people want to use that to create startup
scripts that don't force a restart when they're changed, so let's stop
disallowing it.

Also, we had a bunch of calls to `schema.ResourceData.Set` that ignored
the errors, so I added error handling for those calls. It's mostly
bundled with this code because I couldn't be sure whether it was the
root of bugs or not, so I took care of it while addressing the startup
script issue.
2016-12-05 02:45:28 -08:00
Otto Jongerius 5a4578edf6 provider/datadog #9026: Make thresholds optional. (#10526) 2016-12-05 09:52:59 +00:00
Ninir c250c10d4e Force the master username & password to be defined when not in a restore mode 2016-12-04 19:04:26 +01:00
Joe Topjian b2f9a3a6fd provider/openstack: Detect Region for Importing Resources (#10509)
* provider/openstack: Detect Region for Importing Resources

This commit changes the way the OpenStack region is detected and set.
Any time a region is required, the region attribute will first be
checked. Next, the OS_REGION_NAME environment variable will be checked.
While schema.EnvDefaultFunc handles this same situation, it is not
applicable when importing resources.

* provider/openstack: No longer ignore region in importing tests

* provider/openstack: Network and Subnet Import Fixes

This commit fixes the OpenStack Network and Subnet resources so that
importing of those resources is successful.
2016-12-04 14:24:07 +00:00
clint shryock 44ffe71695 provider/aws: Add Lightsail Instance
Adds initial support for AWS Lightsail Instances
2016-12-02 16:35:57 -06:00
Ninir 615da28b6e provider/aws: Fixed Lambda environment removal 2016-12-02 14:36:55 +01:00
Ninir 1d090eb1ab provider/aws: Added s3 bucket region attribute management (#10482) 2016-12-02 14:22:47 +02:00
Jan Schumann 2e83eb1cfe fix #9104 (#10394) 2016-12-02 13:53:06 +02:00
Jan Schumann b8caddda21 provider/aws resource_aws_opsworks_application does not accept document_root parameter (#10477)
* switched to stack in vpc

* validate also on update

* validate attributes based on app type
2016-12-02 13:45:10 +02:00
Dana Hoffman 0e03f59e4a remove loadBalancingScheme as an option in RegionBackendService since it can only be INTERNAL 2016-12-01 12:27:36 -08:00
Dana Hoffman fd2b1fcbd6 add one more test for updating a health check 2016-12-01 12:27:35 -08:00
Dana Hoffman 77f0ef4fc1 fix bugs in health check and its tests 2016-12-01 12:27:35 -08:00
Dana Hoffman 20ee56be07 Add the other HealthCheck types 2016-12-01 12:27:34 -08:00
Dana Hoffman adafa722e7 clean up RegionBackendService and tests 2016-12-01 12:27:34 -08:00
Dana Hoffman 39809fca76 use v1 apis instead of beta 2016-12-01 12:27:33 -08:00
Dana Hoffman a04ed894d1 First set of changes to enable internal load balancing using beta apis 2016-12-01 11:14:21 -08:00
Paddy 7054fdfa13 providers/google: make projects importable.
This change doesn't make much sense now, as projects are read-only
anyways, so there's not a lot that importing really does for you--you
can already reference pre-existing projects just by defining them in
your config.

But as we discussed #10425, this change made more and more sense. In a
world where projects can be created, we can no longer reference
pre-existing projects just by defining them in config. We get that
ability back by making projects importable.
2016-12-01 10:38:27 -08:00
Paddy 973a46c5df Merge pull request #10387 from bpineau/google_session_affinity
provider/google: allow session affinity for compute_backend_service
2016-12-01 10:18:27 -08:00
Paul Stack ac257b8048 provider/aws: Fix aws_iam_role_test config (#10464)
```
% make testacc TEST=./builtin/providers/aws
% TESTARGS='-run=TestAccAWSRole_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2016/12/01 17:17:31 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSRole_
-timeout 120m
=== RUN   TestAccAWSRole_basic

--- PASS: TestAccAWSRole_basic (15.38s)
=== RUN   TestAccAWSRole_namePrefix
--- PASS: TestAccAWSRole_namePrefix (14.89s)
=== RUN   TestAccAWSRole_testNameChange
--- PASS: TestAccAWSRole_testNameChange (34.43s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws64.729s
```
2016-12-01 18:22:05 +02:00
stack72 4e0ebfde3f
provider/aws: removal of the duplicate import aws_iam_instance_profile test 2016-12-01 16:55:53 +02:00
stack72 a4dba89553
provider/aws: Fixing the broken build of the aws_iam_policy resource 2016-12-01 16:50:28 +02:00
stack72 7497a295b8
provider/aws: Fixing the broken build of the aws_iam_role resource 2016-12-01 16:46:01 +02:00
stack72 8369ab44ec
provider/aws: Fixing the broken build of the aws_iam_policy resource 2016-12-01 16:44:40 +02:00
Tom Wilkie 71e8cffeea
Allow importing of aws_iam_role, aws_iam_role_policy, aws_iam_policy and aws_iam_instance_profile 2016-12-01 16:41:23 +02:00
Raymond Fallon 7b672d4656 Automatic Rollback of CodeDeploy deployments and CloudWatch Alarms for a Deployment Group (#9039)
* provider/aws: Add DeploymentRollback as a valid TriggerEvent type

* provider/aws: Add auto_rollback_configuration to aws_codedeploy_deployment_group

* provider/aws: Document auto_rollback_configuration

  - part of aws_codedeploy_deployment_group

* provider/aws: Support removing and disabling auto_rollback_configuration

  - part of aws_codedeploy_deployment_group resource
  - when removing configuration, ensure events are removed
  - when disabling configuration, preserve events in case configuration is re-enabled

* provider/aws: Add alarm_configuration to aws_codedeploy_deployment_group

* provider/aws: Document alarm_configuration

  - part of aws_codedeploy_deployment_group

* provider/aws: Support removing alarm_configuration

  - part of aws_codedeploy_deployment_group resource
  - disabling configuration doesn't appear to work...

* provider/aws: Refactor auto_rollback_configuration tests

  - Add create test
  - SKIP failing test for now
  - Add tests for build & map functions

* provider/aws: Refactor new aws_code_deploy_deployment_group tests

  - alarm_configuration and auto_rollback_configuration only
  - add assertions to deployment_group basic test
  - rename config funcs to be more easy to read
  - group public tests together

* provider/aws: A max of 10 alarms can be added to a deployment group.

  - aws_code_deploy_deployment_group.alarm_configuration.alarms
  - verified this causes test failure with expected exception

* provider/aws: Test disabling alarm_configuration and auto_rollback_configuration

  - the tests now pass after rebasing the latest master branch
2016-12-01 16:12:14 +02:00
Tom Wilkie 8029931086 Do not return a root device for instance store backed AMIs. (#9483)
* Do not return a root device for instance store backed AMIs.

* Add root EC2 instance store acceptance test.
2016-12-01 15:53:14 +02:00
Colin Woodbury a5f8352e11 Increase `aws_emr_cluster` timeout to 75 minutes (#10444) 2016-12-01 12:05:40 +02:00
Paul Stack 83abf5b16a provider/aws: Support import of aws_iam_instance_profile (#10436)
Fixes #10341

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSIAMInstanceProfile_'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2016/11/30 14:32:59 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v
-run=TestAccAWSIAMInstanceProfile_ -timeout 120m
=== RUN   TestAccAWSIAMInstanceProfile_importBasic
--- PASS: TestAccAWSIAMInstanceProfile_importBasic (20.22s)
=== RUN   TestAccAWSIAMInstanceProfile_basic
--- PASS: TestAccAWSIAMInstanceProfile_basic (18.71s)
=== RUN   TestAccAWSIAMInstanceProfile_namePrefix
--- PASS: TestAccAWSIAMInstanceProfile_namePrefix (18.58s)
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws57.535s
```
2016-12-01 09:01:15 +02:00