providers/aws: set ID after creation
This commit is contained in:
parent
0bd7856942
commit
f7a2f2a2e7
|
@ -364,23 +364,26 @@ func resourceAwsLaunchConfigurationCreate(d *schema.ResourceData, meta interface
|
|||
createLaunchConfigurationOpts.BlockDeviceMappings = blockDevices
|
||||
}
|
||||
|
||||
var id string
|
||||
if v, ok := d.GetOk("name"); ok {
|
||||
createLaunchConfigurationOpts.LaunchConfigurationName = aws.String(v.(string))
|
||||
d.SetId(d.Get("name").(string))
|
||||
id = v.(string)
|
||||
} else {
|
||||
hash := sha1.Sum([]byte(fmt.Sprintf("%#v", createLaunchConfigurationOpts)))
|
||||
config_name := fmt.Sprintf("terraform-%s", base64.URLEncoding.EncodeToString(hash[:]))
|
||||
log.Printf("[DEBUG] Computed Launch config name: %s", config_name)
|
||||
createLaunchConfigurationOpts.LaunchConfigurationName = aws.String(config_name)
|
||||
d.SetId(config_name)
|
||||
configName := fmt.Sprintf("terraform-%s", base64.URLEncoding.EncodeToString(hash[:]))
|
||||
log.Printf("[DEBUG] Computed Launch config name: %s", configName)
|
||||
createLaunchConfigurationOpts.LaunchConfigurationName = aws.String(configName)
|
||||
id = configName
|
||||
}
|
||||
|
||||
log.Printf("[DEBUG] autoscaling create launch configuration: %#v", createLaunchConfigurationOpts)
|
||||
log.Printf(
|
||||
"[DEBUG] autoscaling create launch configuration: %#v", createLaunchConfigurationOpts)
|
||||
err := autoscalingconn.CreateLaunchConfiguration(&createLaunchConfigurationOpts)
|
||||
if err != nil {
|
||||
return fmt.Errorf("Error creating launch configuration: %s", err)
|
||||
}
|
||||
|
||||
d.SetId(id)
|
||||
log.Printf("[INFO] launch configuration ID: %s", d.Id())
|
||||
|
||||
// We put a Retry here since sometimes eventual consistency bites
|
||||
|
|
Loading…
Reference in New Issue