Update user date size check

This makes sure we check the right thing.
This commit is contained in:
Sander van Harmelen 2015-06-25 09:45:39 +02:00
parent 0d36c24c54
commit b7b770d0da
1 changed files with 9 additions and 7 deletions

View File

@ -166,14 +166,16 @@ func resourceCloudStackInstanceCreate(d *schema.ResourceData, meta interface{})
// If the user data contains any info, it needs to be base64 encoded and // If the user data contains any info, it needs to be base64 encoded and
// added to the parameter struct // added to the parameter struct
if userData, ok := d.GetOk("user_data"); ok { if userData, ok := d.GetOk("user_data"); ok {
ud := base64.StdEncoding.EncodeToString([]byte(userData.(string)))
// deployVirtualMachine uses POST, so max userdata is 32K // deployVirtualMachine uses POST, so max userdata is 32K
// https://github.com/xanzy/go-cloudstack/commit/c767de689df1faedfec69233763a7c5334bee1f6 // https://github.com/xanzy/go-cloudstack/commit/c767de689df1faedfec69233763a7c5334bee1f6
if len(userData.(string)) > 32768 { if len(ud) > 32768 {
return fmt.Errorf( return fmt.Errorf(
"The supplied user_data contains %d bytes before encoding, "+ "The supplied user_data contains %d bytes after encoding, "+
"this exeeds the limit of 32768 bytes", len(userData.(string))) "this exeeds the limit of 32768 bytes", len(ud))
} }
ud := base64.StdEncoding.EncodeToString([]byte(userData.(string)))
p.SetUserdata(ud) p.SetUserdata(ud)
} }