func (MAASRenderer) Render(cfg cloudinit.CloudConfig, os jujuos.OSType) ([]byte, error) { switch os { case jujuos.Ubuntu, jujuos.CentOS: return renderers.RenderYAML(cfg, utils.Gzip, renderers.ToBase64) case jujuos.Windows: return renderers.RenderYAML(cfg, renderers.WinEmbedInScript, renderers.ToBase64) default: return nil, errors.Errorf("Cannot encode userdata for OS: %s", os.String()) } }
func (CloudSigmaRenderer) Render(cfg cloudinit.CloudConfig, os jujuos.OSType) ([]byte, error) { switch os { case jujuos.Ubuntu, jujuos.CentOS: return renderers.RenderYAML(cfg, renderers.ToBase64) default: return nil, errors.Errorf("Cannot encode userdata for OS: %s", os.String()) } }
// EncodeUserdata implements renderers.ProviderRenderer. func (lxdRenderer) Render(cfg cloudinit.CloudConfig, os jujuos.OSType) ([]byte, error) { switch os { case jujuos.Ubuntu, jujuos.CentOS: return renderers.RenderYAML(cfg) default: return nil, errors.Errorf("cannot encode userdata for OS %q", os) } }
func (s *RenderersSuite) TestRenderYAML(c *gc.C) { cloudcfg := &cloudinittest.CloudConfig{YAML: []byte("yaml")} d1 := func(in []byte) []byte { return []byte("1." + string(in)) } d2 := func(in []byte) []byte { return []byte("2." + string(in)) } out, err := renderers.RenderYAML(cloudcfg, d2, d1) c.Assert(err, jc.ErrorIsNil) c.Assert(string(out), jc.DeepEquals, "1.2.yaml") cloudcfg.CheckCallNames(c, "RenderYAML") }