Skip to content

Commit 98167ce

Browse files
author
chrislovecnm
committed
merging upstream master
2 parents a5690b7 + fd251e8 commit 98167ce

106 files changed

Lines changed: 2996 additions & 2182 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22

33
FEATURES:
44

5+
* **New provider: `tls`** - A utility provider for generating TLS keys/self-signed certificates for development and testing [GH-2778]
6+
* **New provider: `dyn`** - Manage DNS records on Dyn
57
* **New resource: `aws_cloudformation_stack`** [GH-2636]
68
* **New resource: `aws_cloudtrail`** [GH-3094]
79
* **New resource: `aws_route`** [GH-3548]
810
* **New resource: `aws_codecommit_repository`** [GH-3274]
911
* **New resource: `aws_kinesis_firehose_delivery_stream`** [GH-3833]
10-
* **New provider: `tls`** - A utility provider for generating TLS keys/self-signed certificates for development and testing [GH-2778]
1112
* **New resource: `google_sql_database` and `google_sql_database_instance`** [GH-3617]
1213
* **New resource: `google_compute_global_address`** [GH-3701]
1314
* **New resource: `google_compute_https_health_check`** [GH-3883]
@@ -27,13 +28,15 @@ IMPROVEMENTS:
2728
* provider/google: Accurate Terraform Version [GH-3554]
2829
* provider/google: Simplified auth (DefaultClient support) [GH-3553]
2930
* provider/google: automatic_restart, preemptible, on_host_maintenance options [GH-3643]
31+
* provider/google: read credentials as contents instead of path [GH-3901]
3032
* null_resource: enhance and document [GH-3244, GH-3659]
3133
* provider/aws: Add CORS settings to S3 bucket [GH-3387]
3234
* provider/aws: Add notification topic ARN for ElastiCache clusters [GH-3674]
3335
* provider/aws: Add `kinesis_endpoint` for configuring Kinesis [GH-3255]
3436
* provider/aws: Add a computed ARN for S3 Buckets [GH-3685]
3537
* provider/aws: Add S3 support for Lambda Function resource [GH-3794]
3638
* provider/aws: Add `name_prefix` option to launch configurations [GH-3802]
39+
* provider/aws: add support for group name and path changes with IAM group update function [GH-3237]
3740
* provider/aws: Provide `source_security_group_id` for ELBs inside a VPC [GH-3780]
3841
* provider/aws: Add snapshot window and retention limits for ElastiCache (Redis) [GH-3707]
3942
* provider/aws: Add username updates for `aws_iam_user` [GH-3227]
@@ -43,20 +46,24 @@ IMPROVEMENTS:
4346
* provider/aws: `engine_version` is now optional for DB Instance [GH-3744]
4447
* provider/aws: Add configuration to enable copying RDS tags to final snapshot [GH-3529]
4548
* provider/aws: RDS Cluster additions (`backup_retention_period`, `preferred_backup_window`, `preferred_maintenance_window`) [GH-3757]
46-
* providers/aws: Document and validate ELB ssl_cert and protocol requirements [GH-3887]
49+
* provider/aws: Document and validate ELB ssl_cert and protocol requirements [GH-3887]
50+
* provider/azure: Read publish_settings as contents instead of path [GH-3899]
4751
* provider/openstack: Use IPv4 as the defeault IP version for subnets [GH-3091]
4852
* provider/aws: Apply security group after restoring db_instance from snapshot [GH-3513]
4953
* provider/aws: Making the AutoScalingGroup name optional [GH-3710]
5054
* provider/openstack: Add "delete on termination" boot-from-volume option [GH-3232]
5155
* provider/digitalocean: Make user_data force a new droplet [GH-3740]
5256
* provider/vsphere: Do not add network interfaces by default [GH-3652]
5357
* provider/openstack: Configure Fixed IPs through ports [GH-3772]
58+
* provider/openstack: Specify a port ID on a Router Interface [GH-3903]
59+
* provider/openstack: Made LBaaS Virtual IP computed [GH-3927]
5460

5561
BUG FIXES:
5662

