本文整理汇总了Golang中github.com/juju/juju/provider/lxd/lxdclient.Config类的典型用法代码示例。如果您正苦于以下问题:Golang Config类的具体用法?Golang Config怎么用?Golang Config使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Config类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestUsingTCPRemote
func (s *configFunctionalSuite) TestUsingTCPRemote(c *gc.C) {
if s.client == nil {
c.Skip("LXD not running locally")
}
cfg := lxdclient.Config{
Namespace: "my-ns",
Dirname: "some-dir",
Remote: lxdclient.Local,
}
nonlocal, err := cfg.UsingTCPRemote()
c.Assert(err, jc.ErrorIsNil)
checkValidRemote(c, &nonlocal.Remote)
c.Check(nonlocal, jc.DeepEquals, lxdclient.Config{
Namespace: "my-ns",
Dirname: "some-dir",
Remote: lxdclient.Remote{
Name: lxdclient.Local.Name,
Host: nonlocal.Remote.Host,
Cert: nonlocal.Remote.Cert,
},
})
// TODO(ericsnow) Check that the server has the certs.
}
示例2: TestValidateMissingRemote
func (s *configSuite) TestValidateMissingRemote(c *gc.C) {
cfg := lxdclient.Config{
Namespace: "my-ns",
Dirname: "some-dir",
}
err := cfg.Validate()
c.Check(err, jc.Satisfies, errors.IsNotValid)
}
示例3: TestValidateOkay
func (s *configSuite) TestValidateOkay(c *gc.C) {
cfg := lxdclient.Config{
Namespace: "my-ns",
Dirname: "some-dir",
Remote: s.remote,
}
err := cfg.Validate()
c.Check(err, jc.ErrorIsNil)
}
示例4: TestWithDefaultsOkay
func (s *configSuite) TestWithDefaultsOkay(c *gc.C) {
cfg := lxdclient.Config{
Namespace: "my-ns",
Dirname: "some-dir",
Remote: s.remote,
}
updated, err := cfg.WithDefaults()
c.Assert(err, jc.ErrorIsNil)
c.Check(updated, jc.DeepEquals, cfg)
}
示例5: TestUsingTCPRemoteNoop
func (s *configSuite) TestUsingTCPRemoteNoop(c *gc.C) {
cfg := lxdclient.Config{
Namespace: "my-ns",
Dirname: "some-dir",
Remote: s.remote,
}
nonlocal, err := cfg.UsingTCPRemote()
c.Assert(err, jc.ErrorIsNil)
c.Check(nonlocal, jc.DeepEquals, cfg)
}
示例6: TestWrite
func (s *configFunctionalSuite) TestWrite(c *gc.C) {
dirname := c.MkDir()
cfg := lxdclient.Config{
Namespace: "my-ns",
Dirname: dirname,
Remote: s.remote,
}
err := cfg.Write()
c.Assert(err, jc.ErrorIsNil)
checkFiles(c, cfg)
}
示例7: TestWithDefaultsMissingRemote
func (s *configSuite) TestWithDefaultsMissingRemote(c *gc.C) {
cfg := lxdclient.Config{
Namespace: "my-ns",
Dirname: "some-dir",
}
updated, err := cfg.WithDefaults()
c.Assert(err, jc.ErrorIsNil)
c.Check(updated, jc.DeepEquals, lxdclient.Config{
Namespace: "my-ns",
Dirname: "some-dir",
Remote: lxdclient.Local,
})
}
示例8: TestWithDefaultsMissingDirname
func (s *configSuite) TestWithDefaultsMissingDirname(c *gc.C) {
cfg := lxdclient.Config{
Namespace: "my-ns",
Dirname: "",
Remote: s.remote,
}
updated, err := cfg.WithDefaults()
c.Assert(err, jc.ErrorIsNil)
c.Check(updated, jc.DeepEquals, lxdclient.Config{
Namespace: "my-ns",
// TODO(ericsnow) This will change on Windows once the LXD
// code is cross-platform.
Dirname: "/.config/lxc", // IsolationSuite sets $HOME to "".
Remote: s.remote,
})
}
示例9: TestWithDefaultsMissingDirname
func (s *configSuite) TestWithDefaultsMissingDirname(c *gc.C) {
cfg := lxdclient.Config{
Namespace: "my-ns",
Dirname: "",
Remote: s.remote,
}
updated, err := cfg.WithDefaults()
c.Assert(err, jc.ErrorIsNil)
c.Logf("path.Clean of dirname is %s (dirname is %s)", path.Clean(updated.Dirname), updated.Dirname)
c.Check(updated, jc.DeepEquals, lxdclient.Config{
Namespace: "my-ns",
// TODO(ericsnow) This will change on Windows once the LXD
// code is cross-platform.
Dirname: "/.config/lxc",
Remote: s.remote,
})
}
示例10: clientConfig
// 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(),
}
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(),
Dirname: lxdclient.ConfigPath("juju-" + c.namespace()),
Remote: remote,
}
cfg, err := cfg.WithDefaults()
if err != nil {
return cfg, errors.Trace(err)
}
return cfg, nil
}
示例11: TestWriteInvalid
func (s *configSuite) TestWriteInvalid(c *gc.C) {
var cfg lxdclient.Config
err := cfg.Write()
c.Check(err, jc.Satisfies, errors.IsNotValid)
}
示例12: TestValidateZeroValue
func (s *configSuite) TestValidateZeroValue(c *gc.C) {
var cfg lxdclient.Config
err := cfg.Validate()
c.Check(err, jc.Satisfies, errors.IsNotValid)
}