Updated the security_group attribute to use a set

This way the order returned by the API has no impact on the saved
state, preventing false positives when diffing.
This commit is contained in:
Sander van Harmelen 2014-12-17 23:53:01 +01:00
parent e6289fbe63
commit b58e468033
1 changed files with 5 additions and 2 deletions

View File

@ -58,11 +58,14 @@ func resourceAwsElb() *schema.Resource {
// TODO: could be not ForceNew // TODO: could be not ForceNew
"security_groups": &schema.Schema{ "security_groups": &schema.Schema{
Type: schema.TypeList, Type: schema.TypeSet,
Elem: &schema.Schema{Type: schema.TypeString}, Elem: &schema.Schema{Type: schema.TypeString},
Optional: true, Optional: true,
ForceNew: true, ForceNew: true,
Computed: true, Computed: true,
Set: func(v interface{}) int {
return hashcode.String(v.(string))
},
}, },
// TODO: could be not ForceNew // TODO: could be not ForceNew
@ -179,7 +182,7 @@ func resourceAwsElbCreate(d *schema.ResourceData, meta interface{}) error {
} }
if v, ok := d.GetOk("security_groups"); ok { if v, ok := d.GetOk("security_groups"); ok {
elbOpts.SecurityGroups = expandStringList(v.([]interface{})) elbOpts.SecurityGroups = expandStringList(v.(*schema.Set).List())
} }
if v, ok := d.GetOk("subnets"); ok { if v, ok := d.GetOk("subnets"); ok {