Commit Graph

10317 Commits

Author SHA1 Message Date
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
Kraig Amador e04e87361f vendor: Updated github.com/aws/aws-sdk-go to v1.1.23 The new STS library includes GetCallerIdentity which can be used to build ARNs for RDS resources when using IAM roles 2016-05-05 07:02:10 -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
Radek Simko 4f2eec0c3a Update CHANGELOG.md 2016-05-05 11:15:28 +01:00
Kraig Amador 1f80ec48d0 Added RDS event subscriptions (#6367) 2016-05-05 11:14:25 +01:00
James Nugent c8928e4f5d Update CHANGELOG.md 2016-05-04 14:11:33 -05:00
James Nugent a7817c0710 Merge pull request #6469 from hashicorp/jt-ie-bnr
website: add a height to svg in bnr to fix IE bug
2016-05-04 14:10:01 -05:00
James Nugent a7a6aba0d2 Merge pull request #6484 from stumbaumr/patch-1
provider/vsphere: Fix typos in README.
2016-05-04 14:09:10 -05:00
stumbaumr 207fa068c6 Fixed obvious typos 2016-05-04 21:07:48 +02:00
Clint 2f8658619f Update CHANGELOG.md 2016-05-04 14:07:17 -05: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
James Nugent 63849a5d7d Merge pull request #6482 from godmodelabs/fix-memory-reservation-templated
provider/vsphere: missing memory reservation in deployVirtualMachine
2016-05-04 14:05:46 -05:00
Daniel 5182bf6338 missing memory reservation in deployVirtualMachine 2016-05-04 18:53:44 +02:00
Paul Hinze 8cf13d9582 Merge pull request #6475 from hashicorp/b-oh-godeps
godeps: fixup missing deps
2016-05-04 11:06:21 -05:00
Paul Hinze 12eb536b25
godeps: fixup missing deps
This diff was generated by:

 * `godep restore -v`, correcting any hiccups until it succeeded
 * `rm -rf vendor/ Godep`
 * `godep save -v ./...`
2016-05-04 10:54:22 -05:00
Radek Simko 507ae65f43 Update CHANGELOG.md 2016-05-04 11:59:30 +01: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
captainill 5ed03602d7 add a height to svg in bnr to fix IE bug 2016-05-03 18:37:47 -07:00
Paul Hinze 952152280e Merge pull request #6453 from hashicorp/phinze/go-rootcerts
atlas: Use go-rootcerts for certificate loading
2016-05-03 18:00:57 -05:00
Clint 71cd09d0ab Update CHANGELOG.md 2016-05-03 17:21:49 -05: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
James Nugent 8dc9b4baa4 Update CHANGELOG.md 2016-05-03 16:19:54 -05:00
Sargurunathan Mohan a5825f907b Fix launch_configuration error when using ebs which is encrypted 2016-05-03 16:19:54 -05:00
Clint 175f7bb436 provider/aws: Bump Cloudfront dependency to 1.1.15, matching the rest of AWS (#6465) 2016-05-03 16:16:40 -05:00
James Nugent cce42eebf0 Update CHANGELOG.md 2016-05-03 16:13:14 -05:00
James Nugent 309491aa7f Merge branch 'TheWeatherCompany-feature/softlayer-virtual-guest' 2016-05-03 16:05:28 -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 398fad4277 Update CHANGELOG.md 2016-05-03 13:28:33 -07:00
Mitchell Hashimoto d5af110055 Merge pull request #6449 from hashicorp/b-cloudflare-apex
providers/cloudflare: record can manage apex records
2016-05-03 13:27:43 -07:00
Paul Hinze c44062814c
Update atlas-go to latest version that uses go-rootcerts 2016-05-03 12:12:30 -05:00
Mitchell Hashimoto 6099d8277c
Add new cloudflare lib 2016-05-03 09:54:47 -07: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 cf0b2644a3 Update CHANGELOG.md 2016-05-03 18:28:18 +02: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
Paul Stack ab9d78f99b Update CHANGELOG.md 2016-05-03 17:59:31 +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
Cameron Stokes b005709ed1 Recommend bucket versioning for S3 remote state. (#6456) 2016-05-03 17:54:53 +02:00
Paul Hinze 4ac6dda633
state/remote/atlas: Use go-rootcerts for certificate loading
Allows CA certs to be configured via `ATLAS_CAFILE` and `ATLAS_CAPATH`
env vars, and works around https://github.com/golang/go/issues/14514 on
OS X.
2016-05-03 09:52:36 -05:00
Paul Hinze 1690a65231
vendor: add go-rootcerts 2016-05-03 09:42:50 -05:00
Joe Topjian 181463a5af Update CHANGELOG.md 2016-05-03 08:20:33 -06:00
Joe Topjian 5aa5e88abb Update CHANGELOG.md 2016-05-03 08:19:37 -06: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
Cristian Calin 00c953f876 vendor: Updating Gophercloud dependencies
Import networking/v2/extensions/security/groups and
networking/v2/extensions/security/rules from gophercloud.

These will be used by two new resouces openstack_networking_secgroup_v2 and
openstack_networking_secgroup_rule_v2.
2016-05-03 08:03:15 +00:00
Clint 846561964e Update CHANGELOG.md 2016-05-02 15:37:17 -05: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
Paul Stack fa0c629450 Update CHANGELOG.md 2016-05-02 22:27:37 +02:00