本文整理汇总了Golang中github.com/juju/names.Tag.Kind方法的典型用法代码示例。如果您正苦于以下问题:Golang Tag.Kind方法的具体用法?Golang Tag.Kind怎么用?Golang Tag.Kind使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/juju/names.Tag
的用法示例。
在下文中一共展示了Tag.Kind方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: authenticatorForTag
// authenticatorForTag returns the authenticator appropriate
// to use for a login with the given possibly-nil tag.
func (ctxt *authContext) authenticatorForTag(tag names.Tag) (authentication.EntityAuthenticator, error) {
if tag == nil {
auth, err := ctxt.macaroonAuth()
if errors.Cause(err) == errMacaroonAuthNotConfigured {
// Make a friendlier error message.
err = errors.New("no credentials provided")
}
if err != nil {
return nil, errors.Trace(err)
}
return auth, nil
}
switch tag.Kind() {
case names.UnitTagKind, names.MachineTagKind:
return &ctxt.agentAuth, nil
case names.UserTagKind:
return &ctxt.userAuth, nil
default:
return nil, errors.Annotatef(common.ErrBadRequest, "unexpected login entity tag")
}
}
示例2: Authenticate
// Authenticate authenticates the provided entity and returns an error on authentication failure.
func (u *UserAuthenticator) Authenticate(entityFinder EntityFinder, tag names.Tag, req params.LoginRequest) (state.Entity, error) {
if tag.Kind() != names.UserTagKind {
return nil, errors.Errorf("invalid request")
}
return u.AgentAuthenticator.Authenticate(entityFinder, tag, req)
}
示例3: FindEntity
func (m *mockState) FindEntity(tag names.Tag) (state.Entity, error) {
if tag.Kind() == names.ModelTagKind && tag.Id() == m.env.UUID() {
return m.env, nil
}
return nil, errors.NotFoundf("entity with tag %q", tag.String())
}