Commit Graph

6488 Commits

Author SHA1 Message Date
Paul Stack 210474a2a5 provider/spotinst: Disallow passing an empty user_data string (#12179)
Was missed off the merged as I didn't merge from local to master
2017-02-22 23:25:03 +02:00
Liran Polak f37800ae62 New Provider: Spotinst (#5001)
* providers/spotinst: Add support for Spotinst resources

* providers/spotinst: Fix merge conflict - layouts/docs.erb

* docs/providers/spotinst: Fix the resource description field

* providers/spotinst: Fix the acceptance tests

* providers/spotinst: Mark the device_index as a required field

* providers/spotinst: Change the associate_public_ip_address field to TypeBool

* docs/providers/spotinst: Update the description of the adjustment field

* providers/spotinst: Rename IamRole to IamInstanceProfile to make it more compatible with the AWS provider

* docs/providers/spotinst: Rename iam_role to iam_instance_profile

* providers/spotinst: Deprecate the iam_role attribute

* providers/spotinst: Fix a misspelled var (IamRole)

* providers/spotinst: Fix possible null pointer exception related to "iam_instance_profile"

* docs/providers/spotinst: Add "load_balancer_names" missing description

* providers/spotinst: New resource "spotinst_subscription" added

* providers/spotinst: Eliminate a possible null pointer exception in "spotinst_aws_group"

* providers/spotinst: Eliminate a possible null pointer exception in "spotinst_subscription"

* providers/spotinst: Mark spotinst_subscription as deleted in destroy

* providers/spotinst: Add support for custom event format in spotinst_subscription

* providers/spotinst: Disable the destroy step of spotinst_subscription

* providers/spotinst: Add support for update subscriptions

* providers/spotinst: Merge fixed conflict - layouts/docs.erb

* providers/spotinst: Vendor dependencies

* providers/spotinst: Return a detailed error message

* provider/spotinst: Update the plugin list

* providers/spotinst: Vendor dependencies using govendor

* providers/spotinst: New resource "spotinst_healthcheck" added

* providers/spotinst: Update the Spotinst SDK

* providers/spotinst: Comment out unnecessary log.Printf

* providers/spotinst: Fix the acceptance tests

* providers/spotinst: Gofmt fixes

* providers/spotinst: Use multiple functions to expand each block

* providers/spotinst: Allow ondemand_count to be zero

* providers/spotinst: Change security_group_ids from TypeSet to TypeList

* providers/spotinst: Remove unnecessary `ForceNew` fields

* providers/spotinst: Update the Spotinst SDK

* providers/spotinst: Add support for capacity unit

* providers/spotinst: Add support for EBS volume pool

* providers/spotinst: Delete health check

* providers/spotinst: Allow to set multiple availability zones

* providers/spotinst: Gofmt

* providers/spotinst: Omit empty strings from the load_balancer_names field

* providers/spotinst: Update the Spotinst SDK to v1.1.9

* providers/spotinst: Add support for new strategy parameters

* providers/spotinst: Update the Spotinst SDK to v1.2.0

* providers/spotinst: Add support for Kubernetes integration

* providers/spotinst: Fix merge conflict - vendor/vendor.json

* providers/spotinst: Update the Spotinst SDK to v1.2.1

* providers/spotinst: Add support for Application Load Balancers

* providers/spotinst: Do not allow to set ondemand_count to 0

* providers/spotinst: Update the Spotinst SDK to v1.2.2

* providers/spotinst: Add support for scaling policy operators

* providers/spotinst: Add dimensions to spotinst_aws_group tests

* providers/spotinst: Allow both ARN and name for IAM instance profiles

* providers/spotinst: Allow ondemand_count=0

* providers/spotinst: Split out the set funcs into flatten style funcs

* providers/spotinst: Update the Spotinst SDK to v1.2.3

* providers/spotinst: Add support for EBS optimized flag

* providers/spotinst: Update the Spotinst SDK to v2.0.0

* providers/spotinst: Use stringutil.Stringify for debugging

* providers/spotinst: Update the Spotinst SDK to v2.0.1

* providers/spotinst: Key pair is now optional

* providers/spotinst: Make sure we do not nullify signals on strategy update

* providers/spotinst: Hash both Strategy and EBS Block Device

* providers/spotinst: Hash AWS load balancer

* providers/spotinst: Update the Spotinst SDK to v2.0.2

* providers/spotinst: Verify namespace exists before appending policy

* providers/spotinst: Image ID will be in a separate block from now on, so as to allow ignoring changes only on the image ID. This change is backwards compatible.

* providers/spotinst: user data decoded when returned from spotinst api, so that TF compares the two states properly, and does not update without cause.
2017-02-22 22:57:16 +02:00
Seth Vargo 9d34612be0 Ignore case on protocol and allocation types (#12176) 2017-02-22 22:30:07 +02:00
Paul Stack f5a515ed68 provider/aws: Missing skip_final_snapshot on opsworks rds db instance (#12171) 2017-02-22 20:58:33 +02:00
Paul Stack 8c9bfb7bfe provider/datadog: Adding default values to datadog_monitor (#12168)
Fixes: #8055
Fixes: #10264
Fixes: #10881

We have swapped from using d.GetOk (as that func returns nil when a
default value is used) and moved to using default values that we can
pass directly to the Struct. The fact we have default values, means that
we can use d.Get which will work here

```
% make testacc TEST=./builtin/providers/datadog
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/22 18:56:03 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/datadog -v  -timeout 120m
=== RUN   TestDatadogMonitor_import
--- PASS: TestDatadogMonitor_import (8.66s)
=== RUN   TestProvider
--- PASS: TestProvider (0.00s)
=== RUN   TestProvider_impl
--- PASS: TestProvider_impl (0.00s)
=== RUN   TestAccDatadogMonitor_Basic
--- PASS: TestAccDatadogMonitor_Basic (5.68s)
=== RUN   TestAccDatadogMonitor_BasicNoTreshold
--- PASS: TestAccDatadogMonitor_BasicNoTreshold (3.13s)
=== RUN   TestAccDatadogMonitor_Updated
--- PASS: TestAccDatadogMonitor_Updated (6.41s)
=== RUN   TestAccDatadogMonitor_TrimWhitespace
--- PASS: TestAccDatadogMonitor_TrimWhitespace (3.22s)
=== RUN   TestAccDatadogMonitor_Basic_float_int
--- PASS: TestAccDatadogMonitor_Basic_float_int (5.50s)
=== RUN   TestAccDatadogTimeboard_update
--- PASS: TestAccDatadogTimeboard_update (8.35s)
=== RUN   TestValidateAggregatorMethod
--- PASS: TestValidateAggregatorMethod (0.00s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/datadog	40.954s
```
2017-02-22 19:36:59 +02:00
Erik Jansson 62aa2c583a provider/aws: New resource codepipeline (#11814)
* provider/aws: New resource codepipeline

* Vendor aws/codepipeline

* Add tests

* Add docs

* Bump codepipeline to v1.6.25

* Adjustments based on feedback

* Force new resource on ID change

* Improve tests

* Switch update to read

Since we don't require a second pass, only do a read.

* Skip tests if GITHUB_TOKEN is not set
2017-02-22 19:31:24 +02:00
Paul Stack dc7f267758 provider/azurerm: Auto base64encode virtual_machine custom data (#12164)
Reported by @sethvargo - we auto encode for AWS, we should follow a
similar pattern for Azure.

In order to escape the double encoding, we check that it's not already
encoded before encoding
2017-02-22 18:26:35 +02:00
Paul Stack 3e9b6f18f0 provider/aws: Refactor snapshot tests to always delete the snapshot (#12013)
first

//cc @radeksimko
2017-02-22 16:13:04 +02:00
Jake Champlin 757b83aeeb Merge pull request #12122 from netjunki/which-bucket-had-a-tag-value-err
aws/provider: aws_s3_bucket doesn't report bucket name when encounter…
2017-02-21 16:19:54 -05:00
Ben Lau fa77fbf4f4 tweak the output string for better readability 2017-02-21 12:51:58 -08:00
Cameron Wood 7c122604a0 provider/aws: data_aws_sns_topic (#11752)
* Initial commit of provider/aws: data_aws_sns_topic

* Pull-request fixes
2017-02-21 17:47:48 +02:00
Jake Champlin 85fdca8cbb Merge pull request #11940 from bodgit/log_destination
Add support for Amazon CloudWatch Logs PutDestination/PutDestinationPolicy
2017-02-21 08:50:03 -05:00
Ben Lau a7bbff6c1e aws/provider: aws_s3_bucket doesn't report bucket name when encountering tag value problems 2017-02-20 11:59:47 -08:00
Paul Stack 2fce519f57 provider/aws: Update of inspector_assessment_target should use ARN not (#12115)
Name

fixes: #12112

```
% make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSInspectorTarget_basic'                                                  ✚
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/20 19:08:18 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSInspectorTarget_basic -timeout 120m
=== RUN   TestAccAWSInspectorTarget_basic
--- PASS: TestAccAWSInspectorTarget_basic (33.58s)
PASS
ok  	github.com/hashicorp/terraform/builtin/providers/aws	33.607s
```
2017-02-20 20:12:17 +02:00
Evan Brown facc50d308 providers/google: google_project supports billing account (#11653)
* Vendor google.golang.org/api/cloudbilling/v1

* providers/google: Add cloudbilling client

* providers/google: google_project supports billing account

This change allows a Terraform user to set and update the billing
account associated with their project.

* providers/google: Testing project billing account

This change adds optional acceptance tests for project billing accounts.
GOOGLE_PROJECT_BILLING_ACCOUNT and GOOGLE_PROJECT_BILLING_ACCOUNT_2
must be set in the environment for the tests to run; otherwise, they
will be skipped.

Also includes a few code cleanups per review.

* providers/google: Improve project billing error message
2017-02-20 19:32:24 +02:00
Dana Hoffman 069467edc1 provider/google: Write the raw disk encryption key in the state file to avoid diffs on plan (#12068) 2017-02-20 19:28:32 +02:00
stack72 9bb678d76c
provider/aws: Only send the Owner Account to Redshift cluster if not
empty
2017-02-20 19:14:13 +02:00
stack72 ee9bcadbb9
Merge branch 'redshift-cluster-OwnerAccount' of https://github.com/jklukas/terraform into jklukas-redshift-cluster-OwnerAccount 2017-02-20 19:13:12 +02:00
Joe Topjian 8ea8588c52 provider/openstack: Image Data Source (#12097)
* vendor: Updating Gophercloud

* provider/openstack: Image Data Source

This commit adds the openstack_images_image_v2 data source which
is able to query the Image Service v2 API for a specific image.
2017-02-20 19:03:17 +02:00
Mattias Gees 20b312034a Add VRRP to allowed protocols in network ACL rules (#12107) 2017-02-20 15:05:45 +02:00
Otto Jongerius 2310316666 provider/datadog: Upgrade to Datadog API v2 (#12098)
* provider/datadog: Pulls v2 and removes v1 of library go-datadog-api.

    See https://github.com/zorkian/go-datadog-api/issues/56 for context.

    * Fixes bug in backoff implementation that decreased performance significantly.
    * Uses pointers for field types, providing support of distinguishing
        between if a value is set, or the default value for that type is
        effective.

* provider/datadog: Convert provider to use v2 of go-datadog-api.

* provider/datadog: Update vendored library.

* provider/datadog: Update dashboard resource to reflect API updates.
2017-02-20 14:48:32 +02:00
Joe Topjian 1b5694b7f4 provider/openstack: Enable HTTP Logging (#12089)
This commit adds the ability to log all requests and responses
between Terraform and the OpenStack cloud. To enable, set the
OS_DEBUG environment variable to 1.
2017-02-20 14:36:05 +02:00
Joe Topjian 6d4fc8d21a provider/openstack: Don't allow floating IP and port (#12099)
This commit adds a check to prevent a user from specifying both
a floating IP and a port on a specific network. While this
configuration is currently allowed, the Port will be chosen and
applying the configuration again will show a state mismatch. This
attempts to prevent such a misconfiguration.
2017-02-20 14:32:28 +02:00
Joe Topjian 9188a80192 provider/openstack: Updates to openstack_images_image_v2 resource
This commit has a few more fixes to the recently added
openstack_images_image_v2 resource:

* tags were changed to a Set because the OpenStack Image API does
not seem to respect ordering.
* The visibility argument was fixed.
* Acceptance tests for all updatable fields has been implemented.
* Documentation updates, including a new entry in the sidebar.
2017-02-19 21:20:29 +00:00
Joe Topjian 96d2ac21d4 provider/openstack: Fix Creation of Empty Tags
This commit fixes a bug where images would be created with empty tags.
Acceptance tests were also tidied up.
2017-02-19 18:44:42 +00:00
Joe Topjian b3b9247ad0 Merge pull request #11942 from yanndegat/master
Add resource_openstack_images_image_v2
2017-02-19 10:21:58 -07:00
Matt Dainty e141df0cd0
Seed test value names and tidy up whitespace 2017-02-18 18:53:32 +00:00
netjunki 70f1113918 provider/aws: aws_ecs_service should output service name along with error (#12072) 2017-02-18 15:59:49 +02:00
Paddy 27c185e1c9 Merge pull request #12044 from sbadia/gcs_storage_class
doc: gcs - Update storage_class documentation and tests
2017-02-17 16:13:29 -08:00
Mike Fowler bfdeae0e33 provider/google-cloud: Add maintenance window (#12042)
* provider/google-cloud: Add maintenance window

Allows specification of the `maintenance_window` within the `settings`
block. This controls when Google will restart a database in order to
apply updates. It is also possible to select an `update_track` to
relatively control updating between instances in the same project.

* Adjustments as suggested in code review.
2017-02-18 01:33:47 +02:00
clint shryock be6ae20ac1 Merge branch 'pr-8299'
* pr-8299:
  Patch up website docs
  provider/dns: DNS dynamic updates (RFC 2136)
  vendor: Capture new dependency miekg-dns
2017-02-17 17:02:37 -06:00
Paddy 672f496344 Merge pull request #12002 from hashicorp/paddy_catch_metadata_delete_error
provider/google: Check for errors when deleting project metadata.
2017-02-17 14:23:48 -08:00
Jeff Klukas 305eaf6968 Add owner_account option to aws_redshift_cluster 2017-02-17 16:40:55 -05:00
Sean Chittenden 3127998ecd Remove the AWS Access Key and Secret Access keys from the (#12061)
`consul_agent_self` data source.

Pro tip: update consul!  I was using an old branch of Consul, not
`origin/master`.
2017-02-17 13:36:38 -08:00
Traver Tischio 84308439aa provider/fastly Adds fastly response object (#12032)
* Adds basic schema for response object

* Updates based on differences in fastly response objects

* Refreshes and flattens fastly response object

* Tests fastly response object

* Adds documentation for a fastly response object
2017-02-17 10:36:05 -06:00
Clint 5353515f5b Merge pull request #12025 from hashicorp/f-fastly-optional-backend
provider/fastly: Make Backends optional if used in VCL
2017-02-17 10:23:29 -06:00
David Harris 2ab6fcc16b provider/aws: Elastic Beanstalk Application Version (#5770)
* Added new resource aws_elastic_beanstalk_application_version.

* Changing bucket and key to required.

* Update to use d.Id() directly in DescribeApplicationVersions.

* Checking err to make sure that the application version is successfully deleted.

* Update `version_label` to `Computed: true`.

* provider/aws: Updating to python solution stack

* provider/aws: Beanstalk App Version delete source

The Elastic Beanstalk API call to delete `application_version` resource
should not delete the s3 bundle, as this object is managed by another
Terraform resource

* provider/aws: Update application version docs

* Fix application version test

* Add `version_label` update test

Adds test that fails after rebasing branch onto v0.8.x. `version_label`
changes do not update the `aws_elastic_beanstalk_environment` resource.

* `version_label` changes to update environment

* Prevent unintended delete of `application_version`

Prevents an `application_version` used by multiple environments from
being deleted.

* Add `force_delete` attribute

* Update documentation
2017-02-17 17:54:07 +02:00
Jesse Szwedko 5b7e3701cb [datadog] add support for new host delay to the datadog_monitor resource (#11975)
* [datadog] Update go-datadog-api library

Involves one breaking API change. Also some `gofmt`ing.

* [datadog] Add support for new_host_delay to the datadog_monitor resource

New API parameter that Datadog added for monitors to ignore new hosts
for the specified time period in monitor evaluation.
2017-02-17 17:08:31 +02:00
Sebastien Badia e15f1628c2
doc: gcs - Update storage_class documentation and tests
`STANDARD` storage_class is now replaced by `MULTI_REGIONAL` depending
the bucket location. Same for `DURABLE_REDUCED_AVAILABILITY` replaced
by `REGIONAL`.

refs: https://cloud.google.com/storage/docs/storage-classes#standard
2017-02-17 15:59:25 +01:00
Yann DEGAT e3a6b00db0 provider/openstack: Adding Image Resource 2017-02-17 09:35:16 +01:00
Sean Chittenden 5f3b6ffdb2
Add `consul_agent_self` docs and synchronize a few missing attributes. 2017-02-16 15:10:50 -08:00
clint shryock 896d1d30fb provider/fastly: Make Fastly Service Backends optional
Backends must be defined in the config, but may optionally be declared
inside custom VCL. Here we mark Backends optional to enable that.
2017-02-16 16:22:41 -06:00
Sean Chittenden dfb86a8983
Fix a `go vet` issue re: missing arg to `fmt.Sprintf`. 2017-02-16 14:08:15 -08:00
Sean Chittenden 99d91d1f28
Chase the update to the out parameter: `s/services/service/g` 2017-02-16 13:58:08 -08:00
Sean Chittenden e7a8f25388
Push out the last of the docs and fixes for the `consul_catalog_nodes` data source. 2017-02-16 13:50:06 -08:00
Sean Chittenden 1c7a924258
Update and provide docs to the `consul_catalog_service` data source. 2017-02-16 13:50:06 -08:00
Sean Chittenden 9d06a47069
Add docs for the `consul_catalog_services` data source. 2017-02-16 13:50:06 -08:00
Sean Chittenden b7c9dedf4e
Add a `consul_catalog_services` resource that enumerates the list of services in a given Consul datacenter. 2017-02-16 13:50:06 -08:00
Sean Chittenden 4003c47c71
Remove some accidentally leaked `q.Q()` calls from earlier debugging.x 2017-02-16 13:50:06 -08:00
Sean Chittenden 59925478c3
Add a `consul_catalog_service` resource to obtain detailed information about a specific Consul service. 2017-02-16 13:50:06 -08:00