5763
* `terraform remote config`: update `--help` output [GH-3632]
5864
* core: modules on Git branches now update properly [GH-1568]
5965
* core: Fix issue preventing input prompts for unset variables during plan [GH-3843]
66+
* core: Orphan resources can now be targets [GH-3912]
6067
* provider/google: Timeout when deleting large instance_group_manager [GH-3591]
6168
* provider/aws: Fix issue with order of Termincation Policies in AutoScaling Groups.
6269
This will introduce plans on upgrade to this version, in order to correct the ordering [GH-2890]
@@ -65,12 +72,18 @@ BUG FIXES:
6572
* provider/aws: ignore association not exist on route table destroy [GH-3615]
6673
* provider/aws: Fix policy encoding issue with SNS Topics [GH-3700]
6774
* provider/aws: Correctly export ARN in `aws_iam_saml_provider` [GH-3827]
75+
* provider/aws: Fix crash in Route53 Record if Zone not found [GH-3945]
76+
* providers/aws: Fix typo in error checking for IAM Policy Attachments #3970
6877
* provider/aws: Tolerate ElastiCache clusters being deleted outside Terraform [GH-3767]
6978
* provider/aws: Downcase Route 53 record names in statefile to match API output [GH-3574]
7079
* provider/aws: Fix issue that could occur if no ECS Cluster was found for a give name [GH-3829]
7180
* provider/aws: Fix issue with SNS topic policy if omitted [GH-3777]
7281
* provider/aws: Support scratch volumes in `aws_ecs_task_definition` [GH-3810]
7382
* provider/aws: Treat `aws_ecs_service` w/ Status==INACTIVE as deleted [GH-3828]
83+
* provider/aws: Expand ~ to homedir in `aws_s3_bucket_object.source` [GH-3910]
84+
* provider/aws: Fix issue with updating the `aws_ecs_task_definition` where `aws_ecs_service` didn't wait for a new computed ARN [GH-3924]
85+
* provider/aws: Prevent crashing when deleting `aws_ecs_service` that is already gone [GH-3914]
86+
* provider/aws: Allow spaces in `aws_db_subnet_group.name` (undocumented in the API) [GH-3955]
7487
* provider/azure: various bugfixes [GH-3695]
7588
* provider/digitalocean: fix issue preventing SSH fingerprints from working [GH-3633]
7689
* provider/digitalocean: Fixing the DigitalOcean Droplet 404 potential on refresh of state [GH-3768]
@@ -83,6 +96,9 @@ BUG FIXES:
8396
* provider/openstack: Better handling of network resource state changes [GH-3712]
8497
* provider/openstack: Fix crashing when no security group is specified [GH-3801]
8598
* provider/packet: Fix issue that could cause errors when provisioning many devices at once [GH-3847]
99+
* provider/packet: Fix connection information for devices, allowing provisioners to run [GH-3948]
100+
* provider/openstack: Fix issue preventing security group rules from being removed [GH-3796]
101+
* provider/template: template_file: source contents instead of path [GH-3909]
86102

87103
## 0.6.6 (October 23, 2015)
88104

Makefile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@ dev: generate
1515
quickdev: generate
1616
@TF_QUICKDEV=1 TF_DEV=1 sh -c "'$(CURDIR)/scripts/build.sh'"
1717

18+
# Shorthand for quickly building the core of Terraform. Note that some
19+
# changes will require a rebuild of everything, in which case the dev
20+
# target should be used.
21+
core-dev: generate
22+
go install github.com/hashicorp/terraform
23+
1824
# Shorthand for building and installing just one plugin for local testing.
1925
# Run as (for example): make plugin-dev PLUGIN=provider-aws
2026
plugin-dev: generate

