本文整理汇总了Golang中github.com/juju/juju/cloud.CloudCredential.DefaultCredential方法的典型用法代码示例。如果您正苦于以下问题:Golang CloudCredential.DefaultCredential方法的具体用法?Golang CloudCredential.DefaultCredential怎么用?Golang CloudCredential.DefaultCredential使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/juju/juju/cloud.CloudCredential
的用法示例。
在下文中一共展示了CloudCredential.DefaultCredential方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: UpdateCredential
// UpdateCredential implements CredentialUpdater.
func (s *store) UpdateCredential(cloudName string, details cloud.CloudCredential) error {
releaser, err := s.acquireLock()
if err != nil {
return errors.Annotatef(err, "cannot update credentials for %v", cloudName)
}
defer releaser.Release()
all, err := ReadCredentialsFile(JujuCredentialsPath())
if err != nil {
return errors.Annotate(err, "cannot get credentials")
}
if len(all) == 0 {
all = make(map[string]cloud.CloudCredential)
}
// Clear the default credential if we are removing that one.
if existing, ok := all[cloudName]; ok && existing.DefaultCredential != "" {
stillHaveDefault := false
for name := range details.AuthCredentials {
if name == existing.DefaultCredential {
stillHaveDefault = true
break
}
}
if !stillHaveDefault {
details.DefaultCredential = ""
}
}
all[cloudName] = details
return WriteCredentialsFile(all)
}