github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/provider/openstack/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 openstack 6 7 import ( 8 "github.com/juju/errors" 9 "github.com/juju/utils/v3" 10 11 "github.com/juju/juju/cloudconfig/cloudinit" 12 "github.com/juju/juju/cloudconfig/providerinit/renderers" 13 "github.com/juju/juju/core/os/ostype" 14 ) 15 16 type OpenstackRenderer struct{} 17 18 func (OpenstackRenderer) Render(cfg cloudinit.CloudConfig, os ostype.OSType) ([]byte, error) { 19 switch os { 20 case ostype.Ubuntu, ostype.CentOS: 21 return renderers.RenderYAML(cfg, utils.Gzip) 22 default: 23 return nil, errors.Errorf("Cannot encode userdata for OS: %s", os.String()) 24 } 25 }