github.com/cloud-green/juju@v0.0.0-20151002100041-a00291338d3d/provider/ec2/userdata.go (about) 1 // Copyright 2015 Canonical Ltd. 2 // Copyright 2015 Cloudbase Solutions SRL 3 // Licensed under the AGPLv3, see LICENCE file for details. 4 5 package ec2 6 7 import ( 8 "github.com/juju/errors" 9 "github.com/juju/utils" 10 jujuos "github.com/juju/utils/os" 11 12 "github.com/juju/juju/cloudconfig/providerinit/renderers" 13 ) 14 15 type AmazonRenderer struct{} 16 17 func (AmazonRenderer) EncodeUserdata(udata []byte, os jujuos.OSType) ([]byte, error) { 18 switch os { 19 case jujuos.Ubuntu, jujuos.CentOS: 20 return utils.Gzip(udata), nil 21 case jujuos.Windows: 22 return renderers.AddPowershellTags(renderers.WinEmbedInScript(udata)), nil 23 default: 24 return nil, errors.Errorf("Cannot encode userdata for OS: %s", os.String()) 25 } 26 }