Merge pull request #3120 from apparentlymart/elasticache-subnet-names
aws_elasticache_subnet_group normalizes name to lowercase.
This commit is contained in:
commit
5f3b6f9952
|
@ -3,6 +3,7 @@ package aws
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/aws/aws-sdk-go/aws"
|
"github.com/aws/aws-sdk-go/aws"
|
||||||
|
@ -29,6 +30,12 @@ func resourceAwsElasticacheSubnetGroup() *schema.Resource {
|
||||||
Type: schema.TypeString,
|
Type: schema.TypeString,
|
||||||
Required: true,
|
Required: true,
|
||||||
ForceNew: true,
|
ForceNew: true,
|
||||||
|
StateFunc: func(val interface{}) string {
|
||||||
|
// Elasticache normalizes subnet names to lowercase,
|
||||||
|
// so we have to do this too or else we can end up
|
||||||
|
// with non-converging diffs.
|
||||||
|
return strings.ToLower(val.(string))
|
||||||
|
},
|
||||||
},
|
},
|
||||||
"subnet_ids": &schema.Schema{
|
"subnet_ids": &schema.Schema{
|
||||||
Type: schema.TypeSet,
|
Type: schema.TypeSet,
|
||||||
|
@ -66,7 +73,10 @@ func resourceAwsElasticacheSubnetGroupCreate(d *schema.ResourceData, meta interf
|
||||||
}
|
}
|
||||||
|
|
||||||
// Assign the group name as the resource ID
|
// Assign the group name as the resource ID
|
||||||
d.SetId(name)
|
// Elasticache always retains the name in lower case, so we have to
|
||||||
|
// mimic that or else we won't be able to refresh a resource whose
|
||||||
|
// name contained uppercase characters.
|
||||||
|
d.SetId(strings.ToLower(name))
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -150,7 +150,10 @@ resource "aws_subnet" "foo" {
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "aws_elasticache_subnet_group" "bar" {
|
resource "aws_elasticache_subnet_group" "bar" {
|
||||||
name = "tf-test-cache-subnet-%03d"
|
// Including uppercase letters in this name to ensure
|
||||||
|
// that we correctly handle the fact that the API
|
||||||
|
// normalizes names to lowercase.
|
||||||
|
name = "tf-TEST-cache-subnet-%03d"
|
||||||
description = "tf-test-cache-subnet-group-descr"
|
description = "tf-test-cache-subnet-group-descr"
|
||||||
subnet_ids = ["${aws_subnet.foo.id}"]
|
subnet_ids = ["${aws_subnet.foo.id}"]
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,8 +45,8 @@ resource "aws_elasticache_subnet_group" "bar" {
|
||||||
The following arguments are supported:
|
The following arguments are supported:
|
||||||
|
|
||||||
* `description` – (Required) Description for the cache subnet group
|
* `description` – (Required) Description for the cache subnet group
|
||||||
* `name` – (Required) Name for the cache subnet group. This value is stored as
|
* `name` – (Required) Name for the cache subnet group. Elasticache converts
|
||||||
a lowercase string
|
this name to lowercase.
|
||||||
* `subnet_ids` – (Required) List of VPC Subnet IDs for the cache subnet group
|
* `subnet_ids` – (Required) List of VPC Subnet IDs for the cache subnet group
|
||||||
|
|
||||||
## Attributes Reference
|
## Attributes Reference
|
||||||
|
|
Loading…
Reference in New Issue