Documentation
¶
Index ¶
- func NewError(code ErrorCode, f string, a ...interface{}) error
- type AgentLogin
- type AgentLoginResponse
- type DeleteSSHKeysBody
- type DeleteSSHKeysRequest
- type Error
- type ErrorCode
- type LoginMethods
- type PublicKeyRequest
- type PublicKeyResponse
- type PutSSHKeysBody
- type PutSSHKeysRequest
- type QueryUsersRequest
- type SSHKeysRequest
- type SSHKeysResponse
- type SetUserExtraInfoItemRequest
- type SetUserExtraInfoRequest
- type SetUserRequest
- type User
- type UserExtraInfoItemRequest
- type UserExtraInfoRequest
- type UserGroupsRequest
- type UserIDPGroupsRequest
- type UserRequest
- type UserTokenRequest
- type Username
- type VerifyTokenRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AgentLogin ¶
type AgentLogin struct {
Username Username `json:"username"`
PublicKey *bakery.PublicKey `json:"public_key"`
}
AgentLogin contains the claimed identity the agent is attempting to use to log in.
type AgentLoginResponse ¶
type AgentLoginResponse struct {
AgentLogin bool `json:"agent_login"`
}
AgentLoginResponse contains the response to an agent login attempt.
type DeleteSSHKeysBody ¶
type DeleteSSHKeysBody struct {
SSHKeys []string `json:"ssh-keys"`
}
DeleteSSHKeysBody holds the body of a DeleteSSHKeysRequest.
type DeleteSSHKeysRequest ¶
type DeleteSSHKeysRequest struct {
httprequest.Route `httprequest:"DELETE /v1/u/:username/ssh-keys"`
Username Username `httprequest:"username,path"`
Body DeleteSSHKeysBody `httprequest:",body"`
}
DeleteSSHKeysRequest is a request to remove ssh keys from the list of ssh keys associated with the user.
type Error ¶
type Error struct {
Message string `json:"message,omitempty"`
Code ErrorCode `json:"code,omitempty"`
}
Error represents an error - it is returned for any response that fails.
type ErrorCode ¶
type ErrorCode string
ErrorCode holds the class of an error in machine-readable format. It is also an error in its own right.
type LoginMethods ¶
type LoginMethods struct {
// Agent is the endpoint to connect to, if the client wishes to
// authenticate as an agent.
Agent string `json:"agent,omitempty"`
// Interactive is the endpoint to connect to, if the user can
// interact with the login process.
Interactive string `json:"interactive,omitempty"`
// UbuntuSSO OAuth is the endpoint to send a request, signed with
// UbuntuSSO OAuth credentials, to if the client wishes to use
// oauth to log in to Identity Manager. Ubuntu SSO uses oauth 1.0.
UbuntuSSOOAuth string `json:"usso_oauth,omitempty"`
// Form is the endpoint to GET a schema for a login form which
// can be presented to the user in an interactive manner. The
// schema will be returned as an environschema.Fields object. The
// completed form should be POSTed back to the same endpoint.
Form string `json:"form,omitempty"`
}
LoginMethods holds the response from the /v1/login endpoint when called with "Accept: application/json". This enumerates the available methods for the client to log in.
type PublicKeyRequest ¶
type PublicKeyRequest struct {
httprequest.Route `httprequest:"GET /publickey"`
}
PublicKeyRequest documents the /publickey endpoint. As it contains no request information there is no need to ever create one.
type PublicKeyResponse ¶
PublicKeyResponse is the response to a PublicKeyRequest.
type PutSSHKeysBody ¶
PutSSHKeysBody holds the body of a PutSSHKeysRequest.
type PutSSHKeysRequest ¶
type PutSSHKeysRequest struct {
httprequest.Route `httprequest:"PUT /v1/u/:username/ssh-keys"`
Username Username `httprequest:"username,path"`
Body PutSSHKeysBody `httprequest:",body"`
}
PutSSHKeysRequest is a request to set ssh keys to the list of ssh keys associated with the user.
type QueryUsersRequest ¶
type QueryUsersRequest struct {
httprequest.Route `httprequest:"GET /v1/u" bson:",omitempty"`
ExternalID string `httprequest:"external_id,form" bson:"external_id,omitempty"`
}
QueryUsersRequest is a request to query the users in the system.
type SSHKeysRequest ¶
type SSHKeysRequest struct {
httprequest.Route `httprequest:"GET /v1/u/:username/ssh-keys"`
Username Username `httprequest:"username,path"`
}
SSHKeysRequest is a request for the list of ssh keys associated with the specified user.
type SSHKeysResponse ¶
type SSHKeysResponse struct {
SSHKeys []string `json:"ssh_keys"`
}
UserSSHKeysResponse holds a response to the GET /v1/u/:username/ssh-keys containing list of ssh keys associated with the user.
type SetUserExtraInfoItemRequest ¶
type SetUserExtraInfoItemRequest struct {
httprequest.Route `httprequest:"PUT /v1/u/:username/extra-info/:item"`
Username Username `httprequest:"username,path"`
Item string `httprequest:"item,path"`
Data interface{} `httprequest:",body"`
}
SetUserExtraInfoItemRequest is a request to update a single element of the arbitrary extra information stored about the user.
type SetUserExtraInfoRequest ¶
type SetUserExtraInfoRequest struct {
httprequest.Route `httprequest:"PUT /v1/u/:username/extra-info"`
Username Username `httprequest:"username,path"`
ExtraInfo map[string]interface{} `httprequest:",body"`
}
SetUserExtraInfoRequest is a request to updated the arbitrary extra information stored about the user.
type SetUserRequest ¶
type SetUserRequest struct {
httprequest.Route `httprequest:"PUT /v1/u/:username"`
Username Username `httprequest:"username,path"`
User `httprequest:",body"`
}
SetUserRequest is request to set the details of a user.
type User ¶
type User struct {
Username Username `json:"username,omitempty"`
ExternalID string `json:"external_id"`
FullName string `json:"fullname"`
Email string `json:"email"`
GravatarID string `json:"gravatar_id"`
IDPGroups []string `json:"idpgroups"`
Owner Username `json:"owner,omitempty"`
PublicKeys []*bakery.PublicKey `json:"public_keys"`
SSHKeys []string `json:"ssh_keys"`
}
User represents a user in the system.
type UserExtraInfoItemRequest ¶
type UserExtraInfoItemRequest struct {
httprequest.Route `httprequest:"GET /v1/u/:username/extra-info/:item"`
Username Username `httprequest:"username,path"`
Item string `httprequest:"item,path"`
}
UserExtraInfoItemRequest is a request for a single element of the arbitrary extra information stored about the user.
type UserExtraInfoRequest ¶
type UserExtraInfoRequest struct {
httprequest.Route `httprequest:"GET /v1/u/:username/extra-info"`
Username Username `httprequest:"username,path"`
}
UserExtraInfoRequest is a request for the arbitrary extra information stored about the user.
type UserGroupsRequest ¶
type UserGroupsRequest struct {
httprequest.Route `httprequest:"GET /v1/u/:username/groups"`
Username Username `httprequest:"username,path"`
}
UserGroupsRequest is a request for the list of groups associated with the specified user.
type UserIDPGroupsRequest ¶
type UserIDPGroupsRequest struct {
httprequest.Route `httprequest:"GET /v1/u/:username/idpgroups"`
UserGroupsRequest
}
UserIDPGroupsRequest defines the deprecated path for UserGroupsRequest. It should no longer be used.
type UserRequest ¶
type UserRequest struct {
httprequest.Route `httprequest:"GET /v1/u/:username"`
Username Username `httprequest:"username,path"`
}
UserRequest is a request for the user details of the named user.
type UserTokenRequest ¶
type UserTokenRequest struct {
httprequest.Route `httprequest:"GET /v1/u/:username/macaroon"`
Username Username `httprequest:"username,path"`
}
UserTokenRequest is a request for a new token to represent the user.
type Username ¶
type Username string
Username represents the name of a user.
func (*Username) UnmarshalText ¶
UnmarshalText unmarshals a Username checking it is valid. It implements "encoding".TextUnmarshaler.
type VerifyTokenRequest ¶
type VerifyTokenRequest struct {
httprequest.Route `httprequest:"POST /v1/verify"`
Macaroons macaroon.Slice `httprequest:",body"`
}
VerifyTokenRequest is a request to verify that the provided macaroon.Slice is valid and represents a user from identity.