github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/provider/lxd/userdata.go (about) 1 // Copyright 2015 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package lxd 5 6 import ( 7 "github.com/juju/errors" 8 jujuos "github.com/juju/os" 9 10 "github.com/juju/juju/cloudconfig/cloudinit" 11 "github.com/juju/juju/cloudconfig/providerinit/renderers" 12 ) 13 14 type lxdRenderer struct{} 15 16 // EncodeUserdata implements renderers.ProviderRenderer. 17 func (lxdRenderer) Render(cfg cloudinit.CloudConfig, os jujuos.OSType) ([]byte, error) { 18 switch os { 19 case jujuos.Ubuntu, jujuos.CentOS, jujuos.OpenSUSE: 20 bytes, err := renderers.RenderYAML(cfg) 21 return bytes, errors.Trace(err) 22 default: 23 return nil, errors.Errorf("cannot encode userdata for OS %q", os) 24 } 25 }