github.com/axw/juju@v0.0.0-20161005053422-4bd6544d08d4/provider/lxd/userdata.go (about)

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