本文整理汇总了Golang中github.com/juju/juju/cloud.Credential类的典型用法代码示例。如果您正苦于以下问题:Golang Credential类的具体用法?Golang Credential怎么用?Golang Credential使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Credential类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: parseOAuthToken
func parseOAuthToken(cred cloud.Credential) (string, error) {
oauth := cred.Attributes()[credAttrMAASOAuth]
if strings.Count(oauth, ":") != 2 {
return "", errMalformedMaasOAuth
}
return oauth, nil
}
示例2: updateCloudCredentialOp
// updateCloudCredentialOp returns a txn.Op that will update
// a cloud credential.
func updateCloudCredentialOp(tag names.CloudCredentialTag, cred cloud.Credential) txn.Op {
return txn.Op{
C: cloudCredentialsC,
Id: cloudCredentialDocID(tag),
Assert: txn.DocExists,
Update: bson.D{{"$set", bson.D{
{"auth-type", string(cred.AuthType())},
{"attributes", cred.Attributes()},
{"revoked", cred.Revoked},
}}},
}
}
示例3: createCloudCredentialOp
// createCloudCredentialOp returns a txn.Op that will create
// a cloud credential.
func createCloudCredentialOp(tag names.CloudCredentialTag, cred cloud.Credential) txn.Op {
return txn.Op{
C: cloudCredentialsC,
Id: cloudCredentialDocID(tag),
Assert: txn.DocMissing,
Insert: &cloudCredentialDoc{
Owner: tag.Owner().Id(),
Cloud: tag.Cloud().Id(),
Name: tag.Name(),
AuthType: string(cred.AuthType()),
Attributes: cred.Attributes(),
Revoked: cred.Revoked,
},
}
}
示例4: UpdateCredential
// UpdateCredential updates a cloud credentials.
func (c *Client) UpdateCredential(tag names.CloudCredentialTag, credential jujucloud.Credential) error {
var results params.ErrorResults
args := params.UpdateCloudCredentials{
Credentials: []params.UpdateCloudCredential{{
Tag: tag.String(),
Credential: params.CloudCredential{
AuthType: string(credential.AuthType()),
Attributes: credential.Attributes(),
},
}},
}
if err := c.facade.FacadeCall("UpdateCredentials", args, &results); err != nil {
return errors.Trace(err)
}
return results.OneError()
}
示例5: detectCredential
func (c OpenstackCredentials) detectCredential() (*cloud.Credential, string, string, error) {
creds := identity.CredentialsFromEnv()
if creds.TenantName == "" {
return nil, "", "", errors.NewNotFound(nil, "OS_TENANT_NAME environment variable not set")
}
if creds.User == "" {
return nil, "", "", errors.NewNotFound(nil, "neither OS_USERNAME nor OS_ACCESS_KEY environment variable not set")
}
if creds.Secrets == "" {
return nil, "", "", errors.NewNotFound(nil, "neither OS_PASSWORD nor OS_SECRET_KEY environment variable not set")
}
user, err := utils.LocalUsername()
if err != nil {
return nil, "", "", errors.Trace(err)
}
// If OS_USERNAME or NOVA_USERNAME is set, assume userpass.
var credential cloud.Credential
if os.Getenv("OS_USERNAME") != "" || os.Getenv("NOVA_USERNAME") != "" {
user = creds.User
credential = cloud.NewCredential(
cloud.UserPassAuthType,
map[string]string{
credAttrUserName: creds.User,
credAttrPassword: creds.Secrets,
credAttrTenantName: creds.TenantName,
credAttrDomainName: creds.DomainName,
},
)
} else {
credential = cloud.NewCredential(
cloud.AccessKeyAuthType,
map[string]string{
credAttrAccessKey: creds.User,
credAttrSecretKey: creds.Secrets,
credAttrTenantName: creds.TenantName,
},
)
}
region := creds.Region
if region == "" {
region = "<unspecified>"
}
credential.Label = fmt.Sprintf("openstack region %q project %q user %q", region, creds.TenantName, user)
return &credential, user, creds.Region, nil
}