本文整理汇总了Golang中github.com/juju/core/environs/config.New函数的典型用法代码示例。如果您正苦于以下问题:Golang New函数的具体用法?Golang New怎么用?Golang New使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了New函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: TestValidateAcceptsUnchangedConfig
func (*configSuite) TestValidateAcceptsUnchangedConfig(c *gc.C) {
attrs := makeAzureConfigMap(c)
provider := azureEnvironProvider{}
oldConfig, err := config.New(config.NoDefaults, attrs)
c.Assert(err, gc.IsNil)
newConfig, err := config.New(config.NoDefaults, attrs)
c.Assert(err, gc.IsNil)
result, err := provider.Validate(newConfig, oldConfig)
c.Assert(err, gc.IsNil)
c.Check(result.Name(), gc.Equals, attrs["name"])
}
开发者ID:jkary,项目名称:core,代码行数:11,代码来源:config_test.go
示例2: TestValidateChecksConfigChanges
func (*configSuite) TestValidateChecksConfigChanges(c *gc.C) {
provider := azureEnvironProvider{}
oldConfig, err := config.New(config.NoDefaults, makeConfigMap(nil))
c.Assert(err, gc.IsNil)
newAttrs := makeConfigMap(map[string]interface{}{
"name": "different-name",
})
newConfig, err := config.New(config.NoDefaults, newAttrs)
c.Assert(err, gc.IsNil)
_, err = provider.Validate(newConfig, oldConfig)
c.Check(err, gc.NotNil)
}
开发者ID:jkary,项目名称:core,代码行数:12,代码来源:config_test.go
示例3: NewFromAttrs
// NewFromAttrs returns a new environment based on the provided configuration
// attributes.
// TODO(rog) remove this function - it's almost always wrong to use it.
func NewFromAttrs(attrs map[string]interface{}) (Environ, error) {
cfg, err := config.New(config.NoDefaults, attrs)
if err != nil {
return nil, err
}
return New(cfg)
}
开发者ID:jkary,项目名称:core,代码行数:10,代码来源:open.go
示例4: ConfigForName
// ConfigForName returns the configuration for the environment with
// the given name from the default environments file. If the name is
// blank, the default environment will be used. If the configuration
// is not found, an errors.NotFoundError is returned. If the given
// store contains an entry for the environment and it has associated
// bootstrap config, that configuration will be returned.
// ConfigForName also returns where the configuration was sourced from
// (this is also valid even when there is an error.
func ConfigForName(name string, store configstore.Storage) (*config.Config, ConfigSource, error) {
envs, err := ReadEnvirons("")
if err != nil {
return nil, ConfigFromNowhere, err
}
if name == "" {
name = envs.Default
}
// TODO(rog) 2013-10-04 https://bugs.github.com/juju/core/+bug/1235217
// Don't fall back to reading from environments.yaml
// when we can be sure that everyone has a
// .jenv file for their currently bootstrapped environments.
if name != "" {
info, err := store.ReadInfo(name)
if err == nil {
if len(info.BootstrapConfig()) == 0 {
return nil, ConfigFromNowhere, EmptyConfig{fmt.Errorf("environment has no bootstrap configuration data")}
}
logger.Debugf("ConfigForName found bootstrap config %#v", info.BootstrapConfig())
cfg, err := config.New(config.NoDefaults, info.BootstrapConfig())
return cfg, ConfigFromInfo, err
}
if err != nil && !errors.IsNotFound(err) {
return nil, ConfigFromInfo, fmt.Errorf("cannot read environment info for %q: %v", name, err)
}
}
cfg, err := envs.Config(name)
return cfg, ConfigFromEnvirons, err
}
开发者ID:jkary,项目名称:core,代码行数:37,代码来源:open.go
示例5: TestNewConn
func (*NewAPIConnSuite) TestNewConn(c *gc.C) {
cfg, err := config.New(config.NoDefaults, dummy.SampleConfig())
c.Assert(err, gc.IsNil)
ctx := coretesting.Context(c)
env, err := environs.Prepare(cfg, ctx, configstore.NewMem())
c.Assert(err, gc.IsNil)
envtesting.UploadFakeTools(c, env.Storage())
err = bootstrap.Bootstrap(ctx, env, environs.BootstrapParams{})
c.Assert(err, gc.IsNil)
cfg = env.Config()
cfg, err = cfg.Apply(map[string]interface{}{
"secret": "fnord",
})
c.Assert(err, gc.IsNil)
err = env.SetConfig(cfg)
c.Assert(err, gc.IsNil)
conn, err := juju.NewAPIConn(env, api.DefaultDialOpts())
c.Assert(err, gc.IsNil)
c.Assert(conn.Environ, gc.Equals, env)
c.Assert(conn.State, gc.NotNil)
// the secrets will not be updated, as they already exist
attrs, err := conn.State.Client().EnvironmentGet()
c.Assert(attrs["secret"], gc.Equals, "pork")
c.Assert(conn.Close(), gc.IsNil)
}
开发者ID:jkary,项目名称:core,代码行数:30,代码来源:apiconn_test.go
示例6: TestValidateParsesAzureConfig
func (*configSuite) TestValidateParsesAzureConfig(c *gc.C) {
location := "location"
managementSubscriptionId := "subscription-id"
certificate := "certificate content"
storageAccountName := "account-name"
forceImageName := "force-image-name"
unknownFutureSetting := "preserved"
azureConfig := map[string]interface{}{
"location": location,
"management-subscription-id": managementSubscriptionId,
"management-certificate": certificate,
"storage-account-name": storageAccountName,
"force-image-name": forceImageName,
"unknown-future-setting": unknownFutureSetting,
}
attrs := makeConfigMap(azureConfig)
provider := azureEnvironProvider{}
config, err := config.New(config.NoDefaults, attrs)
c.Assert(err, gc.IsNil)
azConfig, err := provider.newConfig(config)
c.Assert(err, gc.IsNil)
c.Check(azConfig.Name(), gc.Equals, attrs["name"])
c.Check(azConfig.location(), gc.Equals, location)
c.Check(azConfig.managementSubscriptionId(), gc.Equals, managementSubscriptionId)
c.Check(azConfig.managementCertificate(), gc.Equals, certificate)
c.Check(azConfig.storageAccountName(), gc.Equals, storageAccountName)
c.Check(azConfig.forceImageName(), gc.Equals, forceImageName)
c.Check(azConfig.UnknownAttrs()["unknown-future-setting"], gc.Equals, unknownFutureSetting)
}
开发者ID:jkary,项目名称:core,代码行数:29,代码来源:config_test.go
示例7: assertGetImageMetadataSources
func (suite *environSuite) assertGetImageMetadataSources(c *gc.C, stream, officialSourcePath string) {
// Make an env configured with the stream.
testAttrs := maasEnvAttrs
testAttrs = testAttrs.Merge(coretesting.Attrs{
"maas-server": suite.testMAASObject.TestServer.URL,
})
if stream != "" {
testAttrs = testAttrs.Merge(coretesting.Attrs{
"image-stream": stream,
})
}
attrs := coretesting.FakeConfig().Merge(testAttrs)
cfg, err := config.New(config.NoDefaults, attrs)
c.Assert(err, gc.IsNil)
env, err := NewEnviron(cfg)
c.Assert(err, gc.IsNil)
// Add a dummy file to storage so we can use that to check the
// obtained source later.
data := makeRandomBytes(10)
stor := NewStorage(env)
err = stor.Put("images/filename", bytes.NewBuffer([]byte(data)), int64(len(data)))
c.Assert(err, gc.IsNil)
sources, err := imagemetadata.GetMetadataSources(env)
c.Assert(err, gc.IsNil)
c.Assert(len(sources), gc.Equals, 2)
assertSourceContents(c, sources[0], "filename", data)
url, err := sources[1].URL("")
c.Assert(err, gc.IsNil)
c.Assert(url, gc.Equals, fmt.Sprintf("http://cloud-images.ubuntu.com/%s/", officialSourcePath))
}
开发者ID:jkary,项目名称:core,代码行数:31,代码来源:environ_whitebox_test.go
示例8: getEnvironConfig
func getEnvironConfig(c *gc.C, attrs map[string]interface{}) *environConfig {
testConfig, err := config.New(config.UseDefaults, attrs)
c.Assert(err, gc.IsNil)
envConfig, err := manualProvider{}.validate(testConfig, nil)
c.Assert(err, gc.IsNil)
return envConfig
}
开发者ID:jkary,项目名称:core,代码行数:7,代码来源:config_test.go
示例9: assertStartInstanceDefaultSecurityGroup
func (s *LiveTests) assertStartInstanceDefaultSecurityGroup(c *gc.C, useDefault bool) {
attrs := s.TestConfig.Merge(coretesting.Attrs{
"name": "sample-" + randomName(),
"control-bucket": "juju-test-" + randomName(),
"use-default-secgroup": useDefault,
})
cfg, err := config.New(config.NoDefaults, attrs)
c.Assert(err, gc.IsNil)
// Set up a test environment.
env, err := environs.New(cfg)
c.Assert(err, gc.IsNil)
c.Assert(env, gc.NotNil)
defer env.Destroy()
// Bootstrap and start an instance.
err = bootstrap.Bootstrap(coretesting.Context(c), env, environs.BootstrapParams{})
c.Assert(err, gc.IsNil)
inst, _ := jujutesting.AssertStartInstance(c, env, "100")
// Check whether the instance has the default security group assigned.
novaClient := openstack.GetNovaClient(env)
groups, err := novaClient.GetServerSecurityGroups(string(inst.Id()))
c.Assert(err, gc.IsNil)
defaultGroupFound := false
for _, group := range groups {
if group.Name == "default" {
defaultGroupFound = true
break
}
}
c.Assert(defaultGroupFound, gc.Equals, useDefault)
}
开发者ID:jkary,项目名称:core,代码行数:30,代码来源:live_test.go
示例10: assertGetImageMetadataSources
func (t *ProviderSuite) assertGetImageMetadataSources(c *gc.C, stream, officialSourcePath string) {
// Make an env configured with the stream.
envAttrs := localConfigAttrs
if stream != "" {
envAttrs = envAttrs.Merge(coretesting.Attrs{
"image-stream": stream,
})
}
cfg, err := config.New(config.NoDefaults, envAttrs)
c.Assert(err, gc.IsNil)
env, err := environs.Prepare(cfg, coretesting.Context(c), configstore.NewMem())
c.Assert(err, gc.IsNil)
c.Assert(env, gc.NotNil)
sources, err := imagemetadata.GetMetadataSources(env)
c.Assert(err, gc.IsNil)
c.Assert(len(sources), gc.Equals, 2)
var urls = make([]string, len(sources))
for i, source := range sources {
url, err := source.URL("")
c.Assert(err, gc.IsNil)
urls[i] = url
}
// The control bucket URL contains the bucket name.
c.Check(strings.Contains(urls[0], ec2.ControlBucketName(env)+"/images"), jc.IsTrue)
c.Assert(urls[1], gc.Equals, fmt.Sprintf("http://cloud-images.ubuntu.com/%s/", officialSourcePath))
}
开发者ID:jkary,项目名称:core,代码行数:27,代码来源:local_test.go
示例11: TestFirewallMode
func (s *ConfigSuite) TestFirewallMode(c *gc.C) {
for i, test := range firewallModeTests {
c.Logf("test %d: %s", i, test.configFirewallMode)
attrs := dummy.SampleConfig()
if test.configFirewallMode != "" {
attrs = attrs.Merge(testing.Attrs{
"firewall-mode": test.configFirewallMode,
})
}
cfg, err := config.New(config.NoDefaults, attrs)
if err != nil {
c.Assert(err, gc.ErrorMatches, test.errorMsg)
continue
}
ctx := testing.Context(c)
env, err := environs.Prepare(cfg, ctx, configstore.NewMem())
if test.errorMsg != "" {
c.Assert(err, gc.ErrorMatches, test.errorMsg)
continue
}
c.Assert(err, gc.IsNil)
defer env.Destroy()
firewallMode := env.Config().FirewallMode()
c.Assert(firewallMode, gc.Equals, test.firewallMode)
s.TearDownTest(c)
}
}
开发者ID:jkary,项目名称:core,代码行数:29,代码来源:config_test.go
示例12: TestPrepareUseSSHStorage
func (s *providerSuite) TestPrepareUseSSHStorage(c *gc.C) {
minimal := manual.MinimalConfigValues()
minimal["use-sshstorage"] = false
testConfig, err := config.New(config.UseDefaults, minimal)
c.Assert(err, gc.IsNil)
_, err = manual.ProviderInstance.Prepare(coretesting.Context(c), testConfig)
c.Assert(err, gc.ErrorMatches, "use-sshstorage must not be specified")
s.PatchValue(manual.NewSSHStorage, func(sshHost, storageDir, storageTmpdir string) (storage.Storage, error) {
return nil, fmt.Errorf("newSSHStorage failed")
})
minimal["use-sshstorage"] = true
testConfig, err = config.New(config.UseDefaults, minimal)
c.Assert(err, gc.IsNil)
_, err = manual.ProviderInstance.Prepare(coretesting.Context(c), testConfig)
c.Assert(err, gc.ErrorMatches, "initialising SSH storage failed: newSSHStorage failed")
}
开发者ID:jkary,项目名称:core,代码行数:17,代码来源:provider_test.go
示例13: SetUpTest
func (s *StorageSuite) SetUpTest(c *gc.C) {
s.BaseSuite.SetUpTest(c)
cfg, err := config.New(config.NoDefaults, dummy.SampleConfig())
c.Assert(err, gc.IsNil)
s.env, err = environs.Prepare(cfg, testing.Context(c), configstore.NewMem())
c.Assert(err, gc.IsNil)
s.dataDir = c.MkDir()
}
开发者ID:jkary,项目名称:core,代码行数:8,代码来源:storage_test.go
示例14: CustomEnvironConfig
// CustomEnvironConfig returns an environment configuration with
// additional specified keys added.
func CustomEnvironConfig(c *gc.C, extra Attrs) *config.Config {
attrs := FakeConfig().Merge(Attrs{
"agent-version": "1.2.3",
}).Merge(extra).Delete("admin-secret", "ca-private-key")
cfg, err := config.New(config.NoDefaults, attrs)
c.Assert(err, gc.IsNil)
return cfg
}
开发者ID:jkary,项目名称:core,代码行数:10,代码来源:environ.go
示例15: EnvironConfig
func (st *State) EnvironConfig() (*config.Config, error) {
settings, err := readSettings(st, environGlobalKey)
if err != nil {
return nil, err
}
attrs := settings.Map()
return config.New(config.NoDefaults, attrs)
}
开发者ID:jkary,项目名称:core,代码行数:8,代码来源:state.go
示例16: Prepare
// Prepare prepares an instance of the testing environment.
func (t *Tests) Prepare(c *gc.C) environs.Environ {
cfg, err := config.New(config.NoDefaults, t.TestConfig)
c.Assert(err, gc.IsNil)
e, err := environs.Prepare(cfg, coretesting.Context(c), t.ConfigStore)
c.Assert(err, gc.IsNil, gc.Commentf("preparing environ %#v", t.TestConfig))
c.Assert(e, gc.NotNil)
return e
}
开发者ID:jkary,项目名称:core,代码行数:9,代码来源:tests.go
示例17: TestChecksLocationIsRequired
func (*configSuite) TestChecksLocationIsRequired(c *gc.C) {
attrs := makeAzureConfigMap(c)
attrs["location"] = ""
provider := azureEnvironProvider{}
newConfig, err := config.New(config.NoDefaults, attrs)
c.Assert(err, gc.IsNil)
_, err = provider.Validate(newConfig, nil)
c.Check(err, gc.ErrorMatches, ".*environment has no location.*")
}
开发者ID:jkary,项目名称:core,代码行数:9,代码来源:config_test.go
示例18: TestEmptyImageStream1dot16Compat
func (*configSuite) TestEmptyImageStream1dot16Compat(c *gc.C) {
attrs := makeAzureConfigMap(c)
attrs["image-stream"] = ""
provider := azureEnvironProvider{}
cfg, err := config.New(config.UseDefaults, attrs)
c.Assert(err, gc.IsNil)
_, err = provider.Validate(cfg, nil)
c.Assert(err, gc.IsNil)
}
开发者ID:jkary,项目名称:core,代码行数:9,代码来源:config_test.go
示例19: newTestConfig
func newTestConfig(c *gc.C, explicit testing.Attrs) *config.Config {
final := testing.Attrs{"type": "my-type", "name": "my-name"}
for key, value := range explicit {
final[key] = value
}
result, err := config.New(config.UseDefaults, final)
c.Assert(err, gc.IsNil)
return result
}
开发者ID:jkary,项目名称:core,代码行数:9,代码来源:config_test.go
示例20: Open
// Open opens an instance of the testing environment.
func (t *Tests) Open(c *gc.C) environs.Environ {
info, err := t.ConfigStore.ReadInfo(t.TestConfig["name"].(string))
c.Assert(err, gc.IsNil)
cfg, err := config.New(config.NoDefaults, info.BootstrapConfig())
c.Assert(err, gc.IsNil)
e, err := environs.New(cfg)
c.Assert(err, gc.IsNil, gc.Commentf("opening environ %#v", cfg.AllAttrs()))
c.Assert(e, gc.NotNil)
return e
}
开发者ID:jkary,项目名称:core,代码行数:11,代码来源:tests.go
注:本文中的github.com/juju/core/environs/config.New函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论