本文整理汇总了Golang中github.com/juju/juju/state/cloudimagemetadata.Metadata.Region方法的典型用法代码示例。如果您正苦于以下问题:Golang Metadata.Region方法的具体用法?Golang Metadata.Region怎么用?Golang Metadata.Region使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/juju/juju/state/cloudimagemetadata.Metadata
的用法示例。
在下文中一共展示了Metadata.Region方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: parseMetadataFromParams
func (api *API) parseMetadataFromParams(p params.CloudImageMetadata, env environs.Environ) (cloudimagemetadata.Metadata, error) {
result := cloudimagemetadata.Metadata{
cloudimagemetadata.MetadataAttributes{
Stream: p.Stream,
Region: p.Region,
Version: p.Version,
Series: p.Series,
Arch: p.Arch,
VirtType: p.VirtType,
RootStorageType: p.RootStorageType,
RootStorageSize: p.RootStorageSize,
Source: p.Source,
},
p.Priority,
p.ImageId,
}
// Fill in any required default values.
if p.Stream == "" {
result.Stream = env.Config().ImageStream()
}
if p.Source == "" {
result.Source = "custom"
}
if result.Arch == "" {
result.Arch = "amd64"
}
if result.Series == "" {
result.Series = config.PreferredSeries(env.Config())
}
if result.Region == "" {
// If the env supports regions, use the env default.
if r, ok := env.(simplestreams.HasRegion); ok {
spec, err := r.Region()
if err != nil {
return cloudimagemetadata.Metadata{}, errors.Annotatef(err, "getting cloud region")
}
result.Region = spec.Region
}
}
return result, nil
}