builtin/bins/provider-dyn/main.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package main
2+
3+
import (
4+
"github.com/hashicorp/terraform/builtin/providers/dyn"
5+
"github.com/hashicorp/terraform/plugin"
6+
)
7+
8+
func main() {
9+
plugin.Serve(&plugin.ServeOpts{
10+
ProviderFunc: dyn.Provider,
11+
})
12+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
package main

builtin/providers/aws/conversions.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
package aws
22

33
import (
4-
"github.com/awslabs/aws-sdk-go/aws"
54
"github.com/hashicorp/terraform/helper/schema"
5+
6+
"github.com/aws/aws-sdk-go/aws"
67
)
78

89
func makeAwsStringList(in []interface{}) []*string {

builtin/providers/aws/provider.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,13 @@ import (
55
"sync"
66
"time"
77

8-
"github.com/aws/aws-sdk-go/aws/credentials"
9-
"github.com/awslabs/aws-sdk-go/aws/credentials/ec2rolecreds"
108
"github.com/hashicorp/terraform/helper/hashcode"
9+
"github.com/hashicorp/terraform/helper/mutexkv"
1110
"github.com/hashicorp/terraform/helper/schema"
1211
"github.com/hashicorp/terraform/terraform"
12+
13+
"github.com/aws/aws-sdk-go/aws/credentials"
14+
"github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds"
1315
)
1416

1517
// Provider returns a terraform.ResourceProvider.
@@ -320,3 +322,6 @@ func providerConfigure(d *schema.ResourceData) (interface{}, error) {
320322

321323
return config.Client()
322324
}
325+
326+
// This is a global MutexKV for use within this plugin.
327+
var awsMutexKV = mutexkv.NewMutexKV()

builtin/providers/aws/resource_aws_codedeploy_app_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ func TestAccAWSCodeDeployApp_basic(t *testing.T) {
2323
),
2424
},
2525
resource.TestStep{
26-
Config: testAccAWSCodeDeployAppModifier,
26+
Config: testAccAWSCodeDeployAppModified,
2727
Check: resource.ComposeTestCheckFunc(
2828
testAccCheckAWSCodeDeployAppExists("aws_codedeploy_app.foo"),
2929
),
@@ -72,7 +72,7 @@ resource "aws_codedeploy_app" "foo" {
7272
name = "foo"
7373
}`
7474

75-
var testAccAWSCodeDeployAppModifier = `
75+
var testAccAWSCodeDeployAppModified = `
7676
resource "aws_codedeploy_app" "foo" {
7777
name = "bar"
7878
}`

builtin/providers/aws/resource_aws_codedeploy_deployment_group_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ func TestAccAWSCodeDeployDeploymentGroup_basic(t *testing.T) {
2323
),
2424
},
2525
resource.TestStep{
26-
Config: testAccAWSCodeDeployDeploymentGroupModifier,
26+
Config: testAccAWSCodeDeployDeploymentGroupModified,
2727
Check: resource.ComposeTestCheckFunc(
2828
testAccCheckAWSCodeDeployDeploymentGroupExists("aws_codedeploy_deployment_group.foo"),
2929
),
@@ -133,7 +133,7 @@ resource "aws_codedeploy_deployment_group" "foo" {
133133
}
134134
}`
135135

136-
var testAccAWSCodeDeployDeploymentGroupModifier = `
136+
var testAccAWSCodeDeployDeploymentGroupModified = `
137137
resource "aws_codedeploy_app" "foo_app" {
138138
name = "foo_app"
139139
}

builtin/providers/aws/resource_aws_db_subnet_group.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ func resourceAwsDbSubnetGroup() *schema.Resource {
2929
Required: true,
3030
ValidateFunc: func(v interface{}, k string) (ws []string, errors []error) {
3131
value := v.(string)
32-
if !regexp.MustCompile(`^[.0-9A-Za-z-_]+$`).MatchString(value) {
32+
if !regexp.MustCompile(`^[ .0-9A-Za-z-_]+$`).MatchString(value) {
3333
errors = append(errors, fmt.Errorf(
34-
"only alphanumeric characters, hyphens, underscores, and periods allowed in %q", k))
34+
"only alphanumeric characters, hyphens, underscores, periods, and spaces allowed in %q", k))
3535
}
3636
if len(value) > 255 {
3737
errors = append(errors, fmt.Errorf(

builtin/providers/aws/resource_aws_db_subnet_group_test.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,14 @@ func TestAccAWSDBSubnetGroup_withUndocumentedCharacters(t *testing.T) {
5151
CheckDestroy: testAccCheckDBSubnetGroupDestroy,
5252
Steps: []resource.TestStep{
5353
resource.TestStep{
54-
Config: testAccDBSubnetGroupConfig_withUnderscoresAndPeriods,
54+
Config: testAccDBSubnetGroupConfig_withUnderscoresAndPeriodsAndSpaces,
5555
Check: resource.ComposeTestCheckFunc(
5656
testAccCheckDBSubnetGroupExists(
5757
"aws_db_subnet_group.underscores", &v),
5858
testAccCheckDBSubnetGroupExists(
5959
"aws_db_subnet_group.periods", &v),
60+
testAccCheckDBSubnetGroupExists(
61+
"aws_db_subnet_group.spaces", &v),
6062
testCheck,
6163
),
6264
},
@@ -156,7 +158,7 @@ resource "aws_db_subnet_group" "foo" {
156158
}
157159
`
158160

159-
const testAccDBSubnetGroupConfig_withUnderscoresAndPeriods = `
161+
const testAccDBSubnetGroupConfig_withUnderscoresAndPeriodsAndSpaces = `
160162
resource "aws_vpc" "main" {
161163
cidr_block = "192.168.0.0/16"
162164
}
@@ -184,4 +186,10 @@ resource "aws_db_subnet_group" "periods" {
184186
description = "Our main group of subnets"
185187
subnet_ids = ["${aws_subnet.frontend.id}", "${aws_subnet.backend.id}"]
186188
}
189+
190+
resource "aws_db_subnet_group" "spaces" {
191+
name = "with spaces"
192+
description = "Our main group of subnets"
193+
subnet_ids = ["${aws_subnet.frontend.id}", "${aws_subnet.backend.id}"]
194+
}
187195
`

0 commit comments

Comments
 (0)