本文整理匯總了Golang中github.com/juju/juju/storage.Config類的典型用法代碼示例。如果您正苦於以下問題:Golang Config類的具體用法?Golang Config怎麽用?Golang Config使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了Config類的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: validateFullConfig
// validateFullConfig validates a fully-constructed storage config,
// combining the user-specified config and any internally specified
// config.
func (p *rootfsProvider) validateFullConfig(cfg *storage.Config) error {
if err := p.ValidateConfig(cfg); err != nil {
return err
}
storageDir, ok := cfg.ValueString(storage.ConfigStorageDir)
if !ok || storageDir == "" {
return errors.New("storage directory not specified")
}
return nil
}
示例2: FilesystemSource
// FilesystemSource is defined on the Provider interface.
func (p *rootfsProvider) FilesystemSource(environConfig *config.Config, sourceConfig *storage.Config) (storage.FilesystemSource, error) {
if err := p.validateFullConfig(sourceConfig); err != nil {
return nil, err
}
// storageDir is validated by validateFullConfig.
storageDir, _ := sourceConfig.ValueString(storage.ConfigStorageDir)
return &rootfsFilesystemSource{
&osDirFuncs{p.run},
p.run,
storageDir,
}, nil
}
示例3: VolumeSource
// VolumeSource is defined on the Provider interface.
func (lp *loopProvider) VolumeSource(sourceConfig *storage.Config) (storage.VolumeSource, error) {
if err := lp.validateFullConfig(sourceConfig); err != nil {
return nil, err
}
// storageDir is validated by validateFullConfig.
storageDir, _ := sourceConfig.ValueString(storage.ConfigStorageDir)
return &loopVolumeSource{
&osDirFuncs{lp.run},
lp.run,
storageDir,
}, nil
}
示例4: ValidateConfig
// ValidateConfig is defined on the Provider interface.
func (e *ebsProvider) ValidateConfig(cfg *storage.Config) error {
_, err := newEbsConfig(cfg.Attrs())
return errors.Trace(err)
}
示例5: ValidateConfig
// ValidateConfig is defined on the Provider interface.
func (e *azureStorageProvider) ValidateConfig(cfg *storage.Config) error {
_, err := newAzureStorageConfig(cfg.Attrs())
return errors.Trace(err)
}
示例6: ValidateConfig
// ValidateConfig performs storage provider config validation, including
// any common validation.
func ValidateConfig(p storage.Provider, cfg *storage.Config) error {
if p.Scope() == storage.ScopeMachine && cfg.IsPersistent() {
return errors.Errorf("machine scoped storage provider %q does not support persistent storage", cfg.Name())
}
return p.ValidateConfig(cfg)
}
示例7: addDefaultPool
func addDefaultPool(pm PoolManager, pool *storage.Config) error {
_, err := pm.Get(pool.Name())
if err != nil && !errors.IsNotFound(err) {
return errors.Annotatef(err, "loading default pool %q", pool.Name())
}
if err != nil {
// We got a not found error, so default pool doesn't exist.
if _, err := pm.Create(pool.Name(), pool.Provider(), pool.Attrs()); err != nil {
return errors.Annotatef(err, "creating default pool %q", pool.Name())
}
}
return nil
}