Commit Graph

4187 Commits

Author SHA1 Message Date
KOJIMA Kazunori 2476dcbcae provider/aws: Fix typo in error message (#6518) 2016-05-06 09:57:04 -05:00
David Glasser bef1b58fda provider/datadog: fix code to match schema
On Create, notify_no_data was being ignored.

On Read and Update, no_data_timeframe was being misused.

There was also a redundant read of escalation_message on Create.
2016-05-05 16:51:17 -07:00
Justin Clark 380ada1019 provider/aws: Add agent_version argument to AWS_OPSWORKS_STACK 2016-05-05 22:56:44 +01:00
clint shryock 8129c0589c provider/aws: Require cookies for Cloudfront Distributions 2016-05-05 15:44:35 -05:00
Greg Thole ebfc701265 provider/aws: AWS API Gateway request parameters json (#6501)
* Update docs with new parameters

* Add request parameters as JSON

* Update function name and error statements
2016-05-05 21:14:51 +01:00
Radek Simko e32a8c1c5b Merge pull request #6385 from Ticketmaster/use-sts-GetCallerIdentity
provider/aws: Added sts:GetCallerIdentity to GetAccountId for federated logins
2016-05-05 17:35:32 +01:00
Clint c58892485b provider/aws: Allow empty S3 config in Cloudfront Origin (#6487)
* provider/aws: Allow empty S3 config in Cloudfront Origin
2016-05-05 10:49:09 -05:00
Clint 068f6f606d provider/aws: Fix issue in upgrading AutoScaling Policy (#6440)
* provider/aws: Fix issue in upgrading AutoScaling Policy min_adjustment_steps

- Update depreciation message on min_adjustment_step
2016-05-05 10:17:54 -05:00
thetuxkeeper 83f87e3741 fixed ipv6 - changed to Computed like ipv4 (#6480) 2016-05-05 15:38:45 +01:00
Kraig Amador a23bcf2ec9 Added accountid to AWSClient and set it early in the initialization phase. We use iam.GetUser(nil) scattered around to get the account id, but this isn't the most reliable method. GetAccountId now uses one more method (sts:GetCallerIdentity) to get the account id, this works with federated users. 2016-05-05 07:02:12 -07:00
Paul Hinze b4df304b47
helper/schema: Normalize bools to "true"/"false" in diffs
For a long time now, the diff logic has relied on the behavior of
`mapstructure.WeakDecode` to determine how various primitives are
converted into strings.  The `schema.DiffString` function is used for
all primitive field types: TypeBool, TypeInt, TypeFloat, and TypeString.

The `mapstructure` library's string representation of booleans is "0"
and "1", which differs from `strconv.FormatBool`'s "false" and "true"
(which is used in writing out boolean fields to the state).

Because of this difference, diffs have long had the potential for
cosmetically odd but semantically neutral output like:

    "true" => "1"
    "false" => "0"

So long as `mapstructure.Decode` or `strconv.ParseBool` are used to
interpret these strings, there's no functional problem.

We had our first clear functional problem with #6005 and friends, where
users noticed diffs like the above showing up unexpectedly and causing
troubles when `ignore_changes` was in play.

This particular bug occurs down in Terraform core's EvalIgnoreChanges.
There, the diff is modified to account for ignored attributes, and
special logic attempts to handle properly the situation where the
ignored attribute was going to trigger a resource replacement. That
logic relies on the string representations of the Old and New fields in
the diff to be the same so that it filters properly.

So therefore, we now get a bug when a diff includes `Old: "0", New:
"false"` since the strings do not match, and `ignore_changes` is not
properly handled.

Here, we introduce `TypeBool`-specific normalizing into `finalizeDiff`.
I spiked out a full `diffBool` function, but figuring out which pieces
of `diffString` to duplicate there got hairy. This seemed like a simpler
and more direct solution.

Fixes #6005 (and potentially others!)
2016-05-05 09:00:58 -05:00
Blake Smith 8821aea945 provider/aws: Add AWS EMR dependency (#2098) (#6492) 2016-05-05 11:34:18 +01:00
Kraig Amador 1f80ec48d0 Added RDS event subscriptions (#6367) 2016-05-05 11:14:25 +01:00
stumbaumr 207fa068c6 Fixed obvious typos 2016-05-04 21:07:48 +02:00
Justin Nauman 1c691dcc68 provider/aws: Updating CloudFront distribution to set LoggingConfig if disabled (#6407)
- Addresses the issue when local state file has logging_config populated and the user
  disables the configuration via the UI (or in this case an
  application of the TF config).  This will now properly set the
  logging_config during the read operation and identify the state as
  diverging

Fixes #6390
2016-05-04 14:06:45 -05:00
Daniel 5182bf6338 missing memory reservation in deployVirtualMachine 2016-05-04 18:53:44 +02:00
Josh Taylor 983da213af provider/aws: add response parameters support to api gateway (#6344)
* provider/aws: Add support for response parameters aws_api_gateway_integration_response and aws_api_gateway_method response.

* fix spacing

* fix spacing

* gofmt

* add update test; add docs; add reimplement TODO; add field read

* resolve conflict

* fix expandAPIGatewayMethodResponse error handling
2016-05-04 11:56:18 +01:00
Justin Nauman 7f738bebd3 provider/aws: Support eventually consistent aws_security_group_rule (#6325)
* TF-6256 - SG Rule Retry

- Preferring slower but consistent runs when AWS API calls do not properly return the SG Rule in the list of ingress/egress rules.
- Testing has shown that several times that we had to exceed 20 attempts
before the SG was actually returned

* TF-6256 - Refactor of rule lookup

- Adjusting to use resource.Retry
- Extract lookup method for matching ipPermissions set
2016-05-03 17:21:04 -05:00
Sargurunathan Mohan a5825f907b Fix launch_configuration error when using ebs which is encrypted 2016-05-03 16:19:54 -05:00
danielcbright 8921e10d71 Added softlayer virtual guest and ssh keys functionality:
Here is an example that will setup the following:
+ An SSH key resource.
+ A virtual server resource that uses an existing SSH key.
+ A virtual server resource using an existing SSH key and a Terraform managed SSH key (created as "test_key_1" in the example below).

(create this as sl.tf and run terraform commands from this directory):
```hcl
provider "softlayer" {
    username = ""
    api_key = ""
}

resource "softlayer_ssh_key" "test_key_1" {
    name = "test_key_1"
    public_key = "${file(\"~/.ssh/id_rsa_test_key_1.pub\")}"
    # Windows Example:
    # public_key = "${file(\"C:\ssh\keys\path\id_rsa_test_key_1.pub\")}"
}

resource "softlayer_virtual_guest" "my_server_1" {
    name = "my_server_1"
    domain = "example.com"
    ssh_keys = ["123456"]
    image = "DEBIAN_7_64"
    region = "ams01"
    public_network_speed = 10
    cpu = 1
    ram = 1024
}

resource "softlayer_virtual_guest" "my_server_2" {
    name = "my_server_2"
    domain = "example.com"
    ssh_keys = ["123456", "${softlayer_ssh_key.test_key_1.id}"]
    image = "CENTOS_6_64"
    region = "ams01"
    public_network_speed = 10
    cpu = 1
    ram = 1024
}
```

You'll need to provide your SoftLayer username and API key,
so that Terraform can connect. If you don't want to put
credentials in your configuration file, you can leave them
out:

```
provider "softlayer" {}
```

...and instead set these environment variables:

- **SOFTLAYER_USERNAME**: Your SoftLayer username
- **SOFTLAYER_API_KEY**: Your API key
2016-05-03 15:58:58 -05:00
Mitchell Hashimoto 109b3f5198
providers/cloudflare: use cloudflare-go
The most improtant change is using record IDs as identifiers.
2016-05-03 09:48:50 -07:00
Mitchell Hashimoto a7311fa68f
providers/cloudflare: record can manage apex records
Apex records must be created by specifying "@" as the name, but this
caused Refresh and Delete errors.
2016-05-03 09:48:50 -07:00
Paul Stack 501c05d0f7 provider/vsphere: IPv6 support. (#6457)
IPv6 support added.

We support 1 IPv6 address per interface. It seems like the vSphere SDK supports more than one, since it's provided as a list.
I can change it to support more than one address. I decided to stick with one for now since that's how the configuration parameters
had been set up by other developers.

The global gateway configuration option has been removed. Instead the user should specify a gateway on NIC level (ipv4_gateway and ipv6_gateway).

For now, the global gateway will be used as a fallback for every NICs ipv4_gateway.
The global gateway configuration option has been marked as deprecated.
2016-05-03 18:27:24 +02:00
thetuxkeeper bb73c74414 provider/vsphere: added update function with support for vcpu and memory (#6356)
* added update function with support for vcpu and memory

* waiting for vmware tools redundant with WaitForIP

* proper error handling of PowerOn task

* added test cases for update memory and vcpu

* reboot flag
2016-05-03 17:58:33 +02:00
Joe Topjian 8f2b6e8127 Merge pull request #6410 from cristicalin/neutron_security_groups_v1
provider/openstack: implement neutron security groups and rules
2016-05-03 08:18:41 -06:00
Cristian Calin 6fe82696d2 provider/openstack: Neutron security group resources
this implements two new resource types:
* openstack_networking_secgroup_v2 - create a neutron security group
* openstack_networking_secgroup_rule_v2 - create a newutron security
  group rule
Unlike their nova counterparts the neutron security groups allow a user
to specify the target tenant_id allowing a cloud admin to create per
tenant resources.
2016-05-03 09:18:48 +00:00
Clint d5f0fc22fd provider/aws: Improve error handling in IAM Server Certificates (#6442)
* provider/aws: Improve error handling in IAM Server Certificates

* rename test, add additional empty check
2016-05-02 15:36:50 -05:00
Davide Agnello e086f6d754 Adding File Resource for vSphere provider
* Adding File Resource for vSphere provider

Allows for file upload to vSphere at specified location.  This also
includes update for moving or renaming of file resources.

* Ensuring required parameters are provided
2016-05-02 22:25:35 +02:00
Clint c2f7a0cc60 provider/aws: Fix issue replacing Network ACL Relationship if Subnet has already (#6421) 2016-05-02 09:45:11 -05:00
James Nugent 6913754191 provider/docker: don't crash with empty commands
If any of the entries in `commands` on `docker_container` resources was
empty, the assertion to string panic'd. Since we can't use ValidateFunc
on list elements, we can only really check this at apply time. If any
value is nil (resolves to empty string during conversion), we fail with
an error prior to creating the container.

Fixes #6409.
2016-04-29 18:54:45 -05:00
James Nugent aba5049bcd Merge pull request #6403 from Ticketmaster/BROKEN_MASTER
Fixing the broken Test with Master branch
2016-04-29 17:36:07 -05:00
James Nugent 66e7a0bfbb provider/librato: Use metric name created by agent
This allows the acceptance tests for librato to pass.
2016-04-29 16:27:51 -05:00
Henrik Hodne 8f07a2d6d5 provider/librato: Add Librato provider 2016-04-29 14:49:55 -05:00
James Nugent 43837fd438 Merge pull request #6418 from asteris-llc/f-triton-nic
provider/triton: Add NICs to triton_machine resources
2016-04-29 14:06:00 -05:00
James Nugent 0f3237a91b Merge pull request #6383 from Ticketmaster/aws-tests-with-token
Allow running tests when AWS_PROFILE is set, needed for STS users
2016-04-29 13:26:07 -05:00
James Nugent 9c85c2ed47 Merge pull request #6355 from godmodelabs/vsphere-disable-customization
provider/vsphere: Add setting to skip customization
2016-04-29 13:06:02 -05:00
Andy Chan cd69404fbc Fixing the broken test 2016-04-29 10:11:42 -07:00
Brian Hicks a4eb8452eb
remove debug statements from test 2016-04-29 10:22:49 -05:00
dkalleg 6e5da78f79 Fixing hard disk path when specifying only size (#6400)
We were passing in a disk path of `[datastore] `, which the createDisk
call would create a file named `.vmdk` on the datastore, which is not
the expected behavior.  This make sure that if the user did not pass in
a vmdk path, that we call CreateDisk with an empty string like it
expects.
2016-04-29 00:44:30 +01:00
Clint a4407d9af7 provider/fastly: Add S3 Log Streaming to Fastly Service (#6378)
* provider/fastly: Add S3 Log Streaming to Fastly Service

Adds streaming logs to an S3 bucket to Fastly Service V1

* provider/fastly: Bump go-fastly version for domain support in S3 Logging
2016-04-28 10:36:25 -05:00
Daniel 5dbc4687a3 added skip_customization setting 2016-04-28 14:36:25 +02:00
Paul Stack a9b738f00c provider/aws: Removal of duplicate error handling code in cloudwatch_log_group
cloudwatch_log_group
2016-04-28 13:12:47 +01:00
Paul Stack c12a31e1b0 provider/aws: Fix Read of AWS CloudWatch Log when Update was called (#6384)
Fixes #6169

The Update func was hitting a return err and when the err was empty, it
was skipping over the subsequent read func
2016-04-28 00:02:33 +01:00
Justin Nauman 495c4b3dbc provider/aws - CloudFront custom_error_response fixes for missing (#6382)
* provider/aws - CloudFront custom_error_response fixes for missing

- Omit custom_error_response response_* fields when not explicitly set via config for
SDK call
- Adding a test case to ensure that the response_error gets converted
to an empty string properly, versus "0". (Thanks @vancluever)

Fixes #6342

* - Fixing ACC test case resource names
2016-04-28 00:00:21 +01:00
Kraig Amador dd77bf68da Fixed up some confusion between AWS_TOKEN and AWS_PROFILE. Also allowing testing when AWS_PROFILE is set without AWS_SECRET_ACCESS_KEY and AWS_ACCESS_KEY_ID. 2016-04-27 14:18:20 -07:00
Paul Stack ee3d89a4cd provider/aws: refresh state on SQS Queue not found (#6381)
When an SQS queue was deleted from the AWS Console, an error was thrown
to say that the Queue could not be found. This is now fixed to remove
the queue from the state on a specific not found exception
2016-04-27 20:07:34 +01:00
Radek Simko 0a8ea049ef Merge pull request #5030 from TimeIncOSS/account_check
provider/aws: Allow account ID checks on EC2 instances & w/ federated accounts
2016-04-27 21:07:15 +02:00
Radek Simko 7642fa05a8 Merge pull request #5893 from TimeIncOSS/b-aws-api-gateway-fields
provider/aws: Respect 'selection_pattern' in api_gateway_integration_response
2016-04-27 20:46:29 +02:00
James Nugent e0f1283ee4 Merge pull request #6380 from hashicorp/b-azure-asm-acctests
provider/azure: Randomize DNS Server acctest names
2016-04-27 12:24:37 -05:00
James Nugent f23514c0a9 provider/azure: Randomize DNS Server acctest names
This commit should fix the following acceptance test failures:

=== RUN   TestAccAzureDnsServerBasic
--- FAIL: TestAccAzureDnsServerBasic (2.17s)
	testing.go:172: Step 0 error: Error applying: 1 error(s) occurred:

        * azure_dns_server.foo: Failed issuing update to network
          configuration: Error response from Azure. Code: BadRequest,
          Message: Multiple DNS servers specified with the same name
          'terraform-dns-server'.
=== RUN   TestAccAzureDnsServerUpdate
--- FAIL: TestAccAzureDnsServerUpdate (2.04s)
        testing.go:172: Step 0 error: Error applying: 1 error(s) occurred:

        * azure_dns_server.foo: Failed issuing update to network
          configuration: Error response from Azure. Code: BadRequest,
          Message: Multiple DNS servers specified with the same name
          'terraform-dns-server'.
2016-04-27 12:12:53 -05:00
Alexander Simmerl 251075564a provider/cloudflare: Add proxied option (#5508)
This change adds the support for the proxied configuration option for a
record which enables origin protection for CloudFlare records.

In order to do so the golang library needed to be changed as the old did
not support the option and was using and outdated API version.

Open issues which ask for this (#5049, #3805).
2016-04-27 18:04:07 +01:00
dkalleg 6f62248471 Add functionality to specify and mount vmdks (#6146)
User may specify a vmdk in their disk definition.
The options size, template, and vmdk are considered
to be mutually exclusive. User may also set whether each disk
associated with the vm should try to boot after creation.
Todo: Enforce mutual exclusivity, validate the bootable_vmdk_path
2016-04-27 17:22:22 +01:00
Xavier Sellier e4a1d21a4b Provider Docker: (#6376)
- Add option keep_locally
- Add unit test
- Add documentation
2016-04-27 17:18:02 +01:00
Clint 813f2ca708 provider/fastly: Update Gzip handling with new go-fastly (#6334)
* provider/fastly: Bump to latest go-fastly

* provider/fastly: Update Gzip handling with new go-fastly
2016-04-27 10:46:20 -05:00
Paul Hinze de13281ee6 provider/aws: fix potential aws_route crash (#6338)
The "find route in table" helper code was not properly handling routes
with no destination CIDR block - like vpc_endpoint routes - so if one of
those routes would come up before the target route in the loop, we'd get
a crash.

Fixes #6337
2016-04-27 13:10:40 +01:00
Mike Ball 02bbe18635 comment grammar/spelling fix (#6373) 2016-04-27 13:10:05 +01:00
Radek Simko e3ade6a784 provider/aws: Add support for api_gateway_account (#6321) 2016-04-27 13:08:59 +01:00
Colin Hebert f1f602cdf6 aws: Enable account ID check for assumed roles + EC2 instances 2016-04-27 12:56:03 +02:00
Radek Simko d9f327c282 provider/aws: Read aws_api_gateway_integration_response fields back 2016-04-27 11:45:52 +02:00
Radek Simko 70242c2e6d provider/aws: Respect 'selection_pattern' in api_gateway_integration_response
- Fixes https://github.com/hashicorp/terraform/issues/5891
2016-04-27 11:45:52 +02:00
Radek Simko 5210e1127e provider/aws: Add regression test for #5891 2016-04-27 11:35:01 +02:00
David Harris 635fced8b4 provider/aws: Fixes issue where an update for an `aws_elastic_beanstalk_environment ` resource would ignore the `wait_for_ready_timeout` option. 2016-04-26 22:05:20 +01:00
David Harris 9ab2447b0b provider/aws: Elastic Beanstalk Environment update configuration template name changes (#6342)
* Updated `aws_elastic_beanstalk_environment` to update environment when the `template_name` attribute has a change. Consildated update functions to use a single update call and added state change conf to wait until environment is in a "Ready" state.

* Adding tests for `aws_elastic_beanstalk_configuration_template` use with the `aws_elastic_beanstalk_environment` resource.

* Verifies option settings from an `aws_elastic_beanstalk_configuration_template` resource are applied to the associated `aws_elastic_beanstalk_environment` resource
* Verifies updated name of an `aws_elastic_beanstalk_configuration_template` resource triggers an update for the associated `aws_elastic_beanstalk_environment` resource
* Verifies that option settings set in the `aws_elastic_beanstalk_environment` resource override settings in the `aws_elastic_beanstalk_configuration_template` resource
2016-04-26 11:15:46 +01:00
Milan Karalic bff9e78ff9 Initial role documentation (#6302)
Updating links to the official doc
Fixing typo in VMware corp name
2016-04-26 00:14:11 +01:00
Paul Stack 2d2c0b2068 provider/aws: Fix `aws_redshift_cluster` number_of_nodes update (#6333)
Currently, the number of nodes was broken due to not passing the
node_type with the update. This PR adds the correct parameters and a
test to prove this works as expected
2016-04-25 23:00:57 +01:00
Paul Stack 5f874c9487 provider/aws: Extends the `aws_elasticache_cluster` validation (#6332)
The validation as part of #6330 was only for length. This PR adds the
rules for alphanumeric, not having -- within, not ending with a - and
that the id must start with a letter.

The PR also adds tests for these rules
2016-04-25 21:44:55 +01:00
lian a443144c89 provider-aws: validate cluster_id length for aws_elasticache_cluster (#6330) 2016-04-25 20:53:31 +01:00
John Bresnahan 7a4bf6ae47 Azure does not allow CDN ports to be 0 (#6329)
The azure tests relating to cdn endpoints (TestAccAzureRMCdnEndpoint_basic
etc) are breaking because ARM is not accepting port values of 0.  The
following error is received:

statusCode:BadRequest
statusMessage:{"error":{"code":"BadRequest","message":"Invalid port \"0\". Port value must be a number between 1 and 65535."}}

This patch sets the ports for example.com to 443 and 80.
2016-04-25 19:15:14 +01:00
Clint 9ffe792de9 Merge pull request #6328 from hashicorp/b-aws-kms-alias-fix
provider/aws: Use ID in lookup for AWS KMS Aliases
2016-04-25 11:53:27 -05:00
clint shryock e138a0756b provider/aws: Use ID in lookup for AWS KMS Aliases 2016-04-25 10:54:26 -05:00
Felivel Camilo ae38ef2e01 provider/azurerm: Make ARM template timeout 40m
Template deployments with multiple extensions can last more than 10
minutes. Fixing that by increasing the timeout to 40 minutes.
2016-04-25 10:29:50 -05:00
Radek Simko d31a6ac47f provider/aws: Add support for api_gateway_authorizer (#6320) 2016-04-25 12:22:37 +01:00
Takaaki Furukawa a9a607d67f provider/vsphere: Add support for memory reservation (#6036) 2016-04-25 12:15:37 +01:00
clint shryock 6cfb6c11b1 provider/aws: Use KMS ARN in S3 Bucket test 2016-04-22 15:10:34 -05:00
Clint 8f90078cd5 Merge pull request #6307 from hashicorp/b-aws-beanstalk-options-set-fix
provider/aws: Fix issue updating ElasticBeanstalk Configuraiton Templates
2016-04-22 12:07:06 -05:00
clint shryock 53988df7d1 provider/aws: Fix issue updating ElasticBeanstalk Configuraiton Templates 2016-04-22 12:06:40 -05:00
Mitchell Hashimoto d85df63526
providers/aws: aws_instance id-only 2016-04-22 09:37:41 -07:00
Cameron Stokes a7c24835d7 provider/aws: increase timeout for aws_redshift_cluster (#6305)
* provider/aws: increase timeout for aws_redshift_cluster

* provider/aws: increase timeout for redshift updates too
2016-04-22 10:42:22 -05:00
Sander van Harmelen 0654670531 Merge pull request #6282 from svanharmelen/f-improve-project-support
provider/cloudstack: improve project support
2016-04-22 15:31:57 +02:00
Sander van Harmelen 5a65cc9cb6 Use the new functionality offered by the `go-cloudstack` package
The updated functionality offers a new means to work with projects.
This commit uses that new functionality for the `cloudstack_network`
resource.
2016-04-22 12:23:47 +02:00
Mitchell Hashimoto dd402a3ba1
providers/aws: elb id-only 2016-04-21 22:26:52 -07:00
Mitchell Hashimoto c1509b0220
providers/aws: eip id-only 2016-04-21 22:17:14 -07:00
Mitchell Hashimoto f394ce1ef3
provider/aws: ebs_volume id-only tests 2016-04-21 21:49:17 -07:00
Mitchell Hashimoto f0511631bf
provider/aws: id-only refresh for autoscaling groups 2016-04-21 21:36:52 -07:00
Paul Stack 6ac312e682 provider/aws: Set the state of `cross_zone_load_balancing` during the read func (#6295)
Changes made manually to the ELB property were not being set and
Terraform was reporting now changes to infra was to be made on refresh
2016-04-22 01:47:19 +01:00
Paul Stack fb1a82dbd7 provider/aws: Refresh state on Directory Service not found (#6294)
When a directory service was not found, Terraform was panicking due to
`dir := out.DirectoryDescriptions[0]`. The AWS API doesn't throw an
Error in this case. IT just return s0 results. Therefore, we should
check for 0 results in the return and remove the directory from the
state
2016-04-22 01:13:04 +01:00
James Nugent c90718d1ac provider/azurerm: Error on bad creds and speed++ (#6290)
This commit uses Riviera to register the Microsoft.Compute provider as a
canary for whether or not the Azure account credentials are set up. It
used to use the MS client, but that appeared to panic internally if the
credentials were bad. It's possible that we were using it wrong, but
there are no docs so ¯\_(ツ)_/¯.

As part of this, we parellelise the registration of the other providers.
This shaves the latency of each provider request times the number of
providers minus 1 off the "startup" time of the AzureRM provider. The
result is quite noticeable.
2016-04-22 00:50:47 +01:00
Paul Stack e213839e58 provider/vsphere: Fix missing ssh connection info (#6293) 2016-04-22 00:07:52 +01:00
James Nugent 5b1b49e2b7 Merge pull request #4243 from kristinn/vsphere-cdrom-support
vSphere: Support mounting ISO images to virtual cdrom drives.
2016-04-21 15:50:12 -07:00
Mitchell Hashimoto 0083431077
provider/aws: fix name on id-only check 2016-04-21 13:58:56 -07:00
Mitchell Hashimoto f2d91f0c2b
providers/aws: route53_health_check id-only 2016-04-21 13:50:03 -07:00
Mitchell Hashimoto 2274bb8c4a
provider/aws: route53 record import 2016-04-21 13:50:03 -07:00
Mitchell Hashimoto 6f091efd9b
providers/aws: route53_zone fix importing id-only private zone 2016-04-21 13:50:03 -07:00
Justin Clark f430fe280a Fix issue with with Opsworks and empty Custom Cook Book sources (#6078)
* Remove computed value on opsworks update

* Adjust PR 6078 per catsby's request
2016-04-21 13:59:40 -05:00
aheeren db558ddc6b Checking for powered off state before deletion (#6283) 2016-04-21 17:27:36 +01:00
Mitchell Hashimoto b1c215f5e2
providers/aws: route53_zone id-only refresh 2016-04-21 08:53:53 -07:00
Mitchell Hashimoto 8b4e98e732
providers/aws: some id-only work on s3 buckets more work needed 2016-04-21 08:44:45 -07:00
Mitchell Hashimoto 7292c9df25
providers/aws: remove the opt-out stuff for id-only 2016-04-21 08:37:08 -07:00
Mitchell Hashimoto 3a43ce8f8e
providers/aws: sns_topic id-only 2016-04-21 08:18:04 -07:00
Clint bc68dee2eb provider/aws: Fix crash in AWS S3 Bucket when website index/error is empty (#6269) 2016-04-21 08:07:01 -05:00
Cedric Brandily 94d3ed08c7 provider/openstack: Support client certificates
Official OpenStack clients commonly support specifing a client
certificate/key to enable SSL client authentication when communicating
with OpenStack services. This patch enables such feature in Terraform
with new parameters and environment variables:

* 'cert' provider parameter or OS_CERT env variable to specify client
   certificate file,
* 'key' provider parameter or OS_KEY env variable to specify client
   certificate private key file.
2016-04-21 09:43:11 +00:00
Mitchell Hashimoto 7878cf327f
providers/aws: aws_sqs_queue isn't going to work for id-only 2016-04-20 18:07:50 -07:00
Mitchell Hashimoto 3013d1d2d1
provider/aws: customer gateway has to parse bgn_asn as int 2016-04-20 17:59:19 -07:00
Mitchell Hashimoto 0722f0b138
provider/aws: aws_flow_log id-only 2016-04-20 17:45:57 -07:00
Mitchell Hashimoto 54e119d32d
provider/aws: internet gateway id-only 2016-04-20 17:38:04 -07:00
Mitchell Hashimoto 2754691d2e
providers/aws: nat gateway fixes for id only refresh 2016-04-20 17:36:16 -07:00
Mitchell Hashimoto 10e4147d00
providers/aws: nat gateway id-only 2016-04-20 17:16:37 -07:00
Mitchell Hashimoto fc07b6315c
providers/aws: network_acl id-only 2016-04-20 17:10:01 -07:00
Mitchell Hashimoto 6887aad1c2
providers/aws: eni id-only 2016-04-20 16:57:17 -07:00
Mitchell Hashimoto 87537ea605
providers/aws: route table id only 2016-04-20 16:48:43 -07:00
Paul Stack dd37b19809 provider/triton: Change the triton tests to run against joyent us-west-1 (#6271) 2016-04-21 00:46:45 +01:00
Mitchell Hashimoto c5c3de4f01
providers/aws: classic SG test should test classic 2016-04-20 16:44:57 -07:00
Mitchell Hashimoto a44c547986
providers/aws: security group id-only 2016-04-20 16:42:00 -07:00
Patrick Sodré 33d4c44292 Fixes time out when applying updates to Triton machine metadata. (#6149)
* Add Triton Metadata modification AccTest.

The test starts the basic machine and then adds the metadata field
user_data.
Test fails if the user_data field does not match what we expect
OR it times out.

Related to hashicorp/terraform#6148

* Fix the non-convergence of Triton metadata changes

The code waiting for the entire Machine Metadata to "deep equal" the Terraform
metadata modifications. These two sets will only be the same if the user
changes all metadata fields of the resource before calling `apply`.

Closes hashicorp/terraform#6148
2016-04-21 00:14:06 +01:00
Kristinn Örn Sigurðsson a67fa662bf vSphere: Support mounting ISO images to virtual cdrom drives.
It can come in handy to be able to mount ISOs programmatically.
For instance if you're developing a custom appliance (that automatically installs itself on the hard drive volume)
that you want to automatically test on every successful build (given the ISO is uploaded to the vmware datastore).

There are probably lots of other reasons for using this functionality.
2016-04-20 21:58:18 +02:00
Mitchell Hashimoto c682dece84
providers/aws/vpn_gateway id-only refresh 2016-04-20 12:41:20 -07:00
Mitchell Hashimoto 9e65c30707
providers/aws/vpn_connection id-only refresh 2016-04-20 12:41:20 -07:00
Joe Topjian 3d6ea5e67d Merge pull request #6267 from jtopjian/openstack-lbmember-asu-fix
provider/openstack: Fix admin_state_up on openstack_lb_member_v1
2016-04-20 13:34:36 -06:00
Mitchell Hashimoto 0f91b30f64
providers/aws/vpc_peering: don't run id-only on plan test 2016-04-20 12:21:08 -07:00
Mitchell Hashimoto ff7b58f032
providers/aws: peering connection id-only test settings 2016-04-20 12:19:21 -07:00
Joe Topjian 62a744a45e provider/openstack: Fix admin_state_up on openstack_lb_member_v1
admin_state_up was never being passed to a load balancing member
during creation.
2016-04-20 19:11:48 +00:00
Mitchell Hashimoto 60103c083a
providers/aws: working on id-only tests, no bugs found in these
resources
2016-04-20 12:10:53 -07:00
Josh Myers 3be66aa9ed Add cloudwatch_logs_subscription_filter provider (#5996) 2016-04-20 20:05:21 +01:00
Matt Moyer 22c3db5c80 provider/fastly: fix the description for "weight" on fastly_service_v1. (#6261)
This description is essentially copied from the Fastly dashboard.
2016-04-20 20:01:44 +01:00
Clint 46f3a17b5b provider/fastly: Add Gzip rule support (#6247)
* vendor: Update go-fastly

* provider/fastly: Add basic Gzip support

* add flattengzip tests
2016-04-20 13:43:54 -05:00
Mitchell Hashimoto 0ef1b3b84a
providers/aws: response value for DescribeVpcAttribute needs to be
.Value
2016-04-20 11:35:43 -07:00
Mitchell Hashimoto 35f4201b9e
providers/aws: instance_tenancy is computed, set 2016-04-20 10:48:22 -07:00
Mitchell Hashimoto cfa5a3fe58
Revert "providers/aws: vpc refresh sets instance_tenancy"
This reverts commit a6d9e343ec.
2016-04-20 10:38:48 -07:00
Mitchell Hashimoto a6d9e343ec
providers/aws: vpc refresh sets instance_tenancy 2016-04-20 10:36:28 -07:00
Joe Topjian 1047df948c Merge pull request #6224 from jtopjian/openstack-mitaka-patches
provider/openstack: OpenStack Mitaka Patches
2016-04-20 08:04:55 -06:00
Joe Topjian e2d0065611 Merge pull request #6207 from drebes/master
provider/openstack: static routing entries for routers
2016-04-20 08:03:24 -06:00
KOJIMA Kazunori 5e33517394 provider/aws: Add support S3 Object Lifecycle Rule (#6220)
* providers/aws: Add support S3 Object Lifecycle Rule

* Fix failed vet command

* Fix failed acceptance tests

* Check nil pointer before dereference.

* Move S3 lifecycle rule id validator func to validators.go

* Don't fail when get lifecycle rule's response code is 404
2016-04-20 11:16:14 +01:00
Rev. C. Bennett Hoffman e108275331 Use resource.Retry for route creation and deletion (#6225)
* Use resource.Retry for route creation and deletion

* Remove uneeded out var in resource_aws_route.go
2016-04-19 17:23:42 -05:00
Chris Marchesi 6ebac8403d provider/aws: CloudFront post-merge review updates (#6196)
* provider/aws: Fix hashing on CloudFront certificate parameters

Adding necessary type assertion to values on the viewer_certificate hash
function to ensure that certain fields are indeed not zero string
values, versus simply zero interface{} values (aka nil, as is such for a
map[string]interface{}).

* provider/aws: CloudFront complex structure error handling

Handle errors better on calls to d.Set() in the
aws_cloudfront_distribution, namely in flattenDistributionConfig(). Also
caught a bug in the setting of the origin attribute, was incorrectly
attempting to set origins.

* provider/aws: Pass pointers to set CloudFront primitives

Change a few d.Set() for primitives in aws_cloudfront_distribution and
aws_cloudfront_origin_access_identity to use the pointer versus a
dereference.

* docs: Fix CloudFront examples formatting

Ran each example thru terraform fmt to fix indentation.

* provider/aws: Remove delete retention on CloudFront tests

To play better with Travis and not bloat the test account with disabled
distributions.

Disable-only functionality has been retained - one can enable it with
the TF_TEST_CLOUDFRONT_RETAIN environment variable.

* provider/aws: CloudFront delete waiter error handling

The call to resourceAwsCloudFrontDistributionWaitUntilDeployed() on
deletion of CloudFront distributions was not trapping error messages,
causing issues with waiter failure.
2016-04-19 16:40:30 -05:00
Roberto Jung Drebes 65987a4b28 static routing entries for routers 2016-04-19 21:26:09 +00:00
Sander van Harmelen b53d0d29c8 Merge pull request #6251 from svanharmelen/b-go-cloudstack
Update to latest `go-cloudstack` package to fix issue #6101
2016-04-19 23:21:46 +02:00
Sander van Harmelen 41b99a4ebc Update to latest `go-cloudstack` package to fix issue #6101 2016-04-19 22:48:57 +02:00
Paul Stack 8335555636 Gofmt issues (#6246) 2016-04-19 20:41:26 +01:00
David Harris b78f4c1114 provider/aws: Added migration for `tier` attribute in aws_elastic_beanstalk_environment resource. (#6167)
Fixes #6164.
2016-04-19 20:32:49 +01:00
Justin Clark 8249cb10eb Resolves DefaultOS and ConfigurationManager conflict (#6244) 2016-04-19 19:59:03 +01:00
clint shryock 6a9400d10e provider/aws: Allow 'available' state when deleting RDS Clusters 2016-04-19 13:15:45 -05:00
Brian Hicks b02ed0f3f7
triton: add nics 2016-04-19 09:42:29 -05:00
James Nugent f2fef2556a Fix import formatting across code base 2016-04-18 17:28:46 -07:00
James Nugent a0cc7115b3 deps: Update call sites of hil.Eval from update
hil.Eval() now returns (hil.EvaluationResult, error) instead of (value,
type, error). This commit updates the call sites, but retains all
previous behaviour. Tests are also updated.
2016-04-18 16:37:12 -07:00
Sander van Harmelen b04c6f9de0 Merge pull request #6226 from svanharmelen/f-cloustack-group
provider/cloudstack: add group attribute for instance resource
2016-04-18 22:45:43 +02:00
Sander van Harmelen 55d4e3cda7 Merge branch 'cloudstack-group' of https://github.com/jefflaplante/terraform into f-cloustack-group 2016-04-18 22:32:55 +02:00
Joe Topjian b70b4487bf provider/openstack: OpenStack Mitaka Patches
This commit patches a few acceptance tests in order to get them to
pass under OpenStack Mitaka.

The devstack dev environment script has also been updated to reflect
OpenStack Mitaka as well as the new Terraform dependency vendoring.
2016-04-18 19:32:29 +00:00
Clint 25f89c8756 provider/fastly: Add support for Request Headers (#6197)
* provider/fastly: Add support for managing Headers

Adds support for managing Headers in a Fastly configuration.

* update acc test

* update website with example of adding a header block
2016-04-18 11:11:16 -05:00
Clint fcdcb4b916 provider/aws: Default Network ACL resource (#6165)
* provider/aws: Default Network ACL resource

Provides a resource to manage the default AWS Network ACL. VPC Only.

* Remove subnet_id update, mark as computed value. Remove extra tag update

* refactor default rule number to be a constant

* refactor revokeRulesForType to be revokeAllNetworkACLEntries

Refactor method to delete all network ACL entries, regardless of type. The
previous implementation was under the assumption that we may only eliminate some
rule types and possibly not others, so the split was necessary.

We're now removing them all, so the logic isn't necessary

Several doc and test cleanups are here as well

* smite subnet_id, improve docs
2016-04-18 11:02:00 -05:00
clint shryock a810edd7a6 provider/aws: Randomize DB Identifier in test
Getting name collisions every now and again
2016-04-18 10:00:59 -05:00
Paul Hinze 25d4bc6f5f Merge pull request #6204 from chrislovecnm/vsphere-dev-docs
vSphere provider developer docs
2016-04-18 09:35:46 -05:00
Martin Atkins 220d73f32c provider/postgresql: default ssl_mode is "prefer"
According to the libpq documentation, "prefer" is the default in the
underlying library and so setting a different default in the Terraform
layer would be a breaking change for existing users of this provider
whose servers do not have TLS correctly configured.

The docs now link to the libpq manual's discussion of the security
implications of each of the ssl_mode options, so the user can understand
the limitations of the "prefer" default and can make an informed decision
about which setting is appropriate for their situation.
2016-04-17 08:32:02 -07:00
Martin Atkins 4954f1351f Merge #6008: PostgreSQL provider supports "ssl_mode" 2016-04-17 08:20:44 -07:00
Joe Topjian db3e731cf3 Merge pull request #6081 from jtopjian/openstack-token-auth
provider/openstack: Enable Token Authentication
2016-04-16 22:57:01 -06:00
Joe Topjian 9d10028d43 provider/openstack: Fix Access Address Detection
This commit fixes how access ip addresses are detected. The previous
logic used was flawed and would detect the IPs in the wrong order.
2016-04-17 04:38:49 +00:00
Martin Atkins e41616198f Don't read back opsworks stack cookbooks source password (#6203)
As with several other sensitive values in Opsworks, the API returns a
placeholder value rather than a nil. To avoid writing the placeholder
value into the state we just skip updating the password on read, letting
whatever value was in the state persist.

This means that Terraform can't detect configuration drift where someone
has changed the password via some other means, but Terraform will still
be able to recognize changes to the password made within Terraform itself
due to the "last-written" value in the state.

This fixes #6192.
2016-04-16 22:56:36 +01:00
Chris Love f5ec71e8cb Starting work on developer documentation. 2016-04-16 12:45:11 -06:00
Martin Atkins 94f338d5de Merge #4276: aws_opsworks_instance resource 2016-04-16 10:14:22 -07:00
Martin Atkins 64db0454b4 Merge #6049: In Opsworks Stacks, wait for IAM changes to settle 2016-04-16 09:54:20 -07:00
Martin Atkins 2d597f09a8 Fix aws_opsworks_application acctest by passing in stack name
Other separate changes to testAccOpsworksStackConfigNoVpcCreate caused
this to begin failing because it was attempting to create a stack with
an empty name.
2016-04-16 09:44:04 -07:00
Martin Atkins bb7b8d6550 Merge #4419: aws_opsworks_application resource 2016-04-16 09:28:12 -07:00
Martin Atkins 41c535dc68 Unconditionally set opsworks layer custom_json
Previously in Update we would only set req.CustomJson if a non-empty
value was provided in the config. It seems that the Opsworks API considers
a null CustomJson to mean "do not change" rather than "set to empty",
so we need to explicitly set the empty string in the request body in
order to successfully remove an already-configured custom JSON.
2016-04-16 09:18:47 -07:00
Martin Atkins 72f121aec1 Merge #4272: custom JSON for Opsworks layers 2016-04-16 08:48:36 -07:00
Paul Hinze 17e50328eb provider/cobbler: acc tests TF and script tweaks 2016-04-16 08:55:45 -05:00
Joe Topjian 831bae8624 provider/cobbler: Cobbler Provider
This introduces a provider for Cobbler. Cobbler manages bare-metal
deployments and, to some extent, virtual machines. This initial
commit supports the following resources: distros, profiles, systems,
kickstart files, and snippets.
2016-04-16 08:54:59 -05:00
Clint 05decba135 provider/aws: Better randomize the CloudTrail tests (#6188) 2016-04-15 10:06:40 -05:00
Evan Brown c6763fd3af Update docs and fix computed container settings 2016-04-14 16:33:52 -07:00
Evan Brown 5eaf2033bd provider/google: Support manual subnetworks and addons config 2016-04-14 16:31:24 -07:00
Paul Hinze eded8bbf0a Merge pull request #6087 from aheeren/Vsphere-windows
Vsphere windows support
2016-04-14 15:04:40 -05:00
Chris Marchesi a38ccbe074 CloudFront distribution and origin access identity support (#5221)
* CloudFront implementation v3

* Update tests

* Refactor - new resource: aws_cloudfront_distribution

 * Includes a complete re-write of the old aws_cloudfront_web_distribution
   resource to bring it to feature parity with API and CloudFormation.
 * Also includes the aws_cloudfront_origin_access_identity resource to generate
   origin access identities for use with S3.
2016-04-14 14:55:11 -05:00
Raymond Fallon eed8733ee3 provider/aws: Enhance Triggers for AWS CodeDeploy Event Notifications (#6168)
* Improve testing of CodeDeploy DeploymentGroup Trigger Configs

  - ensure updates to trigger_events are applied
  - assert changes to trigger_target_arn

* Retry CodeDeploy DeploymentGroup when Trigger Config SNS Topic is not available

  - increase retries from 2 => 5
2016-04-14 20:26:33 +01:00
Adam Heeren 0b97c0a6f4 Adding default time logic for windows clones 2016-04-13 15:41:58 -04:00
Adam Heeren f04298f78d Renaming linkedClone to linked_clone in config spec 2016-04-13 12:42:55 -04:00
clint shryock 2830558bc9 check resource data for base64 encoded string 2016-04-13 10:44:26 -05:00
Doug Neal 1c662c2bc4 [#4794] Don't Base64-encode EC2 userdata if it is already Base64 encoded (#6140)
* Don't Base64-encode EC2 userdata if it is already Base64 encoded

The user data may be Base64 encoded already - for example, if it has been
generated by a template_cloudinit_config resource.

* Add encoded user_data to aws_instance acceptance test
2016-04-13 10:20:20 -05:00
Carlos Sanchez 32bd25d743 Issue #2174 Check that InternetGateway exists before returning from creation (#6105)
* Issue #2174 Check that InternetGateway exists before returning from creation

Fix some random InvalidInternetGatewayID.NotFound errors

* Issue #2174 Reuse IGStateRefreshFunc

* Issue #2174 Need to wait for creation before setting tags
2016-04-13 09:28:17 -05:00
Radek Simko f6a21e7899 provider/aws: Read VPC ID for Lambda function back from API 2016-04-13 15:05:19 +01:00
Radek Simko 3f188d5d1b provider/aws: Improve test for VPC-based Lambda func 2016-04-13 15:05:19 +01:00
Patrick Sodré 4a6e161e2b Fix Triton firewall_enabled bug with AccTest (#6119)
Update github.com/joyent/gosdc/...

Test does the minimum described in hashicorp/terraform#6109, i.e.
	- Start a small instance, t4-standard-128M
	- Check firewall is enabled
	- Change configuration to disable firewall
	- Check firewall is disabled.

Fixes #6119.
2016-04-12 13:10:53 -05:00
Sander van Harmelen 4db1af8939 Merge pull request #6123 from svanharmelen/f-cloudstack-id
provider/cloudstck: refactor the use of names vs IDs for parameters referencing other TF resources
2016-04-12 18:34:26 +02:00
Joe Topjian 779b36106f Merge pull request #4898 from Fodoj/add-router-type
provider/openstack Add value_specs for routers
2016-04-11 22:52:10 -06:00
Raymond Fallon 0cd0a4ec9c provider/aws: Manage Triggers for AWS CodeDeploy Event Notifications (#5599)
* provider/aws: CodeDeploy Deployment Group Triggers

  - Create a Trigger to Send Notifications for AWS CodeDeploy Events
  - Update aws_codedeploy_deployment_group docs

* Refactor validateTriggerEvent function and test

  - also rename TestAccAWSCodeDeployDeploymentGroup_triggerConfiguration test

* Enhance existing Deployment Group integration tests

  - by using built in resource attribute helpers
  - these can get quite verbose and repetitive, so passing the resource to a function might be better
  - can't use these (yet) to assert trigger configuration state

* Unit tests for conversions between aws TriggerConfig and terraform resource schema

  - buildTriggerConfigs
  - triggerConfigsToMap
2016-04-11 19:42:21 +01:00
Jeff LaPlante f840f49fbb Added support to read and update group attribute from existing vm state. 2016-04-11 10:23:19 -07:00
Xavier Sellier fc9825e4c4 - Add support for 'ssl_mode' options present in lib/pq
- Update psotgresql provider's documentation
- Enforce default value to 'require' for ssl_mode
2016-04-11 13:20:39 -04:00
Seth Vargo 95c7fd7f08 Merge pull request #6114 from hashicorp/sethvargo/gce_envvars
Read more default envvars for GCP
2016-04-11 13:17:52 -04:00
Clint 2ea8c64079 provider/aws: More randomization to our Acc tests (#6124)
* provider/aws: Add more Randomization to DB Parameter Group Tests, to avoid collisions

* provider/aws: Add more randomization to Autoscaling group tests
2016-04-11 12:06:28 -05:00
Seth Vargo 337895b51e Read more default envvars for GCP
- Closes #5874
- Fixes #5872
2016-04-11 12:19:07 -04:00
Seth Vargo 183100ae4e Merge pull request #6112 from hashicorp/sethvargo/gcp_project
Move GCP projece attribute onto resources, inherit from provider
2016-04-11 11:45:13 -04:00
Sander van Harmelen 815c8840a7 Refactor the use of names vs IDs for parameters referencing other TF resources
We have a curtesy function in place allowing you to specify both a
`name` of `ID`. But in order for the graph to be build correctly when
you recreate or taint stuff that other resources depend on, we need to
reference the `ID` and *not* the `name`.

So in order to enforce this and by that help people to not make this
mistake unknowingly, I deprecated all the parameters this allies to and
changed the logic, docs and tests accordingly.
2016-04-11 17:14:28 +02:00
Adam Heeren 338cb956ba Rearranging code to clean up git diff 2016-04-11 09:36:06 -04:00
Adam Heeren 7dfc0a6d1e Added windows clone options in vsphere and documented them 2016-04-11 09:36:06 -04:00
Adam Heeren 5f4a3ec09a Creating different config spec based on template OS ID 2016-04-11 09:36:06 -04:00
Adam Heeren c40f73960e Support for Linked Cloning in vsphere, based off of 6814028be7 2016-04-11 09:33:22 -04:00
Sander van Harmelen ae371b5492 Merge pull request #6106 from vmfarms/port-forward-projectid-bug
Add project parameter to cloudstack_port_forward.
2016-04-11 14:56:05 +02:00
Hany Fahim 3135706d1f Update to use setProjectid helper function 2016-04-11 08:22:01 -04:00
Jacob Severson 7721348b0b Adding privacy argument for GitHub teams for #6015 (#6116)
Added the ability to set the "privacy" of a github_team resource so all teams won't automatically set to private.

* Added the privacy argument to github_team

* Refactored parameter validation to be general for any argument

* Updated testing
2016-04-11 13:09:25 +01:00
protomouse 0d82b4d0bf hclfmt test resources 2016-04-11 10:45:19 +02:00
protomouse ec55a34430 _disappears test 2016-04-11 10:44:46 +02:00
protomouse e9ce2b3a20 remove partial mode handling 2016-04-11 10:44:28 +02:00
protomouse b45e941144 add resource aws_rds_cluster_parameter_group 2016-04-11 10:26:47 +02:00