Documentation ¶
Index ¶
- func KeepAlive(roundTripper soap.RoundTripper, idleTime time.Duration) soap.RoundTripper
- func KeepAliveHandler(roundTripper soap.RoundTripper, idleTime time.Duration, ...) soap.RoundTripper
- type Manager
- func (sm *Manager) AcquireGenericServiceTicket(ctx context.Context, spec types.BaseSessionManagerServiceRequestSpec) (*types.SessionManagerGenericServiceTicket, error)
- func (sm *Manager) AcquireLocalTicket(ctx context.Context, userName string) (*types.SessionManagerLocalTicket, error)
- func (sm *Manager) Login(ctx context.Context, u *url.Userinfo) error
- func (sm *Manager) LoginExtensionByCertificate(ctx context.Context, key string, locale string) error
- func (sm *Manager) Logout(ctx context.Context) error
- func (sm Manager) Reference() types.ManagedObjectReference
- func (sm *Manager) SessionIsActive(ctx context.Context) (bool, error)
- func (sm *Manager) TerminateSession(ctx context.Context, sessionId []string) error
- func (sm *Manager) UserSession(ctx context.Context) (*types.UserSession, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func KeepAlive ¶
func KeepAlive(roundTripper soap.RoundTripper, idleTime time.Duration) soap.RoundTripper
KeepAlive wraps the specified soap.RoundTripper and executes a meaningless API request in the background after the RoundTripper has been idle for the specified amount of idle time. The keep alive process only starts once a user logs in and runs until the user logs out again.
func KeepAliveHandler ¶ added in v0.3.0
func KeepAliveHandler(roundTripper soap.RoundTripper, idleTime time.Duration, handler func(soap.RoundTripper) error) soap.RoundTripper
KeepAliveHandler works as KeepAlive() does, but the handler param can decide how to handle errors. For example, if connectivity to ESX/VC is down long enough for a session to expire, a handler can choose to Login() on a types.NotAuthenticated error. If handler returns non-nil, the keep alive go routine will be stopped.
Types ¶
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
func NewManager ¶
func (*Manager) AcquireGenericServiceTicket ¶ added in v0.3.0
func (sm *Manager) AcquireGenericServiceTicket(ctx context.Context, spec types.BaseSessionManagerServiceRequestSpec) (*types.SessionManagerGenericServiceTicket, error)
func (*Manager) AcquireLocalTicket ¶ added in v0.8.0
func (*Manager) LoginExtensionByCertificate ¶ added in v0.3.0
func (Manager) Reference ¶
func (sm Manager) Reference() types.ManagedObjectReference
func (*Manager) SessionIsActive ¶
SessionIsActive checks whether the session that was created at login is still valid. This function only works against vCenter.
func (*Manager) TerminateSession ¶ added in v0.3.0
func (*Manager) UserSession ¶
UserSession retrieves and returns the SessionManager's CurrentSession field. Nil is returned if the session is not authenticated.