Skip to content

Commit

Permalink
Merge pull request #712 from svanharmelen/f-fix-aws-instance-resource
Browse files Browse the repository at this point in the history
provider/aws: fixing some logic issues with the aws-instance resource
  • Loading branch information
Sander van Harmelen committed Dec 25, 2014
2 parents fd6382f + b96f373 commit d448c1b
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions builtin/providers/aws/resource_aws_instance.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"encoding/hex"
"fmt"
"log"
"strconv"
"strings"
"time"

Expand Down Expand Up @@ -153,18 +154,21 @@ func resourceAwsInstance() *schema.Resource {
"snapshot_id": &schema.Schema{
Type: schema.TypeString,
Optional: true,
Computed: true,
ForceNew: true,
},

"volume_type": &schema.Schema{
Type: schema.TypeString,
Optional: true,
Computed: true,
ForceNew: true,
},

"volume_size": &schema.Schema{
Type: schema.TypeInt,
Optional: true,
Computed: true,
ForceNew: true,
},

Expand All @@ -178,6 +182,7 @@ func resourceAwsInstance() *schema.Resource {
"encrypted": &schema.Schema{
Type: schema.TypeBool,
Optional: true,
Computed: true,
ForceNew: true,
},
},
Expand Down Expand Up @@ -385,11 +390,15 @@ func resourceAwsInstanceRead(d *schema.ResourceData, meta interface{}) error {

bds := make([]map[string]interface{}, len(volResp.Volumes))
for i, vol := range volResp.Volumes {
volSize, err := strconv.Atoi(vol.Size)
if err != nil {
return err
}
bds[i] = make(map[string]interface{})
bds[i]["device_name"] = bdByVolID[vol.VolumeId].DeviceName
bds[i]["snapshot_id"] = vol.SnapshotId
bds[i]["volume_type"] = vol.VolumeType
bds[i]["volume_size"] = vol.Size
bds[i]["volume_size"] = volSize
bds[i]["delete_on_termination"] = bdByVolID[vol.VolumeId].DeleteOnTermination
bds[i]["encrypted"] = vol.Encrypted
}
Expand Down Expand Up @@ -491,10 +500,7 @@ func resourceAwsInstanceBlockDevicesHash(v interface{}) int {
var buf bytes.Buffer
m := v.(map[string]interface{})
buf.WriteString(fmt.Sprintf("%s-", m["device_name"].(string)))
buf.WriteString(fmt.Sprintf("%s-", m["snapshot_id"].(string)))
buf.WriteString(fmt.Sprintf("%s-", m["volume_type"].(string)))
buf.WriteString(fmt.Sprintf("%d-", m["volume_size"].(int)))
buf.WriteString(fmt.Sprintf("%s-", m["virtual_name"].(string)))
buf.WriteString(fmt.Sprintf("%t-", m["delete_on_termination"].(bool)))
buf.WriteString(fmt.Sprintf("%t-", m["encrypted"].(bool)))
return hashcode.String(buf.String())
}

0 comments on commit d448c1b

Please sign in to comment.