func (s *configSuite) TestWithDefaultsMissingRemote(c *gc.C) { cfg := lxdclient.Config{} updated, err := cfg.WithDefaults() c.Assert(err, jc.ErrorIsNil) c.Check(updated, jc.DeepEquals, lxdclient.Config{ Remote: lxdclient.Local, }) }
func (s *configSuite) TestWithDefaultsOkay(c *gc.C) { cfg := lxdclient.Config{ Remote: s.remote, } updated, err := cfg.WithDefaults() c.Assert(err, jc.ErrorIsNil) c.Check(updated, jc.DeepEquals, cfg) }
func (s *configSuite) TestWithDefaultsMissingStream(c *gc.C) { cfg := lxdclient.Config{ Namespace: "my-ns", Remote: s.remote, } updated, err := cfg.WithDefaults() c.Assert(err, jc.ErrorIsNil) c.Check(updated, jc.DeepEquals, lxdclient.Config{ Namespace: "my-ns", Remote: s.remote, }) }
func ConnectLocal() (*lxdclient.Client, error) { cfg := lxdclient.Config{ Remote: lxdclient.Local, } cfg, err := cfg.WithDefaults() if err != nil { return nil, errors.Trace(err) } client, err := lxdclient.Connect(cfg, false) if err != nil { return nil, errors.Trace(err) } return client, nil }
func ConnectLocal(namespace string) (*lxdclient.Client, error) { cfg := lxdclient.Config{ Namespace: namespace, Remote: lxdclient.Local, } cfg, err := cfg.WithDefaults() if err != nil { return nil, errors.Trace(err) } client, err := lxdclient.Connect(cfg) if err != nil { return nil, errors.Trace(err) } return client, nil }
// clientConfig builds a LXD Config based on the env config and returns it. func (c *environConfig) clientConfig() (lxdclient.Config, error) { remote := lxdclient.Remote{ Name: "juju-remote", Host: c.remoteURL(), ServerPEMCert: c.serverPEMCert(), } if c.clientCert() != "" { certPEM := []byte(c.clientCert()) keyPEM := []byte(c.clientKey()) cert := lxdclient.NewCert(certPEM, keyPEM) cert.Name = fmt.Sprintf("juju cert for env %q", c.Name()) remote.Cert = &cert } cfg := lxdclient.Config{ Namespace: c.namespace(), Remote: remote, } cfg, err := cfg.WithDefaults() if err != nil { return cfg, errors.Trace(err) } return cfg, nil }